Robot „Orangutan” – budowa krok po kroku
Wgrywanie oprogramowania
Jeśli nasz kod jest już gotowy, to musimy go skompilować. W środowisku Atmel Studio 6 dokonuje się tego wybierając zakładkę Build -> Build Solution lub naciskajac przycisk F7. Na dole okna zaczną pojawiać się komunikaty. Jeśli na końcu kompilacji wyświetli nam się informacja
„========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========”, to wszystko jest w porządku. W przeciwnym wypadku musimy prześledzić wyświetlone błędy, poprawić je i spróbować ponownie.
Podczas kompilacji tworzy się specjalny plik, który możemy wgrać do naszego mikrokontrolera. Aby to zrobić, potrzebujemy zaopatrzeć się w urządzenie zwane programatorem. Istnieją różne rodzaje, kilka z nich podałem na początku artykułu. Każdy posiada nieco inne ustawienia – jedne są obsługiwane bezpośrednio z Atmel Studio 6, inne wymagają dodatkowej aplikacji – szczegóły można znaleźć w instrukcjach producentów. Po skonfigurowaniu programatora, wgrywamy plik, który tworzy się w katalogu Debug naszego projektu i ma rozszerzenie .hex. Sposób podłączenia programatora do płytki sterownika wyjaśnia poniższy rysunek:
Należy pamiętać, że robot musi być włączony w trakcie programowania – włącza się go jednym z przycisków pod wyświetlaczem. Jeśli wcześniej wgrywaliśmy jakiś kod, to warto ustawić podwozie na jakiejś podpórce – na wypadek, gdyby silniki zaczęły się obracać.
Po poprawnym skompilowaniu i wgraniu oprogramowania, robot powinien jechać przed siebie, próbować ominąć przeszkodę w dużej odległości, a w przypadku gdyby nie zdążył – zatrzymać się, rozejrzeć i wybrać bezkolizyjną trasę. Podany wwcześniej program jest odpowiedzialny za zachowanie widoczne w filmie, na początku artykułu. Gdy już nasza konstrukcja zacznie się poruszać i zachowywać w przewidziany sposób, nic nie stoi na przeszkodzie, by napisać program od zera, wprowadzić własne poprawki lub kompletnie zmienić koncepcję i np. wprowadzić czynnik losowy (np. wykorzystując funkcję rand() przy podejmowaniu decyzji). Można także wykorzystać zintegrowany ze sterownikiem buzzer i funkcję play_note(), dając robotowi opcję „komunikacji” werbanej, np. w sposób podobny do R2D2 z filmu „Gwiezdne Wojny”. Możliwości jest wiele, na pewno po ukończeniu budowy każdy będzie miał własne pomysły. Powodzenia!


Frameworki webowe: jak dobrać technologię do skalowalnej strony internetowej
Outsourcing inżynierów – jak skalować kompetencje techniczne bez zwiększania stałych kosztów?
W kierunku inteligentniejszych silników predystorsji cyfrowej: podejście oparte na sieciach neuronowych 


![https://www.youtube.com/watch?v=kmvM5hVSzCM Piata już edycja konferencji Hardware Design Masterclasses dla elektroników zaskoczyła frekwencją, tym bardziej, że spotkanie było dwudniowe. Film jest krótką relacją z wydarzenia, bazującą na wypowiedziach prelegentów. [materiał redakcyjny] Zapraszamy do obejrzenia!](https://mikrokontroler.pl/wp-content/uploads/2026/01/Rafal-tytulowe.png)

