Domyślnie środowisko Arduino jest wyposażone w zestaw bibliotek napisanych w języku C++, których zadaniem jest szybsze tworzenie programów. Uzyskuje się to przez wykorzystanie warstwy wyższego rzędu, która niweluje konieczność zapoznania się z rejestrami mikrokontrolera i pracy na nich. Utworzono szereg gotowych funkcji i bibliotek, które dostarczają użytkownikowi gotowych funkcji do operowania sygnałami wejściowi/wyjściowymi, kanałami ADC, przerwaniami itd. Dokładny opis tych funkcji można znaleźć na stronie Arduino.

 

Programowanie w języku C

Czasem jednak dla osób dopiero zaczynających swoją przygodę z programowaniem mikrokontrolerów, wykorzystanie gotowych funkcji nie jest dobra formą startu. Dlatego też, powstaje konieczność rozpoczęcia nauki programowania przez otworzenie dokumentacji mikrokontrolera i zapoznanie się z jego rejestrami. Jak przez ostawianie 0 i 1 na odpowiednich pozycjach w rejestracjach można ustawiać stany pinów, generować sygnał PWM, czy uruchamiać przerwania. W tym celu można napisać program w czystym języku C bezpośrednio w środowisku Ardunio. Taki program kompilujemy jak każdy inny i wgrywamy bez żadnych komplikacji. Poniżej przedstawiono przykładowy kod programu, który mruga diodą LED na płytce Arduino Nano podłączoną do pinu ,,PB5”:

 

 

Programowanie w języku Asembler

Dla bardziej zaawansowanych programistów, którzy chcą poznać dokładnie jak działa mikrokontroler, bez ufania na zabiegi jakie poczyni kompilator np. języka C. Jak również poznać tajniki ustawiania rejestrów, zarządza stosem pamięci, kontrolowania przepływu zmiennych w pamięć i wszystkie operacje na poziomie maszynowym. Warto zaprezentować język programowania Asembler. Środowisko Arduino umożliwiaj skompilowanie programu bezpośrednio napisanego w języku Asembler i załadowanie do płytki Arduino Nano. w tym celu należy wykonać poniższe kroki:

  1. utworzyć pusty folder z miejscem na nowy projekt, nazwijmy go ,,test”
  2. wchodzimy do utworzonego folderu i tworzymy plik projektu arduino, plik nazywamy ,,test.ino” – rozszerzenie pliku musi być ,,ino”, plik zostawiamy pusty
  3. tworzymy plik o nazwie ,,test.S”, rozszerzenie musi być ,,S”. W tym pliku piszemy program w języku asembler
  4. tak przygotowany projekt, możemy uruchomić w środowisku Arduino, skompilować i wgrać do mikrokontrolera

Przykładowy program w języku asembler przedstawiono poniżej (program mruga diodą LED na płytce Arduino Nano podłączoną do pinu ,,PB5”):

 

 

Programowanie w języku C++ z wykorzystaniem systemu Arduino:

Uruchamiamy środowisko Arduino i z menu wybieramy ,,Plik -> Nowy”. Oprogramowanie Arduino automatycznie utworzy nam nowy projekt i utworzy pusty szablon programu do którego należy wkleić kod przedstawiony poniżej (program mruga diodą LED na płytce Arduino Nano podłączoną do pinu ,,PB5”):

Programy w środowisku Arduino składają się z dwóch funkcji:

  • funkcja ,,void setup()” – funkcja uruchamiana raz po uruchomieniu mikrokontrolera lub jego restarcie. W jej środku należy dokonywać jednorazowych czynności polegających na konfiguracji peryferiów, ustawianiu wartości zmiennych itd.
  • funkcja ,,void loop()” – funkcja wywoływana cyklicznie, tutaj piszemy właściwy kod programu

Funkcje te można porównać do klasycznego programu w języku C jak na listingu poniżej: