Podczas prototypowania urządzeń elektronicznych, zwłaszcza tych o wysokim stopniu rozbudowy, może się okazać, że ich czysto sprzętowa implementacja będzie kosztowna i podatna na awarie. W tym celu, aby zmniejszyć gabaryty urządzeń bez konieczności ograniczania ich funkcjonalności sprzętowej, warto skorzystać z mikrokontrolera. Na rynku pracy coraz częściej poszukiwani są specjaliści z umiejętnościami projektowania układów elektronicznych z mikrokontrolerami. Ale od czego najlepiej zacząć naukę programowania? Jedną z najlepszych odpowiedzi na to pytanie jest Arduino; platforma sprzętowo-programowa typu open source, z której korzysta wielu hobbystów i profesjonalistów na całym Świecie. Dedykowane środowisko programistyczne bogate w biblioteki oraz składnia bazująca na języku C/C++ umożliwia stworzenie wielu ciekawych projektów oraz prototypów programowalnych urządzeń elektronicznych.

Arduino – światowy sukces w dziedzinie systemów wbudowanych

Korzenie platformy Arduino sięgają 2003 roku. W pierwotnym założeniu Arduino powstało jako narzędzie mające na celu ułatwić projektowanie układów elektronicznych tak, aby mogli to wykonywać zarówno inżynierowie, jak i majsterkowicze, którzy chcą nabywać doświadczenie praktyczne w elektronice i programowaniu, poszerzając swoje umiejętności konstruktorskie. Pierwsza wersja Arduino była wyposażona w mikrokontroler Atmega8, a do komunikacji z komputerem wykorzystywała interfejs szeregowy RS-232. Konstrukcja płytki szybko się rozwijała i jej kolejna odsłona, była już wyposażona w złącze USB. Według stanu na 2013 rok, do rąk użytkowników na całym Świecie trafiło ok. 700 000 oficjalnych płytek Arduino. Na ogromny sukces tej platformy ma wpływ także zintegrowane środowisko programistyczne Arduino IDE, które pozwala na implementację bibliotek do obsługi takich układów jak sterowniki diod LED, wyświetlacze LCD czy popularne w modelarstwie i robotyce serwomechanizmy. Sukces komercyjny i popularność Arduino, spowodowały także pojawienie się na rynku urządzeń umożliwiających współpracę z innymi popularnymi platformami dla systemów wbudowanych, takimi jak Raspberry Pi, BeagleBone czy STM32 Nucleo.

Arduino UNO – kultowy bestseller wśród systemów embedded

W sprzedaży można spotkać blisko dwadzieścia różnych oryginalnych płytek Arduino oraz ich kompatybilnych klonów. Jednak najbardziej popularną płytką, która osiąga najlepsze wyniki sprzedaży, jest Arduino UNO. Wyposażona w mikrokontroler AVR Atmega328 o częstotliwości zegara 16MHz, pamięć FLASH o pojemności 32kB, pamięć RAM o pojemności 2kB, niebieska płytka PCB o wymiarach zaledwie 68,6 mm x 53,3 mm komunikuje się z komputerem poprzez port USB, z którego także czerpie zasilanie napięciem 5V. Jeśli płytka obsługuje aplikację o zwiększonym poborze prądu, np. sterowanie silnikiem elektrycznym lub serwomechanizmem, wówczas możemy skorzystać z zasilania niezależnego, podłączając baterię 6F22 z klipsem i przejściówką lub zasilacz sieciowy DC o napięciu wyjściowym z przedziału 7V – 12V, zakończony wtykiem 5,5mm x 2,1mm. Zastosowany mikrokontroler Atmega328 jest wyposażony w 14 programowalnych pinów dwustanowych typu wejście/wyjście, przetwornik analogowo-cyfrowy z sześcioma wejściami, a także sześć kanałów sprzętowego PWM, co daje ogromne możliwości funkcjonalne wykorzystania tej płytki przy prototypowaniu wielu ciekawych projektów. Dodatkowo w sprzedaży można nabyć nakładki Arduino Shield – dedykowane rozszerzenia sprzętowe o konfiguracji złączy kompatybilnej z płytką bazową.

Arduino Leonardo – jeszcze więcej pinów analogowych

Na pierwszy rzut oka, płytka Arduino Leonardo wygląda identycznie jak Arduino UNO, ale to tylko pozory. W przypadku Arduino UNO, głównym mikrokontrolerem jest Atmega328, a drugi mikrokontroler na płytce – Atmega16U2, odpowiada za komunikację płytki z komputerem oraz za proces programowania głównego mikrokontrolera. Natomiast w modelu Leonardo, oba te układy są połączone w jeden układ scalony – mikrokontroler Atmega32U4 ze zintegrowanym konwerterem szeregowym USB. Z pozoru, może to być nieznacząca cokolwiek różnica. Pierwszą zaletą jest niższy koszt produkcji, a drugą jest możliwość zaprogramowania płytki w taki sposób, aby była widziana przez komputer jako urządzenie peryferyjne USB takie jak mysz lub klawiatura, co daje większe możliwości rozbudowy projektów. Tak samo, jak większość innych płytek Arduino, również Arduino Leonardo można zasilać na kilka sposobów – za pośrednictwem gniazda zasilającego na wtyk o rozmiarach 5,5mm x 2,1mm dla zasilacza sieciowego lub baterii 6F22 z adapterem, poprzez port komunikacyjny USB, a także podłączając zasilanie do wyprowadzenia “Vin” na listwie portów mikrokontrolera. Ponadto płytka jest wyposażona w przetwornik analogowo-cyfrowy z multiplekserem umożliwiającym obsługę do dwunastu czujników lub potencjometrów jednocześnie, a także siedem kanałów PWM do sterowania silnikami, serwomechanizmami i matrycami LED.

Arduino MEGA – dla wymagających użytkowników

Arduino MEGA również charakteryzuje się podobnym wyglądem do Arduino UNO i do programowania głównego mikrokontrolera oraz w celu komunikacji z komputerem przez port USB, również wykorzystuje mikrokontroler Atmega16U2, ale na tym praktycznie kończą się podobieństwa sprzętowe. Kluczową różnicą, która szczególnie rzuca się w oczy, jest zastosowany mikrokontroler – Atmega2560, którego mocną stroną jest aż 16 wejść analogowych oraz 54 wyprowadzenia cyfrowe, które mogą zostać programowo ustawione jako wejścia, wyjścia lub wejścia przyciskowe. Ponadto, podczas gdy Arduino UNO jest wyposażone tylko w jeden port szeregowy, Arduino MEGA ma w swojej konstrukcji zawarte cztery takie porty, co znacznie przyspiesza wymianę danych z zewnętrznymi urządzeniami. Jeśli projekt naszego urządzenia charakteryzuje się wysokim stopniem rozbudowania, wówczas Arduino MEGA będzie znakomitym wyborem na sterownik.