Witam! Nie jestem mocny w AVR, popełniłem kilka rzeczy generalnie na poziomie migania diodami LED (mam na myśli pisanie własnego kodu). Używam AVR C.
Tym razem obiecałem zrobić inteligentną lampkę rowerową LED, włączającą się po ruszeniu rowerem, i podtrzymującą światło przez ok. 3 minuty w razie bezruchu. Impulsy aktywujące wezmę albo z kontraktonu licznika rowerowego, albo z czujnika wibracji (wtedy wszystko będzie na jednym PCB). Algorytm polega na tym, żeby po 1 (lub 2 impulsach) Attiny13 włączał LED'a na ok. 3 minuty (i to umiem zaprogramować), ale... jeżeli rower jedzie, na wejściu będą się co jakiś czas pojawiały kolejne impulsy, które za każdym razie powinny ustawić od nowa 3 minuty zwłoki. I tu już mam pewien kłopot, obsługa przerwań nie jest jeszcze dla mnie intuicyjna. Wiem, że to pewnie banalny kod, jednak proszę o jakiś link do przykładów. Czy w ogóle da się taką funkcję zaprogramować bez obsługi przerwań?
Tym razem obiecałem zrobić inteligentną lampkę rowerową LED, włączającą się po ruszeniu rowerem, i podtrzymującą światło przez ok. 3 minuty w razie bezruchu. Impulsy aktywujące wezmę albo z kontraktonu licznika rowerowego, albo z czujnika wibracji (wtedy wszystko będzie na jednym PCB). Algorytm polega na tym, żeby po 1 (lub 2 impulsach) Attiny13 włączał LED'a na ok. 3 minuty (i to umiem zaprogramować), ale... jeżeli rower jedzie, na wejściu będą się co jakiś czas pojawiały kolejne impulsy, które za każdym razie powinny ustawić od nowa 3 minuty zwłoki. I tu już mam pewien kłopot, obsługa przerwań nie jest jeszcze dla mnie intuicyjna. Wiem, że to pewnie banalny kod, jednak proszę o jakiś link do przykładów. Czy w ogóle da się taką funkcję zaprogramować bez obsługi przerwań?
