Arduino: software do zderzaków – przerwania

Zmodyfikowana wersja softu ze zderzakami – tym razem użyłem przerwań i w przypadku kliknięcia przeszkody – w przerwaniu zmieniam pomocniczą zmienną informującą o konieczności cofnięcia i zmiany kierunku ruchu. Działa nieźle.

Poprzednia wersja softu prowadziła pojazd w danym kierunku z wykorzystaniem funkcji delay(ileś-tam), a dopiero potem sprawdzała przyciski (mikrostyki) – to powodowało, że gdy zderzenie nastąpiło w czasie jazdy, to takie zdarzenie mogło nie być zarejestrowane (nie zawsze się zdarzało, że przycisk pozostawał wciśnięty po zakończenia delay). Tutaj rozwiązałem to za pomocą dwóch przerwań… wiem – za dużo, już w głowie mam lepszy algorytm, bez przerwań, ale to w następnym odcinku.

Dla bardziej dociekliwych:

(w przypadku Arduino UNO przerwania tylko dla pinów 2 i 3), dalej:

to w setup()ie,

a dwie funkcje turn_left() i turn_right() zmieniają pomocnicze zmienne nakazujące zmianę kierunku ruchu (w funkcji loop).

 

Ten wpis został opublikowany w kategorii FiBot. Dodaj zakładkę do bezpośredniego odnośnika.