• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Millis zamiast delay
#1
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 .
 
Odpowiedź
#2
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.
 
Odpowiedź
#3
(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?
 
Odpowiedź
#4
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
 
Odpowiedź
#5
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.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości