Domowy projekt oparty na Arduino – odliczanie czasu pomaga w precyzyjnym konfigurowaniu urządzeń

Wykonywanie zaprogramowanych wcześniej zadań wymaga egzekwowania poleceń z dokładnością co do jednej sekundy. Dlatego też warto wdrażać w swoich projektach opartych o Arduino odliczanie czasu.

 

Sygnał przerwania

Jednym z poleceń, które może wykonać płytka rozwojowa jest tak zwana Obsługa Przerwania. To nic innego jak natychmiastowe i całkowite zatrzymanie danego zadania. Polecenie przerwania ma wysoki priorytet, dzięki czemu plasowane jest na szczycie czynności wykonywanych przez Arduino. Odliczanie czasu w tym przypadku stosowane jest do precyzyjnego określenia, kiedy funkcja przerwania zostanie aktywowana.

Przerwanie może być również uruchomione poprzez sygnał oznajmiający zmianę pozycji pinu minikomputera lub przez wewnętrzny stoper Arduino. Jest to szczególnie przydatne, jeśli do płytki rozwojowej zostaną podłączone zewnętrzne czujniki bądź sensory. W efekcie sygnał przerwania będzie mógł być generowany nie tylko po osiągnięciu zadanego czasu, lecz także w przypadku wykrycia zakodowanego zdarzenia. Przykładowo może być to aktywacja siłownika śrubowego, który po wykryciu przez minikomputer Arduino zadanej temperatury otworzy termostat, w celu obniżenia wychłodzenia danego urządzenia.

 

Co jest efektem aktywowania funkcji przerwania?

Po wykonaniu przerwania następuje wcześniej zaprogramowana akcja. Można ją niemal dowolnie określać i modyfikować przy pomocy języka programowania obsługiwanego przez Arduino. Odliczanie czasu po zakończeniu danego okresu aktywuje zakodowaną funkcję.

Czas może być określany w oparciu o różne jednostki. W zależności od potrzeb danego projektu można odliczać go w postaci sekund, a nawet milisekund, do czego służy tak zwana funkcja „millis()”.

 

Jakie jeszcze możliwości zapewnia odliczanie czasu?

Robotyka to jedno z popularnych zastosowań, w jakich wykorzystywany jest minikomputer Arduino. Odliczanie czasu może w takim przypadku posłużyć do sterowania poszczególnymi kończynami droida, w którym została zamontowana płytka rozwojowa. Przykładowo, w oparciu o ustalony wcześniej harmonogram, nogi robota mogą naprzemiennie się poruszać, umożliwiając tym samym wydajne kroczenie po płaskim podłożu.

Zaletą takiego rozwiązania jest możliwość zaprogramowania stosunkowo prostej logiki, która będzie pełnić nadzór nad całym minikomputerem Arduino. Odliczanie czasu posłuży wtedy do synchronicznego sterowania serwomotorami, których aktywacja będzie napędzać siłowniki liniowe. Dzięki temu programista nie musi opracowywać długiego kodu, a zaoszczędzony w ten sposób czas może przeznaczyć na ważniejsze dla niego sprawy.

 

Arduino – odliczanie czasu można ręcznie resetować

W przypadku wystąpienia niepożądanego sygnału przerwania można go zresetować poprzez podłączenie do niego przycisku sterującego i jego aktywację. Warto tutaj dodać funkcję “reset()” wraz z przywołaniem „AttachInterrupt()”.