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:
Główne menu służące do obsługi programu.
Przycisk Zweryfikuj, służący do sprawdzenia poprawności kodu.
Przycisk Wgraj, służący do wysłania szkicu do płytki Arduino.
Kolejne przyciski: Nowy, Otwórz, Zapisz, służące odpowiednio do tworzenia nowego szkicu, otwierania wcześniej zapisanego szkicu oraz zapisywania bieżącego szkicu.
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
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:
Uruchamiamy program Arduino IDE.
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
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
Wczytajmy szkic odpowiedzialny za miganie diody. W menu Plik klikamy Przykłady, wybieramy Basics i 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ę:
Linia 1. typ podkreślnik funkcji nazwa podkreślnik funkcji otwórz nawias okrągły argumenty zamknij nawias okrągły.
Linia 2. otwórz nawias klamrowy ciało podkreślnik funkcji zamknij nawias klamrowy.
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):
Linia 1. void setup otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 2. pinMode otwórz nawias okrągły LED podkreślnik BUILTIN przecinek OUTPUT zamknij nawias okrągły średnik.
Linia 3. zamknij nawias klamrowy.
Linia 5. void loop otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. digitalWrite otwórz nawias okrągły LED podkreślnik BUILTIN przecinek HIGH zamknij nawias okrągły średnik.
Linia 7. delay otwórz nawias okrągły 1000 zamknij nawias okrągły średnik.
Linia 8. digitalWrite otwórz nawias okrągły LED podkreślnik BUILTIN przecinek LOW zamknij nawias okrągły średnik.
Linia 9. delay otwórz nawias okrągły 1000 zamknij nawias okrągły średnik.
Linia 10. zamknij nawias klamrowy.
Każdy szkic musi składać się z dwóch podstawowych elementów:
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.
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ę.
Zróbmy teraz symulację programu Blink, za pomocą środowiska Tinkercad.
Na liście komponentów znajdującej się po prawej stronie okna, znajdź moduł Arduino Uno.
RPP10Gd6llsNZ
Najedź kursorem i kliknij na moduł lewym przyciskiem myszy. Następnie, przesuń moduł na środek okna i ponownie kliknij lewym przyciskiem myszy.
R16LefkNitZRV
W górnym menu kliknij na przycisk Kod. Spowoduje to wysunięcie okna edytora kodu.
R1FIpSQr7zz7A
Teraz musimy zmienić widok z kodu blokowego na kod tekstowy. Z listy rozwijanej wybierz Tekst.
Rbk9BcfQo8yQf
Podczas zmiany edytora kodu, wyskoczy powiadomienie czy na pewno chcemy zmienić edytor na tekstowy. Klikamy na Kontynuuj.
R4QxraVr4RQB6
Po zmianie widoku na edytor tekstowy, przechodzimy do wpisywania kodu. Wyczyść zawartość edytora i zacznij przepisywać kod programu Blink.
R1Lk48hHFcHid
Aby sprawdzić czy nasz program działa poprawnie, włączymy jego symulację. W górnym menu klikamy na przycisk Uruchom symulację.
Symulacja zachowuje się tak samo jak byśmy podpinali realne urządzenie. Czyli, kabel USB zostanie dołączony, tym samym nasz moduł Arduino zostanie zasilony (włączy się dioda ON Arduino Uno), a program który napisaliśmy zacznie się wykonywać. Dioda L Arduino Uno zacznie migać z częstotliwością co 1s.
ROwVKN3X0qNxJ
Film z działania programu w symulatorze.
RBKXKP7v59jnY
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:
Linia 1. void setup otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 2. pinMode otwórz nawias okrągły LED podkreślnik BUILTIN przecinek OUTPUT zamknij nawias okrągły średnik.
Linia 3. zamknij nawias klamrowy.
Linia 5. void loop otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. digitalWrite otwórz nawias okrągły LED podkreślnik BUILTIN przecinek HIGH zamknij nawias okrągły średnik.
Linia 7. delay otwórz nawias okrągły 3000 zamknij nawias okrągły średnik.
Linia 8. digitalWrite otwórz nawias okrągły LED podkreślnik BUILTIN przecinek LOW zamknij nawias okrągły średnik.
Linia 9. delay otwórz nawias okrągły 2000 zamknij nawias okrągły średnik.
Linia 10. zamknij nawias klamrowy.
Wgraj kod do pamięci mikrokontrolera i i sprawdź, czy program działa poprawnie.
Zmodyfikujmy nasz kod w symulatorze.
R3iJ2mu6eUK8R
Uruchom symulację i sprawdź jak teraz zachowa się dioda L.
Film z działania programu w symulatorze.
R7xis5zmiK79m
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