Arduino Polska Forum
Millis zamiast delay - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica)
+--- Wątek: Millis zamiast delay (/watek-millis-zamiast-delay)



Millis zamiast delay - Andrzej9119 - 15-07-2017

Witam , mam problem odnośnie zrozumieniem pewnej komendy ; mianowicie- millis () 
 Zamysł projektu ogólne opiera się, aby program zliczzliczał wwciśniecia przycisku , oraz odpowiednio rreagował na tę zmienną . Czyli 
jeżeli  ( liczba kliknięć = x ) {zrób y }

Już mam ogarnięte Miganie diody za pomocą millis :

Kod:
Int czasDrugi=0;
Int opoznienie =1000;
Unsigned long czas;
Boolean stan = LOW ;

Void setup  () {
pinMode  (4, OUTPUT )
}

Void loop {
Stan=!stan;
Czas= millis ();
If ( czas - czasDrugi >= opoznienie){

CzasDrugi = czas ;
DigitalWrite  (4, stan );}
}
 A co przypadku jeżeli chciałbym uzyskać efekt " przeskakujacej " diody przy pomocy millis ()?  
 
- ten program  nie jest sprawdzony na komputerze,  czy dokładnie działa,  ponieważ był pisany z pamieci odręcznie.  Ogólny zamysł mysle , że został  poprawnie przedstawiony .


RE: Millis zamiast delay - Smaczek - 16-07-2017

Witam,
Można cokolwiek pomóc ale trzeba się odnieść do skompilowanego programu, a nie takiego "z głowy".
Kod, który zamiesciles jest chaotyczny i z błędami.
Pozdrawiam,
Tomek.


RE: Millis zamiast delay - Andrzej9119 - 16-07-2017

(16-07-2017, 07:09)Smaczek napisał(a): Witam,
Można cokolwiek pomóc ale trzeba się odnieść do skompilowanego programu, a nie takiego "z głowy".
Kod, który zamiesciles jest chaotyczny i z błędami.
Pozdrawiam,
Tomek.

Faktycznie jest w jakimś stopniu chaotyczny.  Czyli twoim zdaniem napisanie takiego kodu , jaki mialem zamysł byłby zbytnio skomplikowany?


RE: Millis zamiast delay - Smaczek - 16-07-2017

Witam,
Zrealizowanie Twojego zamysłu jest jednym z najprostszych zadań programistycznych. Generalnie, gdyby nie drgania styków wylacznika to zwłoki czasowe byłby zbędne. Poza tym trudno się odnosić do programu, który się nie skompiluje.
Pozdrawiam,
Tomek


RE: Millis zamiast delay - ferdricco - 12-08-2017

Hej. Spójrz na przykład: Blink Without Delay. Przeanalizuj go kilkukrotnie a jak już go zrozumiesz to dalej poradzisz sobie sam. Kiedyś sam miałem problem z millis więc zaczołem od podstaw a teraz często korzystam z tej funkcji. Inne rozwiązanie jest takie że ktoś za ciebie napisze ten kod a ty będziesz miał jeszcze większy problem w zrozumieniu millis.