logo

Jak zacząć z Arduino?

Zainteresowałeś się mikrokontrolerami? Nie wiesz z której strony ugryźć ten temat? To ta seria poradników i nie tylko jest właśnie dla ciebie! No ale od czego zacząć? Tak naprawdę możemy zacząć programować mikrokontrolery np. AVR w czystym języku C, ale na początek jest to znacznie bardziej skomplikowane niż użycie frameworku którym jest Arduino.

Czym jest Arduino?

Arduino to nie tylko otwarte środowisko programistyczne, framework oraz hardware, ale również cała społeczność wokół którą ten projekt zgromadził. Więc gdy napotkamy na jakiś problem z którym nie będziemy umieli sobie poradzić to mamy prawie pewność, że znajdziemy rozwiązanie tego problemu. Dzięki temu że jest społeczność wokół Arduino jest ogromna, nie będzie większego problemu żeby znaleźć bibliotekę by obsłużyć jakiś sprzęt np: wyświetlacz, termometr, czujnik odległości lub cokolwiek innego.

Co będzie potrzebne?

Na sam początek możemy zacząć naszą zabawę od symulatorów, jednym z nich jest symulator tinkercad który jest dostępny przez przeglądarkę. Lecz symulator nie da nam tej frajdy jaką daje realny sprzęt, że coś działa, coś świeci, coś się rusza. Więc na początek musimy wybrać jakąkolwiek płytkę zawierającą mikrokontroler która będzie nam współpracować z środowiskiem Arduino, lub taką też możemy wykonać sami z gotowych elementów, ale do tego jest już potrzebna trochę większa wiedza.

Drugą rzeczą jest środowisko w którym będziemy mogli zaprogramować sobie nasz mikrokontroler. Na początek proponuję oficjalne środowisko, czyli Arduino IDE. Jest ono jest bardzo proste w obsłudze i udostępniane na licencji open-source, czyli oznacza to tyle że jest w 100% darmowe.

Do programowania w środowisku Arduino IDE używany jest język C przypominający bardzo C++ z wbudowanym frameworkiem Arduino. Więc na początek dobrze jest znać chociaż podstawy języka C/C++, dzięki czemu będzie nam łatwiej wejść w programowanie mikrokontrolerów. Osobiście mogę polecić kurs C++, który jest dostępny w serwisie YouTube na kanale "Pasja Informatyki".

Wybór pierwszej płytki

Wybór mamy dosyć duży, poza oryginalnymi płytkami Arduino mamy również tzw. klony Arduino. Lecz należy pamiętać że kupując oryginalne płytki wspieramy projekt Arduino i umożliwiamy jego dalszy rozwój, mimo to na początek lepiej jest wybrać tańszą alternatywę która będzie działać tak samo jak ta oryginalna, a w razie uszkodzenia (co niestety może się zdarzyć), będzie nam jej mniej szkoda niż tej oryginalnej. A gdy nam się spodoba zawsze możemy w późniejszym czasie kupić oryginalną płytkę i wesprzeć projekt Arduino.

Jedną z najprostszych i najlepszych płytek na początek jest płytka Arduino UNO. Doczekała się ona kilku wersji, różnią się kilkoma elementami ale wymiary płytki pozostają te same.

Oczywiście można również kupić ich klony:

Jest też mniejsza alternatywa dla płytki Arduino UNO czyli Arduino Nano. Różni się ona głównie tym że jest znacznie mniejsza i ma dodatkowo dwa wejścia analogowe. Oczywiście także znajdziemy ich tańsze odpowiedniki.

Ale to nie wszystko, bo są również płytki które są w prawdzie klonami ale nie 1:1. Jedną z lepszych propozycji na początek jest płytka produkowana przez firmę Cytron o nazwie Maker Uno która jest zgodna z Arduino, dodatkowo jest ona lepsza na początek ponieważ na pinach cyfrowych posiada zabezpieczenie które w większości przypadków uchroni mikrokontroler przed przypadkowym uszkodzeniem. Posiada ona również buzzer oraz diody led na części pinów cyfrowych, co na początek ułatwi nam zabawę z programowaniem jej (nie musimy podłączać na płytce stykowej osobno LEDów, tak jak w przypadku oryginalnej płytki Arduino Uno). Ale za to płytka ta nie posiada złącza DC, co za tym idzie jesteśmy zmuszeni zasilać ją z portu USB, choć na początku nie jest to żadnym problemem, ponieważ i tak na początku będziemy z takiej metody zasilania korzystać (jest ona najprostsza i najbezpieczniejsza).

Również dobrą alternatywą jest zestaw 10-ciu modułów od firmy Seeed Studio z płytką Seeeduino Lotus. Większośc modułów na niej da się obsługiwać podpinająć jedynie zestaw kablem micro USB do komputera. (W tym przypadku może być konieczna instalacja sterownika do modułu CP2102, który umożliwia programowanie mikrokontrolera).

Instalacja Arduino IDE

Dobrze więc sprzęt już mamy, więc teraz pozostało nam zainstalować środowisko w którym zaprogramujemy naszą płytkę z mikrokontrolerem. Musimy go pobrać ze strony Arduino (kliknij tutaj). I wybieramy odpowiednią dla nas wersję (w zależności od posiadanego systemu operacyjnego). Następnie gdy nie chcemy zostawić donate klikamy "JUST DOWNLOAD". Uruchamiamy instalator i akceptujemy licencję (Arduino IDE jest rozpowszechniane na licencji open source, oznacza to że jest w 100% darmowe).

Arduino IDE licencja

Tutaj nic nie ruszamy, i klikamy "Next >".

Arduino IDE opcje instalacji

Wybieramy ścieżkę gdzie chcemy zainstalować Arduino IDE, i klikamy "Install". Może to trochę potrwać.

Arduino IDE wybór ścieżki do instalacji

Po zakończonej instalacji programu klikamy "Close" aby zamknąć instalator. Podczas instalacji program może zapytać się nas czy chcemy zainstalować sterowniki, musimy je zainstalować w przeciwnym razie żadna płytka może nie zostać wykryta w systemie.

Arduino IDE zakończenie instalacji

Instalacja zakończona! :)

Pierwszy program

Jeśli mamy już swoją płytkę i mamy zainstalowane środowisko Arduino IDE możemy przejść do napisania swojego pierwszego programu. W tym celu uruchamiamy wcześniej zainstalowane Arduino IDE.

Arduino IDE uruchamianie

Po uruchomieniu powinniśmy mieć okno jak poniżej. Jeżeli mamy system operacyjny w języku polskim to prawdopodobnie środowisko powinno być spolszczone.

Arduino IDE po uruchomieniu

Na początku polecam wejść w Plik>Preferencje i włączyć numerowanie linii. Ułatwi na to odnalezienie się w kodzie.

Arduino IDE Plik>Preferencje Arduino IDE włączenie numeracji linii

Możemy teraz wybrać swoją płytkę w tym celu klikamy Narzędzia>Płytka>Arduino AVR Boards>Arduino Uno (lub inną posiadaną, nie ważne czy jest o oryginalne arduino czy też klon).

Arduino IDE wybór płytki

Możemy teraz wybrać przykład i wgrać go do mikrokontrolera. W tym celu wchodzimy w Plik>Przykłady>0.1Basics>Blink. Otworzy nam się już gotowy program do wgrania. Program będzie mrugał wbudowaną w płytkę diodą (co i jak w programie omówię w dalszej części tego poradnika).

Arduino IDE wybór przykładu blink

Podłączany naszą płytkę i wybieramy port na którym zgłosiła się nasza płytka do komputera. U mnie jest to port COM6. W oryginalnych płytkach Arduino oraz niektórych klonach, obok nazwy portu pojawi się nazwa podłączonej płytki.

Jeżeli modyfikujemy nasz program można go najpierw zweryfikować, by sprawdzić czy nasz program jest poprawnie napisany. Jeżeli wszystko będzie w porządku na dolnej belce pojawi się komunikat "Kompilacja zakończona".

Arduino IDE weryfikacja programu

Teraz już możemy wgrać nasz program. W tym celu należy nacisnąć przycisk z strzałką. Po tym program zostanie skompilowany i jeśli wszystko będzie ok, wgrany do mikrokontrolera.

Arduino IDE wgrywanie programu

Gdy wszystko się powiedzie, na dolnej belce powinien widnieć napis "Ładowanie zakończone", a wbudowana w płytkę dioda powinna zacząć migać. Jeżeli program z jakiegoś powodu nie chciał się wgrać do mikrokontrolera, należy upewnić się czy wybraliśmy prawidłowy port komunikacyjny oraz prawidłową płytkę

Arduino IDE zakończono wgrywanie programu

Jedynie przy klonach (lub też oryginalnym) Arduino Nano może wystąpić błąd podczas wgrywania programu. Wtedy prawdopodobnie wystarczy zmienić w zakładce Narzędzia>Procesor na ATmega328P (Old Bootloader), lub ewentualnie przy innej wersji Arduino Nano (bądź klona) na ATmega168.

Arduino IDE wybór starego bootloadera lub procesora

Omówienie przykładowego programu

W programie mamy widoczne dwie funkcje setup() i loop(). Funkcja setup() wykonuje się tylko raz po uruchomieniu programu na mikrokontrolerze, natomiast funkcja loop() wykonuje się natychmiast po zakończeniu wykonywania funkcji setup() i wykonuje się w kółko aż do wyłączenia zasilania w mikrokontrolerze (lub do jego restartu, wtedy cały program zaczyna wykonywać się od nowa).

Arduino IDE wybór starego bootloadera lub procesora

Funkcja pinMode(pin, mode) umożliwia nam w łatwy sposób ustawić każdy pin cyfrowy w arduino na wejście lub wyjście. Jako pierwszy argument funkcji (pin) podajemy podajemy numer pinu którego chcemy ustawić, a jako drugi argument (mode) tryb pracy pinu (OUTPUT - wyjście, INPUT - wejście, INPUT_PULLUP - wejście z podciągnięciem do zasilania, przydatne w obsłudze m.in. przycisków).

Funkcja digitalWrite(pin, stan) umożliwia nam podanie na pin który jest ustawiony jako wyjściowy (OUTPUT) stanu niskiego (podanie napięcia 0V czyli masy) lub wysokiego(podanie napięcia zasilania). Jako pierwszy argument (pin) podajemy numer pinu którego stan chcemy ustawić, jako drugi argument (stan) wpisujemy LOW (stan niski) lub HIGH (stan wysoki). LOW i HIGH możemy odpowiednio zastąpić wartością 0/false lub 1/true. Równie dobrze jako drugi argument możemy podać wartość jakiejś zmiennej.

Funkcja delay(time) opóźnia działanie programu na konkretny czas. Funkcja ta przyjmuje jeden parametr (time) jest nim czas podany w milisekundach (1s = 1000ms).


Dziękuję za przeczytanie artykułu. :)