Kurs Arduino – #1 – podstawy Arduino oraz środowisko

Kurs Arduino – #1 – podstawy Arduino oraz środowisko

Zastanawialiście się jak rozpocząć przygodę z mikrokontrolerami? Sprawdźcie Arduino!

Ta otwarta platforma została przygotowana z myślą o wszystkich majsterkowiczach, również o konstruktorach robotów. W pierwszej części kursu omówione zostały podstawy, wymagane przed dalszymi lekcjami.

Czy ten kurs Arduino będzie dla mnie odpowiedni?

Jeśli interesujesz się chociaż w małym stopniu elektroniką i chciałbyś zacząć programować własne układy, to idealnym rozwiązaniem na początek będzie Arduino.

Nie będziesz musiał tracić czasu na projektowanie własnych płytek, dobieranie odpowiedniego programatora i żmudne konfiguracje środowiska. Wszystko będzie działało praktycznie od razu!

Przykład z wykorzystaniem Arduino oraz LCD tekstowego

Przykład z wykorzystaniem Arduino oraz LCD tekstowego

Kurs został zaplanowany na 11 części (z możliwą kontynuacją). Oczywiście nie omawia on całego Arduino, tematyka jest tak obszerna, że napisać o niej można kilka(naście) książek. Zadaniem tego kursu jest wyjaśnienie podstaw w praktyce i zainteresowanie czytelnika dalszym poznawaniem tej platformy.

W kolejnych artykułach omawiane będą również podstawy programowania, takie jak: funkcje, warunki, pętle itd.

Co mogę zrobić dzięki Arduino?

Jako początkujący na pewno stawiasz sobie to pytanie. Dopiero za jakiś czas zrozumiesz, że bardzo trudno na nie odpowiedzieć. Ciężko podać konkretne przykłady gotowych urządzeń.

Z tego kursu nauczysz się przykładowo sygnalizowania informacji na diodach LED oraz wyświetlaczu tekstowym. Poznasz możliwości komunikacji Arduino z komputerem. Będziesz umiał również sterować silnikami. Nie zabraknie tutaj również informacji o czujnikach.

Łącząc powyższe informacje, będziesz mógł zbudować urządzenie, które zbiera informacje z otoczenia (czujniki), następnie je przetwarza, wykonuje pewne akcje (silniki) oraz komunikuje się z użytkownikiem (diody, wyświetlacz, komputer).

Przykładowe projekty, które zaprogramujesz bez problemu po naszym kursie:

  1. Proste roboty mobilne (LineFollower, Światłolub)
  2. Części do prostej automatyki domowej (automatyczne rolety, czujniki światła)
  3. Urządzenia przydatne na co dzień (prosty budzik, zegarek)
  4. Urządzenia do zabawy (proste gry i święcące zabawki)
  5. ... oraz ogrom innych projektów, które tylko wymyślisz!

Czym jest Arduino?

Z punktu widzenia osoby początkującej, Arduino, to gotowy "zestaw uruchomieniowy" z popularnym mikrokontrolerem AVR. Stworzony według odpowiednich założeń, dzięki czemu:

  1. Nie wymaga zewnętrznego programatora
  2. Współgra, bez najmniejszych problemów, z dedykowanym kompilatorem
  3. Możesz dokupić do niego "nieskończoną" liczbę płytek rozszerzających (np.: sterowniki silników, wyświetlacze, moduły wykonawcze)

Prawdziwa potęga Arduino kryje się jednak w dedykowanym języku programowania bazującym na C/C++. Zaczynając przygodę z mikrokontrolerami warto poznać chociażby podstawy na temat ich budowy i tego jak działają. Jeśli nie słyszałeś nigdy czym są rejestry, to możesz poświęcić chwilkę na przeczytanie artykułu: Mikrokontroler – wszystko o jego działaniu

Logo projektu Arduino

Logo projektu Arduino

Na szczęście, w przypadku Arduino, aby zaprogramować swój układ, nie jest wymagana znajomość rejestrów mikrokontrolera. Wszystko opiera się o przyjazne biblioteki, dzięki którym stworzenie nawet skomplikowanego programu jest w zasięgu początkującego programisty.

Zalety Arduino

Projekt zaczął być rozwijany w 2005 roku, we Włoszech. Od tej pory zgromadził rzeszę zwolenników i fanatycznych użytkowników. Od samego początku Arduino było przygotowywane z myślą o osobach, które nie miały wcześniej wiele wspólnego z programowaniem mikrokontrolerów. Doskonałe środowisko, przyjazna składnia oraz niska cena, sprawiły, że Ardunio stało się niezwykle popularne.ArduinoCommunityLogo

Społeczność zbudowana wokół tego projektu jest olbrzymia. Niesie to za sobą wiele korzyści. Z punktu widzenia początkującego najważniejsze są trzy:

  • Ogromna ilość gotowych rozwiązań. Na Arduino powstają przeróżne projekty. Jeśli wymyśliliście coś "nowego" i ciekawego to na 90% ktoś już wykonał to na Arduino wcześniej, a opis projektu umieścił w Internecie.
  • Popularność platformy sprawiła, że producenci przygotowali niezliczoną ilość odmian płytek oraz rozszerzeń - o tym więcej znajdziecie w dalszej części kursu.
  • Duża ilość użytkowników ułatwia znalezienie pomocy, gdy utknie się w ważnym punkcie projektu.

Arduino - wybór platformy sprzętowej

Arduino jest platformą typu Open Hardware. Oznacza to, że udostępnione są wszelkie materiały potrzebne do stworzenia własnego zestawu rozwojowego działającego w tym standardzie. Z tego powodu znaleźć można wiele różnych płytek zgodnych z Arduino.

W chwili obecnej, na swoich stronach, Arduino oficjalnie mówi o około 20 dostępnych modelach. W każdym dobrym sklepie znajdziecie przynajmniej kilka różnych zestawów. Na potrzeby kursu postanowiłem wybrać najpopularniejszą płytkę - Arduino UNO R3.

Arduino UNO R3 - przód/tył.

Arduino UNO R3 - przód/tył.

Uwaga! Od pewnego czasu oryginalne płytki zaczęto produkować w kolorze turkusowym. Jednak na rynku ciągle dostępne są również wersje niebieskie (jak powyższa).

Wyposażenie Arduino UNO R3

Sercem układu jest popularny, 8 bitowy mikrokontroler firmy Atmel, AVR ATmega328 pracujący z częstotliwością 16 MHz.

Specjalne złącza, umieszczone charakterystycznie po bokach płytki, to wyprowadzenia najważniejszych sygnałów. Znajdziemy tam 14 programowalnych cyfrowych wejść/wyjść. Sześć z nich można używać jako wyjścia PWM (np. do sterowania silnikami), a kolejne 6 jako analogowe wejścia. Znajdziemy tam również sygnał resetu oraz zasilanie.

Arduino może być zasilane na kilka sposobów. Najpopularniejsze metody to:

  1. Zasilanie przez przewód USB
  2. Zasilanie przez zasilacz wtyczkowy (optymalnie 7V - 12V) lub baterie

Najważniejsze elementy zaznaczone zostały na poniższej grafice:

 

  1. Złącze USB - wykorzystywane do zasilania, programowania oraz komunikacji z komputerem
  2. Złącze zasilania (optymalnie 7V - 12V)
  3. Stabilizator napięcia - napięcie wejściowe ze złącza nr 2 obniżane jest do 5V dzięki temu układowi
  4. Przycisk resetu - resetuje płytkę Arduino
  5. Mikrokontroler odpowiedzialny za komunikację z komputerem przez USB
  6. Złącze programowania do mikrokontrolera z punktu 5.
  7. Złącze sygnałowe*
  8. Złącze sygnałowe*
  9. Dioda LED sygnalizująca podłączenie napięcia do Arduino
  10. Wyjście programatora dla mikrokontrolera z punktu 13.
  11. Złącze sygnałowe*
  12. Złącze zasilania*
  13. Serce Arduino, główny mikrokontroler AVR ATmega328
  14. Diody LED sygnalizujące transmisję do/z komputera
  15. Dioda LED do dyspozycji użytkownika
  16. Rezonator ceramiczny taktujący mikrokontroler (punkt 13) z częstotliwością 16MHz
  17. Zworka, której przecięcie wyłącza automatyczne resetowanie Arduino.
  18. Pola lutownicze z wyprowadzonymi sygnałami mikrokontrolera z punktu 5, używane ekstremalnie rzadko w bardzo specyficznych i niestandardowych sytuacjach.

*Poszczególne złącza sygnałowe zostaną omówione szczegółowo w kolejnej części kursu.

Klony, czyli Arduino (nie)oryginalne

Tak jak już wspomniałem, Arduino jest platformą open-hardware. Oznacza to, że każdy może wykonać własne Arduino lub zaprojektować płytkę zgodą z tym standardem. Zestawy od innych firm działające, jak Arduino, potocznie nazywane są klonami.

Klony możemy podzielić na dwa typy:

  1. Całkowite podróbki, imitujące oryginały
  2. Płytki zgodne ze standardem Arduino

Przykładowo, jeśli będziecie poszukiwać wspomnianego wyżej Arduino UNO i znajdziecie płytkę identyczną jak na moich zdjęciach w cenie <80zł, to na 100% będzie to podróbka. Oczywiście możecie zaryzykować i taką kupić. Wybór należy do Was, czy chcecie wspierać firmy zarabiająca nieuczciwie, czy wybierzecie takie, które włożyły trochę więcej wysiłku w produkcję swojej wersji.

Kurs Arduino - potrzebne elementy

Oprócz wyżej wspomnianego Arduino UNO, w pierwszych 7 częściach kursu użyta będzie garść dodatkowych elementów. Na pewno przydatny będzie kabel USB oraz przewody połączeniowe. Do tego kolorowe diody i przyciski. Bardziej skomplikowane rzeczy prezentować będziemy na wyświetlaczu tekstowym 2x16 znaków.

W dalszych częściach kursu omówimy również sterowanie elementami wykonawczymi takimi jak serwomechanizmy i silniki. Dodatkowo przydatne będą również czujniki. Wykorzystamy sensory światła (fotorezystory) oraz ultradźwiękowy czujnik odległości.

Tak, jak przy kursie podstaw elektroniki wraz ze sklepem Botland.com.pl przygotowaliśmy gotowe zestawy części. Dostępne są zestawy podstawowe z oryginalną płytką Arduino oraz zestawy w wersji PLUS. Te drugie zawierają wszystkie niezbędne elementy (w tym oryginalne Arduino UNO) oraz wygodny plastikowy kuferek na wszystkie elementy i gadżety FORBOTa.

Komplet niezbędnych elementów widoczny jest na poniższym zdjęciu:

Zestaw elementów do kursu Arduino.

Zestaw elementów do kursu Arduino.

Czy ceny zestawów mogłyby być niższe? Oczywiście! Jednak musielibyśmy się pozbyć takich elementów jak wyświetlacz, serwomechanizm, czujnik odległości, fotorezystory oraz sterownik silników..

Czy warto je usuwać z zestawu? Zdecydowanie nie! Części podczas kursu nie zostaną zniszczone. Będziesz mógł użyć je przy swoich późniejszych projektach. Kurs z założenia ma być praktyczny, a ciężko poznawać konkretne elementy, jeśli nie będziesz nimi dysponował!

Kurs Arduino - Słowem wstępu

W pierwszej części kursu (czyli tej, którą czytasz) zajmiemy się instalacją środowiska. Zakładam, że nie masz jeszcze potrzebnego sprzętu. Jednak do dalszej nauki Arduino będzie już niezbędne.

Zestaw elementów do kursu

Gwarancja pomocy na forum Błyskawiczna wysyłka

Teraz możesz kupić zestaw ponad 70 elementów niezbędnych do przeprowadzenia ćwiczeń z kursu u naszych dystrybutorów!

Kup w Botland.com.pl

W drugiej części zajmiemy się obsługą wejść i wyjść cyfrowych. Po wykonaniu odpowiednich ćwiczeń będziesz umiał samodzielnie włączać i wyłączać diody oraz reagować na przyciśnięcia przycisków.

Instalacja Arduino IDE

Przed przystąpieniem do programowania należy zainstalować odpowiednie środowisko. Najnowsze Arduino IDE pobrać można z oficjalnej strony projektu. Instalator zajmuje około 53 MB.

Uwaga! Aktualizacja (14.04.2015)

W związku z konfliktem wewnątrz ekipy Arduino pojawiły się dwie wersje środowiska. Na szczęście dla użytkownika końcowego nie ma to większego znaczenia. Jednak w przypadku zakupu oryginalnej płytki przed instalacją środowiska sprawdź adres podany na jej odwrocie.

Znajdziesz tam odesłanie do jednej z poniższych stron:

W przypadku wystąpienia pierwszego adresu, pobierz środowisko z tego miejsca. Natomiast, jeśli na odwrocie płytki znajdziesz drugi adres, pobierz je stąd.

Poniższe zrzuty ekranu pochodzą ze starszej wersji Arduino (ponieważ kurs przygotowany został z wyprzedzeniem). Pobierz najnowszą wersję, wszystko będzie działało identycznie!

Instalacja przebiega standardowo. Na początku akceptujemy licencję produktu:

Instalator Arduino.

Instalator Arduino.

Następnie klikamy kilka razy Dalej i stajemy się szczęśliwymi użytkownikami Arduino IDE. Po drodze warto zwrócić uwagę na instalowane składniki:

Instalowane składniki.

Instalowane składniki.

Jeśli wybierzemy instalację sterownika USB (co jest wskazane), pod koniec instalacji zobaczymy ostrzeżenie systemu. W przypadku Windows 7 wyglądało tak:

Ostrzeżenie systemu - Arduino

Ostrzeżenie systemu - Arduino

Oczywiście klikamy "Zainstaluj oprogramowanie sterownika mimo to", nie trzeba niczego się obawiać. Po zakończeniu instalacji na pulpicie powinna pokazać się nowa ikona:

Ikona Arduino.

Ikona Arduino.

Jeśli oprogramowanie zainstalowało się poprawnie, to po jego uruchomieniu na ekranie ujrzymy ekran powitalny:

Arduino ekran powitalny.

Arduino ekran powitalny.

A po chwili edytor:

Edytor Arduino

Edytor Arduino

Jeśli masz już Arduino...

Wcześniej pisałem, że w tej części nie będziemy programować. Jednak, jeśli masz już Arduino możesz zrobić coś bardzo prostego, aby sprawdzić czy wszystko działa. Po pierwsze uruchom edytor Arduino IDE. Następnie z menu wybierz:

Plik -> Przykłady -> 01. Basics -> Blink

Otworzy się osobne okienko z kodem programu (nie wnikajmy chwilowo w jego strukturę). Powinno wyglądać podobnie do poniższego:

Przykładowy program na Arduino

Przykładowy program na Arduino

Teraz podłącz Twoje Arduino do komputera. Wykorzystaj do tego kabel USB, nie musisz podłączać zasilania bateryjnego. Wystarczy tylko ten jeden przewód! Teraz komputer wykryje nowy sprzęt i zainstaluje sterowniki.

Gdy sprzęt będzie gotowy do użycia sprawdź, który port COM został przypisany do Twojej płytki. Zrobisz to wchodząc do menedżera urządzeń:

Komputer -> Właściwości -> Menedżer urządzeń

portCOM

Odczytanie portu COM

W moim przykładzie był to numer COM21, ale u Ciebie może być całkowicie inny. Nie ma to żadnego znaczenia.

Teraz możemy wrócić do ustawień Arduino IDE. Tutaj musimy wybrać dwie opcje. Po pierwsze wskazujemy kompilatorowi której płytki używamy. Następnie wskazujemy wcześniej sprawdzony numer portu COM.

Te dwie operacje zaznaczyłem na poniższych zrzutach ekranu:

Płytka podłączona oraz ustawiona. Teraz możemy przejść do wgrania programu. W tym celu musimy wybrać dwie opcje:

  1. Weryfikuj
  2. Załaduj
Arduino_Załaduj_Weryfikuj

Ostatnie czynności przed uruchomieniem programu.

Pierwsza z nich jest odpowiednikiem spotykanego w innych środowiskach "Kompiluje". Proces ten odpowiada za sprawdzenie poprawności kodu oraz jego kompilację, czy zamianę na język zrozumiały dla programowanych urządzeń elektronicznych.

Drugie polecenie odpowiada za przesłanie programu do płytki Arduino UNO. Po kliknięciu przycisku Załaduj na płytce powinny zamigać diody opisane jako TX oraz RX. Oznacza to, że dane są przesyłane z/do komputera.

Gdy proces przebiegnie poprawnie, na dole Arduino IDE znajdziemy stosowny komunikat. Pojawi się tam informacja, że program został przesłany oraz ile miejsca zajął w pamięci naszego mikrokontrolera - w tym wypadku było to 1 084 bajtów

Program został poprawnie przesłany do Arduino!

Program został poprawnie przesłany do Arduino!

Oczywiście, to że program został poprawnie przesłany możemy zaobserwować również na Arduino. Tak jak wspomniałem wcześniej na płytce do dyspozycji mamy 1 diodę LED. Po wgraniu programu powinna ona migać. Tak jak poniżej:

ArduinoLED_Blink

Efekt nie jest porywający, jednak wiemy, że wszystko działa. Od następnego artykułu zaczniemy pisać programy samodzielnie. W międzyczasie możesz spróbować edytować kod, który wgraliśmy teraz i testować jak zachowa się układ.

Podsumowanie

To by było na tyle "przydługiego wstępu" do kursu. Mam nadzieję, że wyjaśnia on podstawowe kwestie i zachęca do śledzenia kolejnych artykułów. Czekam na Wasze uwagi i komentarze. Podzielcie się swoimi uwagami o Arduino, chętnie odpowiem również na wszelkie pytania związane z całym kursem.

Jeśli jesteście zainteresowani Arduino i chcecie być informowani o kolejnych publikacjach, to skorzystajcie z poniższego formularza i zapiszcie się na powiadomienia o nowych artykułach!

Nawigacja kursu

arduino, Arduino UNO, kurs, kursArduino, programowanie