Wróć do informacji o e-podręczniku Udostępnij materiał Wydrukuj

Arduino IDE

Arduino IDEArduino IDEArduino IDE jest oprogramowaniem współpracującym z płytkami Arduino, niezbędnym do pisania szkiców (programów) wykonywanych później przez mikrokontroler. Przed przystąpieniem do pisania pierwszego szkicu zapoznajmy się zatem z interfejsem Arduino IDE.

RxJwiP09lJvsB1

Do elementów interfejsu zaliczamy:

  1. Główne menu służące do obsługi programu.

  2. Przycisk Zweryfikuj, służący do sprawdzenia poprawności kodu.

  3. Przycisk Wgraj, służący do wysłania szkicu do płytki Arduino.

  4. Kolejne przyciski: Nowy, Otwórz, Zapisz, służące odpowiednio do tworzenia nowego szkicu, otwierania wcześniej zapisanego szkicu oraz zapisywania bieżącego szkicu.

  5. Przycisk Monitor portu szeregowego. Wykorzystuje się go bardzo często, a służy do otwarcia okna umożliwiającego komunikację między komputerem a płytką Arduino.

W środkowej części okna Arduino IDE znajduje się obszar, w którym wpisujemy kod programu (szkicu). U dołu wyświetlane są informacje o przebiegu kompilacji, ewentualnych błędach lub komunikat o prawidłowym wysłaniu szkicu do płytki Arduino.

Podłączenie płytki do komputera

Aby podłączyć płytkę Arduino Uno do komputera, użyjemy przewodu USB typu A‑B. Jest to tzw. przewód drukarkowy, z jednej strony zakończony złączem USB typu A, a z drugiej złączem USB typu B. Do płytki wpinamy końcówkę typu B, a do komputera „zwykłą” końcówkę USB.

R1XXmcJ6VbtR8
Ważne!

Przed podłączeniem płytki Arduino do komputera należy upewnić się, że spoczywa ona na podłożu nieprzewodzącym prądu elektrycznego.

Jeśli płytka jest nowa, to w pamięci mikrokontrolera powinien już znajdować się program, który na przemian włącza i wyłącza diodę LED, czyli diodę podpiętą do pinu 13. Dzięki temu od razu po zakupie płytki można sprawdzić, czy jest ona sprawna.

Rne9l8s7xzIUf
Film nawiązujący do treści materiału

Pierwszy szkic

Jeżeli po podłączeniu płytki do komputera dioda LED nie miga, nie oznacza to, że płytka jest uszkodzona. Możliwe, że płytka była już używana przez inną osobę i wgrany jest inny program.

Aby dowiedzieć się, czy płytka jest w pełni sprawna, wgrajmy na nią szkic Blink, który znajdziemy wśród przykładowych programów dostarczonych wraz z pakietem Arduino IDE. Najpierw jednak musimy poinformować oprogramowanie, z której płytki Arduino korzystamy, i do którego portu jest ona podłączona. W tym celu:

1. Uruchamiamy program Arduino IDE.

2. W menu programu wydajemy polecenie Narzędzia | Płytka i wybieramy płytkę, z której korzystamy (w naszym przypadku jest nią Arduino Uno).

RufjUcDhK3KT9

3. Ponownie klikamy Narzędzia i wskazujemy Port, który ma obsługiwać płytkę. Powinien to być port szeregowy. Korzystamy z portu COM3, więc właśnie jego symbol zaznaczamy. Jeżeli mamy do dyspozycji więcej portów, można sprawdzić po kolei, który z nich jest właściwy (lub skorzystać z Menedżera urządzeń systemu Windows). Jeżeli wybierzemy nieprawidłowy port, nic złego się nie stanie – po prostu szkic nie zostanie wysłany do płytki.

R8Q4fu8mYW0s6

4. Wczytajmy szkic odpowiedzialny za miganie diody. W menu Plik klikamy Przykłady, wybieramy Basicsi wskazujemy program Blink.

RdKHfGJc6qYTZ

5. Szkic zostaje załadowany. Kod programu zostaje odpowiednio pokolorowany. Aby uruchomić szkic, klikamy przycisk Wgraj oznaczający przesłanie programu do mikrokontrolera.

W dolnej części okna pojawiają się informacje o kompilacjikompilacja kompilacji, czyli przetwarzaniu kodu źródłowego na wynikowy. W szkicu Blink znajdują się polecenia nakazujące włączać i wyłączać diodę podłączoną do pinu 13.

Jeżeli w szkicu znajduje się jakikolwiek błąd, przetwarzanie kodu zostaje zatrzymane; Arduino IDE wyświetla wówczas całą wadliwą linię programu. Posłużymy się przykładem: usuniemy średnik z linii pinMode(LED_BUILTIN, OUTPUT). Po wydaniu komendy Wgraj szkic nie zostanie skompilowany, lecz pojawia się informacja, że brakuje średnika oznaczającego zakończenie instrukcji. Po skorygowaniu błędnej linii i ponownym uruchomieniu procesu kompilacji otrzymamy już tylko informacje dotyczące szkicu, a kod wynikowy znajdzie się w pamięci mikrokontrolera.

R1ihasaUpcley

Zwróć uwagę, że podczas przesyłania szkicu do płytki Arduino migają diody RX i TX odpowiedzialne za sygnalizowanie transmisji danych.

Zauważ ponadto, że elementy składające się na kod programu Blink mają różne kolory. Automatyczne kolorowanie kodu jest dużym ułatwieniem podczas tworzenia własnych szkiców. Jeżeli wpiszemy ciąg znaków, który ma oznaczać nazwę funkcji, ale nie zmieni on koloru na czerwony, to otrzymujemy informację, że popełniliśmy jakiś błąd. Podobnie jest w innych przypadkach – przykładowo, komentarze do kodu (podawane po dwóch ukośnikach lub między znakami /* oraz  */) mają kolor szary.

Pisząc własne szkice musimy pamiętać o zachowaniu odpowiedniej składni. Oznacza to na przykład, że funkcja powinna mieć następującą budowę:

typ_funkcji nazwa_funkcji (argumenty) 
{ciało_funkcji}

Dodatkowo każdą instrukcję w ciele funkcji (jej treści) należy zakończyć znakiem średnika.

Podstawy pisania kodu

Przeanalizujmy kod programu Blink (aby był on bardziej czytelny, usunęliśmy komentarze):

void setup() {
	pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
	digitalWrite(LED_BUILTIN, HIGH);
	delay(1000);
	digitalWrite(LED_BUILTIN, LOW);
	delay(1000);
}

Każdy szkic musi składać się z dwóch podstawowych elementów:

  1. Z funkcji setup(), w której ciele umieszczamy instrukcje wykonywane przez program tylko raz – przykładowo, ustalamy że pin numer 13 (LED_BUILTIN) jest pinem wyjściowym.

  2. Z funkcji loop(). Zapisane wewnątrz niej instrukcje będą wykonywane jedna po drugiej w nieskończoność, o ile ktoś nie przerwie działania programu lub nie odłączy płytce zasilania.

W przypadku programu Blink wewnątrz funkcji setup() zadeklarowano, że pin 13., któremu przypisana jest zmienna globalnej LED_BUILTIN, ma być wyjściem.

Następnie, w ciele funkcji loop(), za pomocą instrukcji digitalWrite ustawiono stan pinu 13. na wysoki (HIGH). Funkcja delay() wstrzymuje na pewien czas wykonywanie dalszej części kodu. To, ile taka  przerwa ma trwać, podaje się jako argument. Zapis delay(1000) oznacza zatrzymanie wykonywania kodu na 1 sekundę (czas podawany jest w milisekundach).

Następnym etapem jest ustawienie stan pinu 13. na niski (LOW), czyli wyłączenie diody LED. Po upływie kolejnej sekundy cała sekwencja poleceń jest wykonywana od początku – jak wspomnieliśmy, funkcja loop() działa w nieskończoność.

Ważne!

Stan wysoki (HIGH*) w środowisku Arduino oznacza, że na wybrany pin podajemy napięcie 5 V. Stanowi niskiemu (LOW) odpowiada z kolei napięcie 0 V.

Jak możemy zaobserwować, program Blink rzeczywiście włącza diodę na jedną sekundę, a następnie wyłącza na kolejną sekundę.

Spróbujmy zmodyfikować kod tak, aby dioda świeciła 3 sekundy, a następnie gasła na 2 sekundy. Oczywiście musimy w tym celu zmodyfikować argument przekazywany funkcji delay(). Poprawiony kod wygląda następująco:

void setup() {
	pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
	digitalWrite(LED_BUILTIN, HIGH);
	delay(3000);
	digitalWrite(LED_BUILTIN, LOW);   
	delay(2000);
}

Wgraj kod do pamięci mikrokontrolera i i sprawdź, czy program działa poprawnie.

Słownik

Arduino IDE
Arduino IDE

(ang. Integrated Development Environment) zintegrowane środowisko programistyczne, służące do pisania szkiców (programów) przesyłanych do pamięci mikrokontrolera zamontowanego na płytce Arduino

kompilacja
kompilacja

wykonywane przez kompilator tłumaczenie kodu źródłowego na kod maszynowy