Choć JUG ma w swojej nazwie Javę, nie znaczy to, że osoby przychodzące na spotkania ukierunkowane są tylko na ten jeden język programowania. Świadczyć może o tym choćby całkiem nienaganna frekwencja na ostatnim wykładzie, który poświęcony był Arduino. Hmm, Arduino... a co to właściwie jest? Na to i inne pytania odpowiadał nam prowadzący, Rafał Wokacz z Cybercom.
Hackathon na MCE - robot podążający za światłem |
Arduino to otwarta platforma sprzętowa, tak zwana „płytka” zawierająca mikrokontroler (procesor) oraz sporą ilość gniazd wejścia/wyjścia, za pomocą których można podłączyć ją do innych urządzeń peryferyjnych. W skrócie, jest to miniaturowy komputer (dosłownie - ma wymiary ok. 7 na 5 cm). Pewno zastanawiasz się po co komu coś takiego? Przecież większość z nas ma lśniące i coraz wydajniejsze laptopy. Czytaj dalej, za moment wszystko stanie się jasne :)
Arduino jest tak naprawdę nazwą całej rodziny urządzeń, z których podstawowym modelem jest Arduino Uno, o dość skromnych parametrach: częstotliwość taktowania procesora 16 MHz i pamięć 2 KB SRAM nie robią już dziś wrażenia, jest wręcz trudno wyobrazić sobie tak małe wartości! Nie to jednak decyduje o sile tego urządzenia. A więc co?
Jest to przede wszystkim produkt adresowany do ludzi kreatywnych, lubiących eksperymentować i majsterkować. Niekoniecznie potrzebna jest tu wiedza z elektroniki. Arduino zaprojektowane jest tak by można było je łatwo łączyć z innymi elementami, sensorami, silnikami i diodami. Dedykowane układy (tzw. shields) pozwolą dodać do bazowego Uno peryferia takie jak bluetooth, wi-fi, ekrany LCD, i kto wie co jeszcze. Na prezentacji przedstawione zostały różne przykłady zastosowań, od mrugania diodkami LED, po sterowanie silnikami, roboty podążające za źródłem światła, balansujące, zdalnie sterowane (także z funkcją koszenia trawy). Na tej długiej liście znalazła się też zautomatyzowana plansza do zdalnej gry w szachy, atrapa R2D2 z Gwiezdnych Wojen, oraz „inteligentna” koszulka z wszytym (sic: wszytym nićmi) Arduino LilyPad. Szczerze mówiąc w takim portfolio projektów aż wstyd wspominać o tak prostackich zastosowaniach jak zdalne otwieranie garażu. A Ty, jaki masz pomysł?
Zdalnie sterowana kosiarka |
Co lepsze, lista zalet Arduino nie kończy się na tym. Olbrzymim plusem jest fakt otwartości platformy. Na stronie projektu znajdziemy wszystko od SDK po dokumentację i schematy według których można zbudować własną płytkę od podstaw. Walory edukacyjne są nie do podważenia, każdy znajdzie tu coś dla siebie, zależnie od poziomu zaawansowania i obszaru zainteresowań (od prostego software'u po hardware). W dalszej części wykładu przyjrzeliśmy się bliżej narzędziom, tj. Arduino IDE, które umożliwia nam pisanie kodu i uruchomienie go na mikrokontrolerze. Poza bazowym edytorem dostępne są też inne, zależnie od platformy, m.in. pluginy do popularnych środowisk jak Eclipse, Xcode, Visual Studio. Razem z IDE dostajemy kompilator oraz biblioteki Arduino, które pozwalają bardzo łatwo obsłużyć piny wej/wyj oraz skonfigurować je np. do obsługi połączenia szeregowego. Wszystko to robi się praktycznie kilkoma linijkami kodu (C/C++), co na pewno zachęca do próbowania nowych (szalonych?) pomysłów.
Ostatnim smaczkiem prezentacji było live-demo zdalnie sterowanego robota zbudowanego przez Rafała. Nasz mały dwukołowy przyjaciel składał się z Arduino Uno, silniczków, modułu bluetooth, paru dodatkowych elementów i zasilany był bateryjką 9V. Kontrolerem był smartfon z lekko skastomizowaną aplikacją na Androida. Trzeba przyznać, że zaostrzyło to mój apetyt na warsztaty Robothon organizowane przez Cybercom w najbliższą sobotę :)
Jak zwykle na spotkaniu wylosowaliśmy też jedną licencję na produkt firmy JetBrains.
Duża frekwencja mimo Geecona - wiele nowych twarzy |
Opłacało się przyjść. O Arduino słyszałem już wcześniej ale nie miałem okazji zrobić sobie "startowego researcha'a". No i jeszcze udało się wygrać licencję na IntelliJ IDEA, dzięki wielkie.
ReplyDeleteA na Vaadinie można wygrać wejściówkę na 33rd degree http://goo.gl/SJH9hL. Rejestracja na konkurs tylko dzisiaj :).
ReplyDelete