Co to jest Arduino
Arduino Uno to niemal idealna płytka kontrolera dla początkujących. To mały, ale uniwersalny komputerek zdolny kontrolować niemal każde urządzenie, praktycznie bez lutowania. Programowanie go jest łatwe i wymaga nauki niewielkiej ilości zasad. Z pomocą przychodzi bogata dokumentacja i mnóstwo bibliotek do obsługi wielu podzespołów.
Ruch Open Hardware [ang. Otwarty Sprzęt] to inicjatywa by dzielić się budową i planami urządzeń, tak by inni mogli się na nich wzorować lub je udoskonalać. Arduino posiada dużą społeczność zaangażowaną w ten ruch. Dzięki temu znajdziesz wiele projektów opartych na tej płytce, które ułatwią zbudowanie twojego urządzenia. Użytkownicy Arduino spotykają się często w klubach zwanych Hackerspace, dostępnych w każdym dużym mieście.
Dzięki tej popularności, w Internecie znajdziesz sporo osób chętnych do pomocy i wspólnej nauki. Wielu moich znajomych zaczynało od zabaw Arduino UNO. Teraz realizują się w startupach tworzących nowe, innowacyjne urządzenia. Jednak zachęcam do rozwiązywania problemów samodzielnie. To bardzo przyspiesza naukę i doświadczenie w pracy z Arduino. Nie poddawaj się!
Wygląd
Obsługa płytki jest banalnie prosta. Z lewej strony masz gniazdo USB, które łączy Arduino z komputerem.
Na górnych i dolnych krawędziach płytki są czarne wtyczki zwane "pinami". Są tak zbudowane, że łatwo w nie wetknąć przewody. To do nich podłączasz urządzenia, które będą sterowane przez Arduino. Złącza te pozwalają nakładać na płytkę dodatkowe moduły zwiększające możliwości Arduino. Moduły te nazywane są Shield-ami [ang. Tarczami].
Opis płytki Arduino UNO
Najważniejsze elementy na schemacie zaznaczyłem kolorem niebieskim.
Dodatkowe mniej ważne elementy zaznaczyłem kolorem zielonym.
Wyprowadzenia zasilania o różnym napięciu zaznaczyłem kolorem czerwonym.
Wyprowadzenia GND [masa] oznaczyłem kolorem czarnym.
USB
Wyście USB służy do łączenia Arduino z komputerem. Przez to złącze wgrywane są programy na płytkę. To złącze służy też do komunikacji programu z komputerem.
Gdy wysyłane są dane do komputera, świeci lampka "LED TX". Gdy Arduino odbiera dane z komputera, świeci się lampka "LED RX".
POWER
Gniazdo "POWER" służy do podłączenia zasilacza. Zasilacz podłącza się, gdy Arduino ma działać bez komputera. Zasilacz powinien mieć napięcie od 7 do 12 V.
Domyślnie Arduino może być zasilane z komputera przez złącze USB.
Lampka LED ON
Lampka oznaczona jako "ON" świeci gdy Arduino jest podłączone do prądu i działa.
Przycisk RESET
Po przyciśnięciu przycisku "RESET" twój program w Arduino uruchamia się od nowa.
Piny zasilania - POWER
Piny zasilania znajdują się z lewej strony dolnej krawędzi płytki. Mają za zadanie dostarczyć napięć do układu, którym sterujesz. Do wyboru masz napięcie 3,3 V oraz 5 V. "GND" (masa) to oznaczenie drugiego bieguna zasilania, popularnie zwanego "minusem". Pin oznaczony jako "VIN" to napięcie z wtyczki zasilacza.
Wśród pinów zasilania są także dodatkowe, pełniące inne funkcje.
Pin "RESET" pełni tą samą funkcję, co przycisk RESET. Podłączony na chwilę do GND, sprawia że program w Arduino uruchamia się od nowa.
Pin "IOREF" sygnalizuje modułom rozszerzającym Arduino jakim napięciem operują piny cyfrowe.
Piny cyfrowe - Digital
Oznaczyłem je na rysunku jako "Digital". Znajdują się na górnej krawędzi płytki. Są ponumerowane od 0 do 13. Każdy z nich można zaprogramować by pełnił rolę wejścia, jak i wyjścia. Charakteryzują się tym, że jako wyjścia mogą mieć napięcie albo 0V, albo 5V. Jako wejścia akceptują też dwa poziomy napięć około 0V i napięcie między 2,5 a 5 V. Sterują urządzeniami w stylu włącz/wyłącz, jak przełącznik sterujący światłem w twoim domu.
Lampka LED L
Arduino ma wbudowaną lampkę oznaczoną jako "L". Można ją włączać i wyłączać za pomocą programu. W Arduino UNO lampka jest podłączona do pinu cyfrowego numer 13.
Piny analogowe - Analog
Oznaczyłem je na rysunku jako "Analog". Są ponumerowane od 0 do 5. Pełnią tylko funkcje wejść. Mogą mierzyć napięcie od 0 do 5 V. Wejścia analogowe mają rozdzielczość 10 bitów. Rozpoznają 1024 poziomy napięcia, co daje dokładność około 0.005 V. Dokładność można zwiększyć zmniejszając programowo zakres napięć od 0 do 1.1 V. Do pinu "AREF" można podłączyć inne napięcie regulujące ten zakres. Jenak nie może ono przekraczać 5 V.
Gdy zabraknie ci pinów cyfrowych, możesz też użyć pinów analogowych jako cyfrowych. W tej roli mają one oznaczenia od A0 do A5 i działają z funkcjami programu odpowiedzialnymi za piny cyfrowe.
Piny PWM
Część z pinów cyfrowych ma dodatkową funkcję oznaczoną jako PWM. Funkcja ta pozwala regulować moc jaka jest dostarczana do lampek LED i silników. Dzięki niej można programowo regulować prędkość silnika lub jasność lampki.
Piny przerwań - INT
Dwa piny cyfrowe mają dodatkową funkcję "INT". Odpowiada ona za przerwania. Przerwania sprawiają, że kontroler przerywa swój normalny program i wykonuje natychmiast specjalnie przygotowany przez ciebie kawałek kodu. Funkcja INT pinów cyfrowych służy do obsługi urządzeń, których sygnał musi być obsłużony natychmiast.
Piny interfejsów szeregowych
Bardziej rozbudowane urządzenia podłączane do Arduino wymagają przesyłania danych za pomocą różnorodnych interfejsów szeregowych.
Serial - RS232 TTL
Podstawowym interfejsem szeregowym jest Serial. Jego piny znajdziesz w grupie pinów cyfrowych o numerach 0 i 1. Są oznaczone jako "RX" (wejście danych) i "TX" (wyjście danych). Interfejs ten działa w standardzie RS-232 TTL. Pozwala przesyłać dane szeregowo, asynchronicznie z prędkością do 115200 bodów. Ten sam interfejs wykorzystywany jest do komunikacji z komputerem przez USB.
I2C / TWI
Kolejnym interfejsem szeregowym jest I2C zwany też "TWI". To szeregowa magistrala synchroniczna o prędkości zegara 100 lub 400 kHz. Jego wyprowadzenia znajdują się na lewym końcu gniazdek pinów cyfrowych. Są oznaczone jako "SCL" (sygnał zegara) i "SDA" (sygnał danych). Pozwala na podłączenie do tych samych przewodów do 127 urządzeń i niezależną komunikację z każdym.
Sygnały I2C w Arduino UNO współdzielone są z pinami analogowymi 4 i 5.
SPI
SPI to szybka synchroniczna magistrala szeregowa. W Arduino UNO jej zegar może pracować maksymalnie z prędkością 8 MHz. Wyprowadzenia magistrali mają oznaczenia "SCK" (sygnał zegara), "MOSI" (wyjście danych), "MISO" (wejście danych) i znajdują się w 6-pinowym wtyku ICSP z prawej strony płytki.
W Arduino UNO sygnały te są współdzielone z pinami cyfrowymi o numerach od 10 do 13. Znajduje się tam też dodatkowy sygnał "SS" pozwalający na wybór urządzenia w magistrali.
Myślę, że płytka Arduino UNO sprawi ci wiele frajdy z odkrywania tajemnic elektroniki i programowania. Powodzenia w twoich eksperymentach i wynalazkach.
We wpisie wykorzystałem zmodyfikowany obrazek z programu Fritzing