Articles

wszystko, co musisz wiedzieć o kodzie Arduino Postcircuito teamMarch 11, 2018

od czasu uruchomienia platformy open-source Arduino, Marka ugruntowała się w centrum ekspansywnej społeczności open-source. Ekosystem Arduino składa się z różnorodnej kombinacji sprzętu i oprogramowania. Wszechstronność Arduino i jego prosty interfejs sprawia, że jest to wiodący wybór dla szerokiej gamy użytkowników na całym świecie, od hobbystów, projektantów i artystów po prototypy produktów.

Płyta Arduino jest podłączona do komputera przez USB, gdzie łączy się ze środowiskiem programistycznym Arduino (IDE). Użytkownik zapisuje kod Arduino w IDE, a następnie przesyła go do mikrokontrolera, który wykonuje kod, wchodząc w interakcje z wejściami i wyjściami, takimi jak czujniki, silniki i światła.

zarówno początkujący, jak i eksperci mają dostęp do bogactwa darmowych zasobów i materiałów, aby je wspierać. Użytkownicy mogą szukać informacji o tym, jak skonfigurować swoją tablicę, a nawet jak kodować na Arduino. Open source za Arduino uczynił go szczególnie przyjazny dla nowych i doświadczonych użytkowników. Istnieją tysiące przykładów kodu Arduino dostępnych online. W tym poście omówimy kilka podstawowych zasad kodowania dla Arduino.

Zaplanuj swój następny projekt Arduino>>

środowisko kodowania Arduino i podstawowe narzędzia

Co to jest język Arduino?

kod Arduino jest napisany w C++ z dodatkiem specjalnych metod i funkcji, o których wspomnimy później. C++ jest językiem programowania czytelnym dla człowieka. Podczas tworzenia „szkicu” (nazwa nadana plikom kodu Arduino) jest on przetwarzany i kompilowany do języka maszynowego.

Arduino IDE

Arduino Integrated Development Environment (IDE) jest głównym programem do edycji tekstu używanym do programowania Arduino. To tam będziesz wpisywał swój kod przed przesłaniem go na planszę, którą chcesz zaprogramować. Kodeks Arduino nazywany jest szkicami.

Uwaga: ważne jest, aby używać najnowszej wersji Arduino IDE. Od czasu do czasu sprawdzaj aktualizacje tutaj.

przykład kodu Arduino

jak widać, IDE ma minimalistyczny design. Na pasku menu znajduje się tylko 5 Nagłówków, a także szereg przycisków pod spodem, które pozwalają zweryfikować i przesłać szkice. Zasadniczo IDE tłumaczy i kompiluje szkice do kodu, który Arduino może zrozumieć. Po skompilowaniu kodu Arduino jest on następnie przesyłany do pamięci płyty.

wszystko, co użytkownik musi zrobić, aby rozpocząć kompilację szkicu, to nacisnąć przycisk (przewodnik po tym można znaleźć poniżej).

Jeśli w kodzie Arduino są jakieś błędy, zostanie wyświetlony komunikat ostrzegawczy z prośbą o wprowadzenie zmian. Większość nowych użytkowników często doświadcza trudności z kompilacją ze względu na rygorystyczne wymagania składniowe Arduino. Jeśli popełnisz jakiekolwiek błędy w interpunkcji podczas korzystania z Arduino, kod nie zostanie skompilowany i pojawi się komunikat o błędzie.

Monitor szeregowy i Ploter szeregowy

Monitor szeregowy Arduino można otworzyć, klikając ikonę lupy w prawym górnym rogu IDE lub w obszarze Narzędzia. Monitor szeregowy służy głównie do interakcji z płytą Arduino za pomocą komputera i jest doskonałym narzędziem do monitorowania i debugowania w czasie rzeczywistym. Aby korzystać z monitora, musisz użyć klasy szeregowej.

kod który pobierasz z circuito.io posiada sekcję testową, która pomaga przetestować każdy komponent za pomocą monitora szeregowego, jak widać na zrzucie ekranu poniżej:

Arduino serial plotter to kolejny składnik Arduino IDE, który pozwala na generowanie wykresu danych szeregowych w czasie rzeczywistym. Ploter szeregowy znacznie ułatwia analizę danych za pomocą wyświetlacza wizualnego. Możesz tworzyć wykresy, wykresy wartości ujemnych i przeprowadzać analizę przebiegu.

debugowanie kodu Arduino i sprzętu

w przeciwieństwie do innych platform programistycznych, Arduino nie ma wbudowanego debugera. Użytkownicy mogą korzystać z oprogramowania innych firm lub mogą wykorzystać Monitor szeregowy do drukowania aktywnych procesów Arduino do monitorowania i debugowania.

używając klasy Serial, możesz drukować na monitorze szeregowym, debugując komentarze i wartości zmiennych. W większości modeli Arduino będzie to używać pinów szeregowych 0 i 1, które są podłączone do portu USB.

struktura kodu

Biblioteki

w Arduino, podobnie jak w innych wiodących platformach programistycznych, istnieją wbudowane biblioteki, które zapewniają podstawową funkcjonalność. Ponadto możliwe jest importowanie innych bibliotek i rozszerzanie możliwości i funkcji Arduino board. Biblioteki te są z grubsza podzielone na biblioteki, które wchodzą w interakcje z określonym komponentem lub te, które implementują nowe funkcje.

aby zaimportować nową bibliotekę, musisz przejść do Sketch> Importuj bibliotekę

.plik ino, musisz użyć '# include’, aby dołączyć zewnętrzne biblioteki. Można również tworzyć własne biblioteki do wykorzystania w pojedynczych szkicach.

definicje pinów

aby używać pinów Arduino, musisz określić, który pin jest używany i jego funkcjonalność. Wygodnym sposobem na zdefiniowanie używanych pinów jest użycie:

'#define pinName pinNumber’.

funkcjonalność jest wejściowa lub wyjściowa i jest zdefiniowana przy użyciu metody pinMode () w sekcji setup.

deklaracje

zmienne

ilekroć używasz Arduino, musisz zadeklarować globalne zmienne i instancje, które będą używane później. W skrócie, zmienna pozwala nazwać i przechowywać wartość, która ma być używana w przyszłości. Na przykład dane uzyskane z czujnika można przechowywać w celu późniejszego wykorzystania. Aby zadeklarować zmienną, wystarczy zdefiniować jej typ, nazwę i wartość początkową.

warto wspomnieć, że deklarowanie zmiennych globalnych nie jest absolutną koniecznością. Wskazane jest jednak, aby zadeklarować swoje zmienne, aby ułatwić wykorzystanie wartości dalej w dół linii.

instancje

w programowaniu klasa jest zbiorem funkcji i zmiennych, które są przechowywane razem w jednym miejscu. Każda klasa ma specjalną funkcję znaną jako konstruktor, która jest używana do tworzenia instancji klasy. Aby użyć funkcji klasy, musimy zadeklarować dla niej instancję.

Setup ()

każdy szkic Arduino musi mieć funkcję setup. Ta funkcja definiuje początkowy stan Arduino po uruchomieniu i działa tylko raz.

tutaj zdefiniujemy następujące:

  1. funkcjonalność pinów przy użyciu funkcji pinMode
  2. początkowy stan pinów
  3. Inicjalizacja klas
  4. Inicjalizacja zmiennych
  5. logika kodu

Loop ()

funkcja loop jest również koniecznością dla każdego szkicu Arduino i wykonuje się po zakończeniu setup (). Jest to główna funkcja i jak sama nazwa wskazuje, działa w pętli w kółko. Pętla opisuje główną logikę twojego obwodu.

na przykład:

Uwaga: użycie terminu 'void’ oznacza, że funkcja nie zwraca żadnych wartości.

jak zaprogramować Arduino

podstawowa logika kodu Arduino jest strukturą „jeśli-to” i może być podzielona na 4 bloki:

Setup – zwykle będzie napisany w sekcji konfiguracji kodu Arduino i wykonuje rzeczy, które należy zrobić tylko raz, takie jak kalibracja czujnika.

Input – na początku pętli odczyt wejść. Wartości te będą używane jako warunki („if”), takie jak odczyt światła otoczenia z LDR za pomocą analogRead ().

manipuluj danymi-Ta sekcja służy do przekształcenia danych w wygodniejszą formę lub wykonywania obliczeń. Na przykład, AnalogRead() daje odczyt 0-1023, który można zmapować do zakresu 0-255 do użycia dla PWM.(patrz analogWrite ())

wyjście – Ta sekcja definiuje końcowy wynik logiki („then”) zgodnie z danymi obliczonymi w poprzednim kroku. Patrząc na nasz przykład LDR i PWM, włącz diodę LED tylko wtedy, gdy poziom światła otoczenia spadnie poniżej pewnego progu.

biblioteki kodu Arduino

struktura Biblioteki

biblioteka to folder składający się z plików z C++ (.cpp) pliki kodu i C++ (.H) pliki nagłówkowe.

plik H opisuje strukturę biblioteki i deklaruje wszystkie jej zmienne i funkcje.

plik cpp zawiera implementację funkcji.

Importowanie bibliotek

pierwszą rzeczą, którą musisz zrobić, to znaleźć bibliotekę, której chcesz użyć spośród wielu bibliotek dostępnych online. Po pobraniu go na komputer wystarczy otworzyć Arduino IDE i kliknąć szkic > Dołącz bibliotekę > Zarządzaj bibliotekami. Następnie możesz wybrać bibliotekę, którą chcesz zaimportować do IDE. Po zakończeniu procesu biblioteka będzie dostępna w menu szkic.

w kodzie podanym przez circuito.io zamiast dodawać zewnętrzne biblioteki, jak wspomniano wcześniej, udostępniamy im folder firmware. W tym przypadku IDE wie, jak je znaleźć podczas używania # include .

od oprogramowania do sprzętu

wiele można powiedzieć o możliwościach oprogramowania Arduino, ale ważne jest, aby pamiętać, że platforma składa się zarówno z oprogramowania, jak i sprzętu. Oba działają w tandemie, aby uruchomić złożony system operacyjny.

Code → Compile → Upload → Run

rdzeniem Arduino jest możliwość kompilacji i uruchomienia kodu.

Po zapisaniu kodu w IDE musisz go przesłać do Arduino. Kliknięcie przycisku Prześlij (ikona strzałki w prawo) skompiluje kod i prześle go, jeśli przeszedł kompilację. Po zakończeniu przesyłania program uruchomi się automatycznie.

Możesz również zrobić to krok po kroku:

  1. najpierw skompiluj kod. Aby to zrobić wystarczy kliknąć ikonę wyboru (lub kliknąć na sketch >Verify / Compile na pasku menu.

jak widać, ikona wyboru znajduje się w lewym górnym rogu pod znacznikiem „plik” w sekcji menu.

gdy to zrobisz, Arduino zacznie się kompilować. Po zakończeniu otrzymasz komunikat o zakończeniu, który wygląda następująco:

jak widać, zielona linia na dole strony informuje, że”koniec kompilacji”. Jeśli kod nie zostanie uruchomiony, otrzymasz powiadomienie w tej samej sekcji, a problematyczny kod zostanie podświetlony do edycji.

po skompilowaniu szkicu czas go załadować.

  1. Wybierz port szeregowy, do którego Arduino jest aktualnie podłączone. Aby to zrobić, kliknij na Narzędzia > port szeregowy w menu, aby wyznaczyć wybrany port szeregowy (jak pokazano powyżej). Następnie możesz przesłać skompilowany szkic.
  2. aby przesłać szkic, kliknij ikonę prześlij obok zaznaczenia. Alternatywnie możesz przejść do menu i kliknąć plik > upload. Twoje diody LED Arduino będą migać po przesłaniu danych.

Po zakończeniu zostanie powitany komunikat o zakończeniu, który informuje, że Arduino zakończył przesyłanie.

Konfigurowanie IDE

aby podłączyć płytkę Arduino do komputera, potrzebujesz kabla USB. Podczas korzystania z Arduino UNO, USB przesyła dane w programie bezpośrednio na płytkę. Kabel USB służy do zasilania Arduino. Możesz również uruchomić Arduino przez zewnętrzne źródło zasilania.

zanim możesz przesłać kod, musisz skonfigurować pewne ustawienia.

Wybierz swoją tablicę-musisz określić, z której tablicy Arduino będziesz korzystać. Zrób to klikając Narzędzia > tablica > Twoja tablica.

Wybierz swój procesor – istnieją pewne płyty (na przykład Arduino pro-mini), dla których musisz określić, który model procesora masz. W narzędziach >procesor> wybierz model, który posiadasz.

Wybierz port – aby wybrać port, do którego podłączona jest płyta, przejdź do narzędzia> Port> COMX Arduino (jest to port szeregowy Arduino).NodeMCU)

niektóre modele płyt nie są wstępnie zainstalowane w Arduino IDE, dlatego musisz je zainstalować, zanim będziesz mógł przesłać kod.

aby zainstalować Nie natywną płytę, taką jak NodeMCU, musisz:

  1. kliknij Narzędzia> Tablice> Menedżer tablic
  2. wyszukaj tablicę, którą chcesz dodać w pasku wyszukiwania i kliknij „Zainstaluj”.

niektórych tablic nie można znaleźć za pośrednictwem Menedżera Zarządu. W takim przypadku musisz dodać je ręcznie. W tym celu:

  1. kliknij Files > Preferences
  2. w polu Additional Boards Manager wklej adres URL pakietu instalacyjnego swojej tablicy. Na przykład dla nodeMCU Dodaj następujący adres URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. kliknij OK
  4. przejdź do narzędzia> Tablice> zarządca tablic
  5. wyszukaj tablicę, którą chcesz dodać w pasku wyszukiwania i kliknij „Zainstaluj”.

Po wykonaniu tego kroku zobaczysz zainstalowane tablice na liście tablic w obszarze Narzędzia.

Uwaga: proces może się nieznacznie różnić dla różnych płyt.

Arduino: niezwykle wszechstronna platforma

Arduino to znacznie więcej niż zwykły mikrokontroler. Dzięki rozległemu IDE i szerokiej gamie konfiguracji sprzętowych, Arduino jest naprawdę zróżnicowaną platformą. Różnorodność bibliotek i intuicyjny wygląd sprawiają, że jest ulubionym miejscem zarówno dla nowych użytkowników, jak i doświadczonych twórców. Istnieją tysiące zasobów społeczności, które pomogą Ci rozpocząć pracę zarówno ze sprzętem, jak i oprogramowaniem.

gdy rozwijasz swoje umiejętności, możesz napotkać problemy, które wymagają debugowania, co jest słabym punktem Arduino IDE. Na szczęście istnieje kilka narzędzi i metod debugowania sprzętu i oprogramowania Arduino. W następnym artykule przyjrzymy się, jak debugować Arduino (i jak przetestować kod Arduino), a także Jak korzystać z symulatorów i emulatorów.