Kto zna mnie na forum, albo czytał moje artykuły, ten wie, że delikatnie rzecz ujmując nie jestem wielkim fanem Arduino. Okoliczności ostatnich tygodni jednak sprawiły, iż nie tylko musiałem przerwać redagowanie nowych, wspaniałych artykułów, ale też zapoznać się z tą platformą bliżej. Kilka tygodni pracy z Arduino sprawiło, iż pokochałem tę platformę, i jest ku temu wiele powodów. Postaram się przybliżyć w tym artykule kilka z nich.
Jeden standard, by wszystkimi rządzić
Projektowanie układów z użyciem Arduino jest proste. Płytki Arduino i moduły rozszerzeń do nich mają standardowy kształt i rozstaw złączy, dzięki czemu możemy ułożyć całą wieżę z gotowych modułów z płytką Arduino na samym spodzie. Ba, ten format jest tak genialny i intuicyjny, iż wielu innych producentów bezczelnie go ukradło i użyło w swoich zestawach. Jasne, nie pasuje do płytek stykowych, ale płytki stykowe to problemy ze stykaniem właśnie i straszne pojemności pasożytnicze, które tylko szkodzą, gdy chcemy uzyskać duże prędkości komunikacji szeregowej czy równoległej. Arduino jednak ma też wersje micro i nano z rozstawem wyprowadzeń z myślą o "stykówkofilach". Ta polityka różnorodności i inkluzywności to coś, co należy chwalić, zwłaszcza że walka z wykluczeniem to obecnie ważny cel dla USA i UE. Doceńmy to i my.
Piękno w prostocie - jest IDEalnie
Mówi się, że doskonałość formy i funkcjonalności osiąga się wtedy, gdy nie można już niczego odjąć, a nie wtedy, gdy nie można już niczego dodać. I to właśnie Arduino zrobiło ze swoim środowiskiem programistycznym, czyli IDE. MPLAB-X zajmuje na moim dysku prawie 9GB, przy tym ArduinoIDE zajmuje mniej, niż Gadu-Gadu 10 lat temu, bo ledwo kilkadziesiąt megabajtów. Żadnych zbędnych kreatorów kodu i konfiguracji, kobylastych bibliotek, jeden kompilator (bo po co więcej?) i biblioteki tylko dla tego, czego chcemy używać. Nie jestem pewien, czy jest tu jakiś debugger, manager plików i projektów, czy inne, zbędne głupoty, z których i tak się nie korzysta. IDE jest proste i przejrzyste, jak systemowy Notatnik, w którym piszę swoje artykuły. Odwracam kolory i mogę pisać kod godzinami. Obsługa innych płytek i dodatkowe biblioteki dodaje się w miarę potrzeby, dlatego całość oszczędza miejsce. Ba, nawet instalacja nie jest konieczna, bo można wypakować archiwum i od razu zacząć pisać programy. Prościej się nie da, i to jest piękne.
Programowanie proste, jak budowanie cepa
Arduino było pomyślane jako platforma edukacyjna oraz dla artystów, którzy chcą dodać elektronikę do swojej sztuki bez czytania Sztuki elektroniki. Dlatego wiele aspektów programowania mikrokontrolera jest realizowanych "w tle". Nie musimy ustawiać zegara, konfiguracja dowolnych peryferiów to zwykle jedno lub dwa polecenia, używanie GPIO czy peryferiów nie wymaga nawet zaglądania do noty katalogowej mikrokontrolera. To wielkie ułatwienie dla początkujących, a i zaawansowany programista znajdzie w tym przyjemność niemyślenia o tym, czy stan pinów ustawia się pisząc do portu, czy do zatrzasku, gdzie się ustawia kierunek działania portu, albo rezystory podciągające. Wszystko jest proste, przyjemne i pełne relaksu. Znalazłem swoje centrum i programując osiągam zen.
Arduino jest tak proste, że nawet początkujący piszą biblioteki dla innych początkujących, by im początki ułatwić na początek. Ten wysoki poziom prostoty i abstrakcji osiąga się niewielką stratą wydajności, ale czymże jest wydajność wobec niebiańskiego doświadczenia w programowaniu Arduino? Arduino powinno być w szkołach zamiast lekcji religii.
Pogadajmy o pieniądzach
Oryginalne płytki Arduino swoje kosztują, ale to dobrze wydane pieniądze - płacimy w końcu za jakość platformy, IDE i podstawowych bibliotek. Plus, co kilka miesięcy firma próbuje stworzyć nowe, lepsze Arduino, a to też swoje kosztuje. I tak ceny są niższe, niż za coś w rodzaju Nvidia Jetson, czy choćby Raspberry Pi, a funkcjonalność jest dużo większa - na co komu platforma, która wymaga całego systemu operacyjnego do działania, a do tego jest programowana w tym okropnym Pythonie? Arduino jest tak dobre, że powstały potężniejsze jego warianty, często od innych producentów. Na przykład Digilent ukradł pomysł Arduino i stworzył platformę ChipKIT. Na szczęście ten zuchwały skok na nieswoją kasę wyszedł im bokiem, a my możemy się cieszyć używanymi płytkami w niskiej cenie.
Do tego nasi skośnoocy przyjaciele z Chin też klonują Arduino i klepią je w niskich cenach. Jak kogoś nie stać na oryginał, to może sobie takiego klona kupić, ale niech pamięta, że tym samym wspiera komunistyczny reżim.
Poza samym Arduino mamy też wysyp ogromnej liczby modułów, układów i płytek z nim współpracujących. Od płytek z przekaźnikami przez najróżniejsze czujniki, kontrolery wyświetlaczy LCD i LED, po żyroskopy, akcelerometry i układy syntezy DDS. Ba, ostatnio kupiłem moduł do EKG przeznaczony dla Arduino. I znów nasi komunistyczni bracia z dalekiej Azji oferują nam te moduły w absurdalnie niskich cenach. Nie ma żadnej innej platformy, która tyle zrobiła dla elektroniki, co Arduino.
Arduino Inside
Na Arduino zrealizowano wiele fantastycznych projektów. Sam miałem świetną frezarkę CNC opartą na kontrolerze z Arduino. Arduino pojawiało się też w wielu innych projektach, zarówno amatorskich jak i w komercyjnych. Jest tak proste, genialne i uniwersalne, że zrealizowano na nim wspaniały i dobrze przemyślany projekt otwartego kontrolera silnika spalinowego - zamiennika dla fabrycznych ECU, za które producenci samochodów liczą sobie nieprzyzwoicie dużo.
Jeśli uda się zmniejszyć rozmiar Arduino i obniżyć jeszcze jego pobór prądu, to powstaną też na nim implantowane urządzenia medyczne, jak rozruszniki serca czy pompy insulinowe. To będzie wspaniałe, gdy każdy z nas będzie mógł wziąć udział w rozwoju medycyny.
Niniejszym chciałbym przy okazji przeprosić za moją bezpodstawną krytykę - nie wiedziałem, o czym piszę. Kocham Arduino. A Wy? Napiszcie!
Jeden standard, by wszystkimi rządzić
Projektowanie układów z użyciem Arduino jest proste. Płytki Arduino i moduły rozszerzeń do nich mają standardowy kształt i rozstaw złączy, dzięki czemu możemy ułożyć całą wieżę z gotowych modułów z płytką Arduino na samym spodzie. Ba, ten format jest tak genialny i intuicyjny, iż wielu innych producentów bezczelnie go ukradło i użyło w swoich zestawach. Jasne, nie pasuje do płytek stykowych, ale płytki stykowe to problemy ze stykaniem właśnie i straszne pojemności pasożytnicze, które tylko szkodzą, gdy chcemy uzyskać duże prędkości komunikacji szeregowej czy równoległej. Arduino jednak ma też wersje micro i nano z rozstawem wyprowadzeń z myślą o "stykówkofilach". Ta polityka różnorodności i inkluzywności to coś, co należy chwalić, zwłaszcza że walka z wykluczeniem to obecnie ważny cel dla USA i UE. Doceńmy to i my.
Piękno w prostocie - jest IDEalnie
Mówi się, że doskonałość formy i funkcjonalności osiąga się wtedy, gdy nie można już niczego odjąć, a nie wtedy, gdy nie można już niczego dodać. I to właśnie Arduino zrobiło ze swoim środowiskiem programistycznym, czyli IDE. MPLAB-X zajmuje na moim dysku prawie 9GB, przy tym ArduinoIDE zajmuje mniej, niż Gadu-Gadu 10 lat temu, bo ledwo kilkadziesiąt megabajtów. Żadnych zbędnych kreatorów kodu i konfiguracji, kobylastych bibliotek, jeden kompilator (bo po co więcej?) i biblioteki tylko dla tego, czego chcemy używać. Nie jestem pewien, czy jest tu jakiś debugger, manager plików i projektów, czy inne, zbędne głupoty, z których i tak się nie korzysta. IDE jest proste i przejrzyste, jak systemowy Notatnik, w którym piszę swoje artykuły. Odwracam kolory i mogę pisać kod godzinami. Obsługa innych płytek i dodatkowe biblioteki dodaje się w miarę potrzeby, dlatego całość oszczędza miejsce. Ba, nawet instalacja nie jest konieczna, bo można wypakować archiwum i od razu zacząć pisać programy. Prościej się nie da, i to jest piękne.
Programowanie proste, jak budowanie cepa
Arduino było pomyślane jako platforma edukacyjna oraz dla artystów, którzy chcą dodać elektronikę do swojej sztuki bez czytania Sztuki elektroniki. Dlatego wiele aspektów programowania mikrokontrolera jest realizowanych "w tle". Nie musimy ustawiać zegara, konfiguracja dowolnych peryferiów to zwykle jedno lub dwa polecenia, używanie GPIO czy peryferiów nie wymaga nawet zaglądania do noty katalogowej mikrokontrolera. To wielkie ułatwienie dla początkujących, a i zaawansowany programista znajdzie w tym przyjemność niemyślenia o tym, czy stan pinów ustawia się pisząc do portu, czy do zatrzasku, gdzie się ustawia kierunek działania portu, albo rezystory podciągające. Wszystko jest proste, przyjemne i pełne relaksu. Znalazłem swoje centrum i programując osiągam zen.
Arduino jest tak proste, że nawet początkujący piszą biblioteki dla innych początkujących, by im początki ułatwić na początek. Ten wysoki poziom prostoty i abstrakcji osiąga się niewielką stratą wydajności, ale czymże jest wydajność wobec niebiańskiego doświadczenia w programowaniu Arduino? Arduino powinno być w szkołach zamiast lekcji religii.
Pogadajmy o pieniądzach
Oryginalne płytki Arduino swoje kosztują, ale to dobrze wydane pieniądze - płacimy w końcu za jakość platformy, IDE i podstawowych bibliotek. Plus, co kilka miesięcy firma próbuje stworzyć nowe, lepsze Arduino, a to też swoje kosztuje. I tak ceny są niższe, niż za coś w rodzaju Nvidia Jetson, czy choćby Raspberry Pi, a funkcjonalność jest dużo większa - na co komu platforma, która wymaga całego systemu operacyjnego do działania, a do tego jest programowana w tym okropnym Pythonie? Arduino jest tak dobre, że powstały potężniejsze jego warianty, często od innych producentów. Na przykład Digilent ukradł pomysł Arduino i stworzył platformę ChipKIT. Na szczęście ten zuchwały skok na nieswoją kasę wyszedł im bokiem, a my możemy się cieszyć używanymi płytkami w niskiej cenie.
Do tego nasi skośnoocy przyjaciele z Chin też klonują Arduino i klepią je w niskich cenach. Jak kogoś nie stać na oryginał, to może sobie takiego klona kupić, ale niech pamięta, że tym samym wspiera komunistyczny reżim.
Poza samym Arduino mamy też wysyp ogromnej liczby modułów, układów i płytek z nim współpracujących. Od płytek z przekaźnikami przez najróżniejsze czujniki, kontrolery wyświetlaczy LCD i LED, po żyroskopy, akcelerometry i układy syntezy DDS. Ba, ostatnio kupiłem moduł do EKG przeznaczony dla Arduino. I znów nasi komunistyczni bracia z dalekiej Azji oferują nam te moduły w absurdalnie niskich cenach. Nie ma żadnej innej platformy, która tyle zrobiła dla elektroniki, co Arduino.
Arduino Inside
Na Arduino zrealizowano wiele fantastycznych projektów. Sam miałem świetną frezarkę CNC opartą na kontrolerze z Arduino. Arduino pojawiało się też w wielu innych projektach, zarówno amatorskich jak i w komercyjnych. Jest tak proste, genialne i uniwersalne, że zrealizowano na nim wspaniały i dobrze przemyślany projekt otwartego kontrolera silnika spalinowego - zamiennika dla fabrycznych ECU, za które producenci samochodów liczą sobie nieprzyzwoicie dużo.
Jeśli uda się zmniejszyć rozmiar Arduino i obniżyć jeszcze jego pobór prądu, to powstaną też na nim implantowane urządzenia medyczne, jak rozruszniki serca czy pompy insulinowe. To będzie wspaniałe, gdy każdy z nas będzie mógł wziąć udział w rozwoju medycyny.
Niniejszym chciałbym przy okazji przeprosić za moją bezpodstawną krytykę - nie wiedziałem, o czym piszę. Kocham Arduino. A Wy? Napiszcie!
Cool? Ranking DIY