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) Informacje o elementach potrzebnych do kursu znajdziesz pod koniec tego artykułu! 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 przeczytaniu jednego z naszych artykułów np.: Mikrokontroler wszystko o jego działaniu 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. W skrócie: Arduino to moduły z mikrokontrolerami, które w bardzo łatwy sposób programować można, z wykorzystaniem ogólnodostępnych bibliotek, w języku zbliżonym do C/C++. 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. 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. 1
Arduino jest projektem, który ciągle się rozrasta zarówno programistycznie jak i sprzętowo. Płytka UNO w wersji 3 jest w chwili obecnej podpowiadana przez Arudino, jako ta, na której przez długi czas będzie można korzystać z najnowszych bibliotek oraz płytek rozszerzających. 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. Praca z taką częstotliwością w dużym uproszczeniu oznacza, że mikrokontroler jest w stanie 16 milionów operacji na sekundę. To bardzo dużo! 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 sposób. 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 punkt 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 *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: 2
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. Ostrzeżenie! Najtańsze płytki imitujące oryginalne często wykonane są z elementów gorszej jakości, które mogą doprowadzić do uszkodzenia całego układu! Na rynku znaleźć można również tańsze płytki, które są zgodne ze standardem Arduino, ale producenci nawet nie udają, że są to oryginały. Takie wersje Arduino produkuje chociażby firma DFrobot, które swoje płytki sprzedaje pod nazwą DFRduino. Płytka DFRduino, która jest kompatybilna z Arduino UNO. Płytki DFRduino pochodzą ze sprawdzonego źródła więc spokojnie można je kupować. Produkty bazujące na Arduino można łatwo rozpoznać po nazwach kończących się na uino. 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 LED i przyciski. Bardziej skomplikowane rzeczy prezentować będziemy na wyświetlaczu tekstowym 2 16 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. Komplet niezbędnych elementów widoczny jest na poniższym zdjęciu: Zestaw elementów do kursu Arduino. 3
Tak, jak przy kursie podstaw elektroniki wraz ze sklepem Botland przygotowaliśmy dla gotowe zestawy części. Tym razem dostępne są następujące 4 warianty: Zestaw z oryginalną płytką Arduino UNO Zestaw PLUS z oryginalną płytką Arduino UNO Zestaw z kompatybilną płytką DFRduino Zestaw PLUS z kompatybilną płytką DFRduino Gwarancja pomocy na forum dla osób, które kupią zestaw od Forbota! Pakiety oznaczone jako PLUS, przeznaczone są dla osób, które chciałyby dodatkowo wesprzeć Forbota i kolejne darmowe publikacje. Do zestawów takich dodawane będą gadżety Forbota. Gdyby ktoś chciał wesprzeć Forbota jeszcze bardziej może skorzystać z dodatkowej oferty i zamówić nasz kubek. Gadżety dodawane do zestawów PLUS. 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 scalony sterownik silników.. Czy warto je usuwać z zestawu? Zdecydowanie nie! Częśći podczas kursu nie zostaną zniszczone. Będziesz mógł użyć je przy swoich późniejszych projektach. Będzie to Twoja wyjściowa baza elementów. Kurs 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. Pamiętaj, że podstawą w zrozumieniu programowania jest praktyka. Nie będziesz umiał wykorzystać zdobytej tu wiedzy, jeśli nie wykonasz ćwiczeń z kursu. Zestaw elementów do przeprowadzenia ćwiczeń Gwarancja pomocy na forum dla osób, które kupią poniższy zestaw! 4
Teraz możesz kupić zestaw ponad 70 elementów niezbędnych do przeprowadzenia ćwiczeń z kursu u naszych dystrybutorów! Kup w Botlandzie» Uwaga nowość! Masz już zestaw? Zarejestruj go! Sprawdź dlaczego warto» 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: http://arduino.org/ http://arduino.cc/ 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. Co stanie się, gdy zainstalujesz złe IDE? NIC! Zostaniesz jedynie powiadomiony, że płytka, którą posiadasz nie pochodzi z autoryzowanego źródła. Komunikat ten będziesz mógł wyłączyć jednym kliknięciem. Wszystko będzie działało bez problemów!. 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: 5
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. 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 6
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. Jeśli oprogramowani zainstalowało się poprawnie, to po jego uruchomieniu na ekranie ujrzymy ekran powitalny: Arduino ekran powitalny. A po chwili edytor: 7
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 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 menadżera urządzeń: Komputer -> Właściwości -> Menadżer urządzeń 8
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 jakie płytki używamy. Następnie wskazujemy wcześniej sprawdzony numer portu COM. Te dwie operacje zaznaczyłem na poniższych zrzutach ekranu: Wybór płytki Ustawienie portu COM Środowisko Arduino IDE pokazuje jedynie dostępne porty COM. U mnie było to COM1 oraz COM21, u Ciebie może być ich znacznie więcej. Najważniejsze, aby wybrać ten właściwy. 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 9
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! 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: Efekt nie jest porywający, jednak wiemy, że wszystko działa. Od następnego artykułu zaczniemy pisać programy samodzielnie. W między czasie 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 nadzieje, ż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. 10