Prawdopodobnie jeżeli zaczynałeś swą przygodę z elektroniką (mikrokontrolerami) dość niedawno (do około 3 lat temu) to musiałeś usłyszeć o Arduino. Bardzo możliwe, że w większości słyszałeś same dobre opinie, co prawdopodobnie przekonało Cię do rozpoczęcia nauki na tej płytce.
Ale dlaczego tak jest? Co zdecydowało o niepodważalnym sukcesie małej płytki z mikrokontrolerem ATmega, nazwanej Arduino? Przecież ATmega sama w sobie na rynku jest i była już od wielu, wielu lat.
Jeżeli zaczynamy naszą „zabawę” z mikrokontrolerami ATmega musimy kupić układ, kwarc, pare rezystorów oraz programator. Potem wszystko połączyć w całość, podłączyć do komputera oraz znaleźć odpowiadające nam środowisko, w którym przez dłuższy czas nie będziemy wiedzieli co robimy. Ustawić jakies czarodziejskie „Fuse Bity” i przejść do programowania… Tutaj zaczyna się kolejna zabawa ponieważ w podstawowej wersji możemy wybrać albo Bascom albo czysty język C. Obie wersje dla początkującego mogą być wręcz przerażające.
W przypadku Arduino wystarczy kupić płytkę, podłączyć ja do komputera, zainstalować gotowe środowisko paroma kliknięciami. Kod piszemy w C z biblioteką, która ułatwia wszystko i możemy pisać programy korzystając z bardzo prostych gotowych funkcji. Dostajemy także wiele bibliotek tworzonych przez społeczność. Gdy już napiszemy kod wystarczy go wgrać jednym kliknięciem.
Co do skryptów oraz programowania to prosty kod migający diodą w języku C wygląda tak:
1 2 3 4 5 6 7 8 9 10 |
#include <avr/io.h> #include <util/delay.h> int main() { DDRB |= _BV(PB5); while (1) { PORTB ^= _BV(PB5); _delay_ms(1000); } } |
A w Arduino, tak:
1 2 3 4 5 6 7 8 9 10 11 12 |
int led = 13; void setup() { pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); } |
Widać różnicę, nie?
Co prawda kod w czystym C jest troszkę mniej obszerny jednak dla początkujących może wydawać się o wiele bardziej skomplikowany niż ten z Arduino.
Więc moim zdaniem głównym aspektem, który zadecydował o sukcesie Arduino jest to, że ta płytka ma po prostu niski próg wejścia oraz ogromne community. A Wy co o tym sądzicie? Macie może jakieś swoje teorie?