20-10-2020, 06:59
Witam,
staram się nauczyć zastępować delay czasem.
Niestety utknąłem na wykorzystaniu gotowej biblioteki timers polskiego autorstwa https://starter-kit.nettigo.pl/2016/04/b...rs-16-4-0/
Chcę zacząć odliczanie czasu, ale dopiero po spełnieniu warunku. Niestety to nie działa.
Mój stary umysł już chyba nie pojmuje zasad działania języka C. W tutorialach ustawienie startu czasu ma miejsce w funkcji setup, ale mi zależy nam tym, aby stoper odmierzał czas od pojawienia się przedmiotu przed czujnikiem.
Próbowałem podobnie robić z funkcją milis, ale efekt podobny.
staram się nauczyć zastępować delay czasem.
Niestety utknąłem na wykorzystaniu gotowej biblioteki timers polskiego autorstwa https://starter-kit.nettigo.pl/2016/04/b...rs-16-4-0/
Chcę zacząć odliczanie czasu, ale dopiero po spełnieniu warunku. Niestety to nie działa.
Kod:
#include <Timers.h>
Timer mojTimer;
void setup() {
Serial.begin(9600); // testowe uruchomienie logów
pinMode(2, INPUT); // czujnik optyczny (1 - brak przedmiotu, 0 - jest przedmiot w polu widzenia)
}
void loop() {
if (!digitalRead) {
mojTimer.begin(3000);
v1= 1;
}
if (v1 && mojTimer.available()) {
Serial.println("brawo, minelo 500 ms od pojawienia się obiektu");
v1 = 0;
}
}
Mój stary umysł już chyba nie pojmuje zasad działania języka C. W tutorialach ustawienie startu czasu ma miejsce w funkcji setup, ale mi zależy nam tym, aby stoper odmierzał czas od pojawienia się przedmiotu przed czujnikiem.
Próbowałem podobnie robić z funkcją milis, ale efekt podobny.