Wersje Arduino
Do czego można zastosować Arduino? Odpowiedzi mogą być zaskakująco różnorodne.
Arduino zostało wykorzystane w szerokiej gamie projektów, takich jak:
gry wideo, np. Pong czy Space Invaders, niektórym czytelnikom przypominające czasy ich dzieciństwa, a innym przybliżające gry, w które w młodości zagrywali się ich rodzice — to wszystko okraszone czarno-białą grafiką i prostymi efektami dźwiękowymi;
roboty podążające wzdłuż linii wprowadzające w świat robotyki, ale także te „poważne”, używane w fabrykach i magazynach do dostarczania elementów wzdłuż wcześniej wyznaczonych ścieżek;
harfy świetlne wydające dźwięki zgodnie z ruchem Twoich dłoni, np. takie, jakich na swoich międzynarodowych występach używa artysta Little Boots;
kontrolery MIDI sterujące pracą wielu instrumentów muzycznych;
roboty samodzielnie odzyskujące równowagę naśladujące zachowanie pojazdów Segway.
Są to wszystko przykłady projektów zbudowanych z użyciem Arduino — mikrokontrolera tak małego, że mieści się w Twojej dłoni. Arduino, zaprojektowane początkowo przez studentów sztuki i projektowania jako narzędzie do wprowadzania informatyki w świat materialnych przedmiotów, wzbudziło zainteresowanie społeczności majsterkowiczów i konstruktorów chcących pracować nad własnymi projektami.
Wersje Arduino
Istnieje wiele wersji Arduino, z których niemal wszystkie oparte są na 8-bitowym mikrokontrolerze RISC (ang. Reduced Instruction Set Computer — procesor o zredukowanej liczbie instrukcji) z rodziny AVR firmy Atmel. Pierwsza wersja używała procesora
ATmega8 zawierającego 8 kB pamięci flash i działającego z zegarem 16 MHz. Kolejne wersje, takie jak Arduino NG czy Diecimila („dziesięć tysięcy” po włosku), wykorzystywały procesor ATmega168 z 16 kB pamięci flash. Nowsze wersje Arduino — Duemilanove
i Uno — używają procesora ATMega328 z 32 kB pamięci flash i mogą automatycznie przełączać się pomiędzy zasilaniem z portu USB i z zewnętrznego zasilacza.
Potrzeby projektów wymagających większej liczby linii wejścia/wyjścia i większej ilości pamięci może spełnić Arduino Mega1280 ze 128 kB pamięci flash, czy też nowsze Arduino Mega2560 z procesorem zawierającym 256 kB pamięci flash. Pod koniec 2012 roku pojawił się natomiast model Arduino Due — pierwsze Arduino oparte na 32-bitowym procesorze SAM3X8E z rdzeniem ARM Cortex-M3.
Moduły Arduino oferują 14 linii cyfrowych, z których każda może być zaprogramowana jako wejście lub wyjście, oraz 6 linii analogowych. Dodatkowo 6 linii cyfrowych może zostać zaprogramowanych tak, aby dostarczać pseudoanalogowy sygnał PWM
(ang. Pulse Width Modulation — modulacja szerokości impulsu). Dostępne są rozmaite
protokoły komunikacyjne, takie jak RS-232, SPI czy I2C/TWI. W standardzie na każdej
płytce dostępne jest złącze ISP umożliwiające bezpośrednie programowanie wbudowanego
mikrokontrolera, złącze rozszerzeń czy przycisk reset.
UWAGA: Podstawową funkcjonalność Arduino można rozszerzyć za pomocą specjalistycznych
płytek zwanych nakładkami (ang. shields). Można je montować
jedną na drugiej, aby dodawać kolejne funkcje.
Teraz przyjrzymy się najpopularniejszym odmianom Arduino, rozpoczynając od modelu
Arduino Uno.
1.2.1. Arduino Uno
„Obiad podano” (ang. Dinner is Served) — tak brzmiał tytuł opublikowanego 25 września
2010 roku wpisu na blogu obwieszczającego pojawienie się Arduino Uno („jeden”
po włosku) oraz jego większego brata — Mega2560. Arduino Uno rozkładem wyprowadzeń
odpowiada wcześniejszym wersjom, wliczając w to Duemilanove i jej poprzedniczkę
— Diecimila.
Najbardziej znaczącą różnicą pomiędzy Uno a jego poprzednikami jest pojawienie
się — w miejsce starzejącego się układu FTDI obecnego we wcześniejszych wersjach
— mikrokontrolera ATmega8U2 zaprogramowanego do pełnienia funkcji konwertera
USB – port szeregowy. Układ ATmega8U2 może zostać przeprogramowany tak,
aby Arduino było rozpoznawane jako inne urządzenie USB, jak np. mysz, klawiatura
czy joystick. Inną różnicą jest występowanie na płytce bardziej niezawodnego źródła
napięcia 3,3 V, co poprawia stabilność niektórych nakładek, z którymi wcześniej zdarzały
się problemy. Pełne specyfikacje techniczne znajdziesz w dodatku C.
Rysunek 1.1 przedstawia rozmieszczenie elementów i wyprowadzeń na płytce
Arduino Uno. Jest to dobry, uniwersalny model, w sam raz nadający się na początek
przygody z Arduino, dzięki automatycznie przełączanemu źródłu zasilania i stabilizatorowi
napięcia 3,3 V na płytce.
Rysunek 1.1.
Rozmieszczenie
elementów
i wyprowadzeń
na płytce
Arduino Uno
1.2.2. Arduino Duemilanove
Wersja Duemilanove (po włosku oznaczające „2009”) to jeden z najpopularniejszych
wyprodukowanych modeli Arduino, który zastąpił swojego poprzednika — wersję Diecimila.
Później jednak i on został zastąpiony przez nowszą, bardziej na czasie wersję
Arduino Uno. Duemilanove oferuje automatyczne przełączanie źródła zasilania pomiędzy
portem USB a zasilaczem zewnętrznym. Wykorzystuje procesor ATmega328, choć
wersje wyprodukowane przed marcem 2009 roku zawierały procesor ATmega168. Jego
możliwości i układ wyprowadzeń są identyczne z Arduino Uno, jednak do konwersji
USB – port szeregowy wykorzystuje układ FTDI.
Jeśli kupujesz nowe Arduino, powinieneś wybrać model Uno. Jeśli posiadasz już
Duemilanove, ale potrzebujesz stabilniejszego napięcia 3,3 V lub planujesz jakieś sztuczki
z programowaniem ATmega8U2, rozważ przejście na Arduino Uno.
1.2.3. Arduino Ethernet
Arduino Ethernet to wersja o małym poborze energii, zapowiedziana w tym samym
czasie co Arduino Uno. Główną różnicą w stosunku do innych wersji Arduino jest
obecność na płytce złącza RJ45 pozwalającego dołączyć kabel sieciowy oraz czytnika
kart microSD. Wersja ta nie posiada natomiast na płytce układu FTDI do konwersji
USB – port szeregowy; wyposażona jest jednak w 6-pinowe złącze, do którego można
dołączyć przewód z układem FTDI bądź płytkę szeregową USB w celu zaprogramowania
modułu. Dodatkowo do tej płytki można dołączyć opcjonalny moduł POE
(ang. Power Over Ethernet — zasilanie przez sieć), pozwalający na jej zasilanie z urządzenia
aktywnego zgodnego ze standardem POE bezpośrednio poprzez przewód sieciowy
(tzw. skrętkę) kategorii 5.
Płytka Arduino Ethernet dzięki wbudowanemu czytnikowi kart microSD i możliwości
zasilania bezpośrednio z sieci Ethernet idealnie nadaje się do budowy systemów
zdalnego monitoringu czy gromadzenia danych.
1.2.4. Arduino Mega
Wielki Brat w rodzinie Arduino — wersja Mega — używa większego procesora w wersji
do montażu powierzchniowego. Wersja Mega została zaktualizowana w tym samym
czasie co Arduino Uno; procesor ATmega1280 zastąpiono wersją ATmega2560. Nowszy
zawiera 256 kB pamięci flash w porównaniu ze 128 kB jego poprzednika.
Wersja Mega oferuje znacznie większą niż standardowe Arduino liczbę portów
wejścia/wyjścia, co w połączeniu ze zwiększoną ilością dostępnej pamięci czyni ją
idealną do wykorzystania w większych projektach, gdzie steruje się znaczną liczbą
diod świecących, wymaganych jest wiele portów wejścia/wyjścia czy potrzebny jest
więcej niż jeden sprzętowy interfejs szeregowy (Arduino Mega ma ich 4). Płytka udostępnia
54 cyfrowe porty wejścia/wyjścia (z czego 14 może zapewnić sygnał PWM)
oraz 16 wejść analogowych. Komunikację wspierają maksymalnie 4 sprzętowe interfejsy
szeregowe. Dostępna jest także komunikacja w standardzie SPI i wsparcie dla
urządzeń na magistrali I2C/TWI. Płytka zawiera także złącze ISP oraz przycisk reset.
Dodatkowy procesor ATmega8U2 obsługuje komunikację szeregową przez port USB,
zastępując w tej roli układ FTDI występujący we wcześniejszych modelach Arduino.
Model Mega współpracuje z większością dostępnych nakładek, jednak dobrze jest
się upewnić przed zakupem, że wybrana nakładka rzeczywiście jest zgodna z Arduino
Mega. Wersję Mega kup wtedy, gdy masz pewność, że potrzebujesz większej liczby
portów wejścia/wyjścia i większej pamięci. Pełne specyfikacje znajdziesz w dodatku C.
Rysunek 1.2 przedstawia rozkład wyprowadzeń i rozmieszczenie elementów na
płytce.
Teraz przyjrzyjmy się bardziej specjalistycznym odmianom Arduino…
1.2.5. Inne wersje Arduino
Pojawienie się oryginalnego Arduino obrodziło szeregiem odmian, które odtwarzały
oryginalny projekt w zupełnie innym kształcie, zwykle w odpowiedzi na specyficzne
potrzeby danego projektu. Przyjrzyjmy się dwóm takim odmianom: LilyPad oraz Nano.
ARDUINO LILYPAD
Arduino LilyPad zaprojektowane przez SparkFun Electronics oraz Leah Buechley
nadaje się znakomicie do łączenia z tkaninami i pokazania Twoich umiejętności na
wybiegu. LilyPad wyposażono w duże pola kontaktowe, dzięki którym można je także
przyszyć do wybranej tkaniny. Dostępny jest także szeroki wybór podobnie przyszywanych
akcesoriów, takich jak czujniki światła, brzęczyki, trójkolorowe diody świecące,
czujniki temperatury, akcelerometry, czy też całe e-zestawy do samodzielnego wszycia.
Ta wersja Arduino pobiera niewiele energii. Co więcej, można ją nawet wyprać (pamiętaj
tylko o uprzednim wyjęciu baterii)!
Rysunek 1.2. Rozmieszczenie elementów i wyprowadzeń na płytce Arduino Mega; zwróć uwagę
na dodatkowe w stosunku do Arduino One piny wejścia/wyjścia oraz złącza do transmisji szeregowej
Główną różnicą pomiędzy LilyPad a innymi odmianami Arduino jest taktowanie procesora
obniżone do 8 MHz zamiast zwyczajowych 16 MHz. Rzecz, na którą należy
zwrócić uwagę, to to, aby napięcie zasilające nie przekraczało 5,5 V. Na rysunku 1.3
znajdziesz zdjęcie Arduino LilyPad.
Rysunek 1.3. Arduino LilyPad
można przyszyć do tkaniny.
Dostępnych jest także wiele
przyszywanych akcesoriów
ARDUINO NANO
Nano jest dobrym wyborem, gdy swój projekt musisz zawrzeć na małej powierzchni.
Nano w wersji 3 (z procesorem ATmega328), zaprojektowane i sprzedawane przez
firmę Gravitech, wyposażone jest w port miniUSB oraz cechuje się niewielkimi wymiarami,
sprawiającymi, że jest poręczne w stosowaniu na płytkach stykowych.
Nano posiada funkcjonalność zbliżoną do Duemilanove, zawiera jednak dwa dodatkowe
wejścia analogowe. Zasilanie może być pobierane ze złącza USB lub też z dwóch
niezależnych pinów wejściowych: pin 30 przyjmuje niestabilizowane napięcie w zakresie
od 6 do 30 V, zaś do złącza nr 27 należy alternatywnie doprowadzić stabilizowane
napięcie 5,5 V.
Niewielkie wymiary płytki sugerują stosowanie Nano w projektach, gdzie dysponujesz
niewielką ilością miejsca.
1.2.6. Atak klonów
Arduino od samego początku było tworzone jako otwarty projekt. Użytkownicy mieli
prawo swobodnie wykorzystywać projekt, pobierać z sieci pliki z diagramami i schematami
projektu (pliki CAD), a nawet produkować i sprzedawać urządzenia i moduły
wytworzone przy ich pomocy. Doprowadziło to do wyprodukowania wielu klonów
Arduino, również takich, gdzie ich producenci zmodyfikowali oryginalną specyfikację
Arduino.
Sama nazwa Arduino jest zastrzeżona, co zapobiega jej użyciu dla produktów
pochodnych bez zgody zespołu, który stworzył oryginalne Arduino.
SEEEDUINO (TAK, 3 „E”!)
Jeśli lubisz kolor czerwony, ta płytka jest dla Ciebie. Seeeduino, zaprojektowane
i produkowane przez firmę Seed Studio w Shenzhen w Chinach, bazuje na projekcie
Diecimili — jednej z wczesnych odmian Arduino — i można je nabyć w wersjach
z procesorem ATmega168 lub ATmega328. Wykorzystuje elementy montowane
powierzchniowo i wyróżnia się czerwonym kolorem płytki.
Wymiary i rozkład wyprowadzeń płytki zgodne są z Diecimilą. Usprawnienia obejmują
automatyczne wykrywanie źródła zasilania pomiędzy portem USB a złączem
zewnętrznego zasilacza oraz lepszej jakości układy zasilania na płytce.
SEEEDUINO FILM
Seeeduino Film stanowi odmienne niż LilyPad podejście do tworzenia elektroniki, którą
można nosić na sobie. Przydatne również w zastosowaniach związanych z rejestrowaniem
danych, Seeeduino Film zawiera montowany powierzchniowo procesor ATmega168
umieszczony na elastycznej płytce drukowanej. Zamiast nakładek do rozszerzania
jego możliwości wykorzystuje się tzw. ramki. Na razie wyprodukowano jeden typ
ramki zawierający ciśnieniomierz, 32 MB pamięci flash oraz trzyosiowy akcelerometr,
co powinno spokojnie wystarczyć, aby Cię rozruszać.
BOARDUINO
Boarduino to mała płytka zbliżona do Nano 3.0, jednak dostępna jedynie w postaci
zestawów do samodzielnego montażu; nie unikniesz więc lutowania. Boarduino produkowane
przez Adafruit Industries zaprojektowano w ten sposób, że pasuje wprost do
płytek stykowych umożliwiających konstruowanie bez lutowania. Zestaw dostępny jest
w dwóch wersjach: z portem USB oraz z portem szeregowym, do którego jednak wymagany
jest dodatkowy przewód. Obie wersje wykorzystują procesor ATmega328.
SIPPINO
Sippino jest miniaturową kopią Arduino produkcji SpikenzieLabs, także dostępną jedynie
w formie zestawów do samodzielnego montażu. Podobnie jak Boarduino wymaga
od Ciebie zatem umiejętności lutowania. Wykorzystuje procesor ATmega328, choć może
używać ATmega168. Wszystkie wejściowe i wyjściowe sygnały, zarówno cyfrowe, jak
i analogowe wyprowadzone są w postaci jednoliniowego złącza tak, że można je bezpośrednio
wpiąć w płytkę stykową. Do programowania Sippino wymagany jest przewód
z konwerterem USB – port szeregowy opartym na układzie FTDI.
EBAY
Na eBayu spotkać można wiele kopii Arduino; wiele z nich wzoruje się na modelu
Duemilanove. Oto, na co musisz zwrócić uwagę, kupując dowolną kopię: upewnij się,
że zawiera procesor ATmega328 oraz że jej wyprowadzenia umożliwiają dodawanie
do płytki standardowych nakładek.
Pierwsze Arduino, które kupiliśmy na eBayu, miało złącza typu męskiego zamiast
żeńskiego, co znacznie skomplikowało dołączanie nakładek. Musieliśmy także dokupić
specjalne zwory do połączenia z płytką stykową. Dzięki temu mogliśmy zacząć pracę,
jednak lepiej uniknąć takich pomyłek i upewnić się, że kupujemy faktycznie to,
co chcemy.