Arduino - Czym jest ?
Arduino – platforma programistyczna dla systemów wbudowanych oparta na prostym projekcie Open Hardware przeznaczonym dla mikrokontrolerów montowanych w pojedynczym obwodzie drukowanym, z wbudowaną obsługą wejścia/wyjścia oraz standaryzowanym językiem programowania
Czym właściwie jest Arduino? Spróbuję opisać to najprostszymi słowami:
Arduino to płytka z mikrokontrolerem oraz całą dodatkową elektroniką, która pomaga/ułatwia programowanie i wykorzystywanie Uc w najróżniejszych projektach. Sercem układu jest mikrokontroler AVR firmy Atmel (konkretnie ATmega8, ATmega168, ATmega328, oraz ATmega1280 i ATmega 2560). Większość płytek zawiera 5V regulator napięcia, 16 MHz rezonator kwarcowy, piny wejścia/wyjścia oraz dodatkowe elementy usprawniające pracę (np. piny PWM). Mikrokontroler w platformie jest wstępnie zaprogramowany z wykorzystaniem programu rozruchowego, co upraszcza przesyłanie programu do pamięci flash (jest to „dysk twardy” naszego mikrokontrolera) układu, w porównaniu do innych urządzeń, gdzie najczęściej potrzebny jest zewnętrzny programator.
Najłatwiej zaprogramować Arduino z pomocą specjalnie do tego przygotowanego programu: Arduino IDE. Jest to wieloplatformowa aplikacja napisana w języku Java. Środowisko jest zaprojektowane w taki sposób, aby było przyjazne dla hobbystów i osób niezajmujących się tworzeniem oprogramowania na co dzień. IDE zawiera edytor kodu z takimi funkcjami jak podświetlanie składni czy automatyczne wcięcia w kodzie, oraz pozwala na kompilację i upload programu do płyty Arduino. Zazwyczaj nie ma potrzeby dodatkowej edycji plików Makefile (jest to plik, dzięki któremu jesteśmy w stanie wgrać program do mikrokontrolera – na razie nie musicie nic o nim wiedzieć) lub uruchamiania programów z linii poleceń, co znacznie ułatwia pracę.
Oficjalnie Arduino wypuściło kilka wersji swojej platformy, tak aby dobrać odpowiednią, w sam raz dla siebie. Poniżej prezentuję listę dostępnych modeli:
- Serial Arduino, programowany przez interfejs szeregowy DB9 i korzystający z układu ATmega8
- Arduino Extreme, programowany przez interfejs USB i zaopatrzony w układ ATmega8
- Arduino Mini, miniaturowa wersja Arduino wykorzystująca montowany powierzchniowo układ ATmega168 lub Atmega328
- Arduino Nano, jeszcze mniejsza wersja Arduino, zasilana przez USB zaopatrzona w montowany powierzchniowo układ ATmega168
- Arduino LilyPad, minimalistyczny projekt wykorzystujący montowany powierzchniowo układ ATmega168
- Arduino NG, programowany przez interfejs USB i korzystający z układu ATmega8
- Arduino NG plus, programowany za pośrednictwem interfejsu USB i zaopatrzony w układ ATmega168
- Arduino BT, programowana bezprzewodowo przez interfejs Bluetooth korzystająca z układu ATmega168
- Arduino Diecimila, z interfejsem USB i układem Atmega168 w obudowie DIL28
- Arduino Duemilanove („2009″), wykorzystujący Atmega168 (Atmega328 w nowszych wersjach) zasilany z zewnętrznego zasilacza lub przez USB
- Arduino Mega, zaopatrzony w montowany powierzchniowo układ ATmega1280, dzięki czemu posiada więcej pamięci i pinów wejścia/wyjścia.
- Arduino Uno, wersja z programowalnym interfejsem USB i układem Atmega328
- Arduino Leonardo, wersja z układem ATmega32u4, który jest sercem Arduino i odpowiada za komunikację USB
- Arduino Ethernet, wersja z układem ATmega328, interfejsem Ethernet zamiast USB oraz czytnikiem kart microSD
- Arduino Yún, wersja z układem ATmega32u4 oraz wbudowanym układem WiFi
- Arduino Esplora, wersja z układem Atmega32U4, płytka zaprojektowana jako baza pod kontroler do konsoli
- Arduino Robot, wersja zbudowana z dwóch okrągłych płyt, każda wyposażona w procesor ATmega32u4
Za najpopularniejsze wersje uznałbym Arduino: UNO, Leonardo, Mega, Nano, Mini – bynajmniej ja bym je zaklasyfikował do tych najbardziej znanych.
Jednak Oryginalne płytki to nie wszystko, internet „rozrywa” masa klonów, czyli układów identycznych bądź podobnych do oficjalnej wersji. Główną różnicą jest cena; Cena oryginału: ~150zł Cena klonu: ~50zł … No i podzespoły. Zazwyczaj do produkcji tanich klonów stosuje się części gorszej jakości.