neděle 25. srpna 2013

Arduino: univerzální řešení

Arduino mikrokontrolér mi připadá jako skvělá náhrada všech drobných elektronických udělátek, která jsem kdy stavěl nebo hodlal postavit. Zároveň mi otevřel dveře k řešení problémů, které jsem si dřív ani neuměl představit. Svou plnou programovatelností a rozšiřitelností je to univerzální švýcarský armádní nůž na téměř cokoliv, co jde převést na elektrické signály.

Například taková drobnost, jakou je "světelný had". Tedy řada LEDek vedle sebe, které blikají v nějakém rytmu, takže vytvářejí iluzi běžícího světla. Vždycky jsem chtěl postavit to, co měl zabudováno vepředu K.I.T.T. a čím pulzoval tím rychleji, čím napínavější scénu Michael Knight Rider zrovna řešil. Z pasivních součástek se to postavit dá, ale je na to potřeba buďto specializovaný obvod, nebo je to složité zapojení a ve výsledku je člověk zklamán, že efekt není dokonalý, protože nejspíš postrádá prvek zpomalení na krajích, když se světlo "odráží" a mění směr.


S Arduinem je tohle naprostá brnkačka! Stačí připojit diody (s omezujícími odpory) do všech 14 až 20 pinů a pak napsat jednoduchý program, který se dá během chvíle vyladit k dokonalosti. A tato hračka se dá dále rozvíjet - například připojením teplotního čidla může takový domácí K.I.T.T. reagovat na změnu teploty a čím víc člověk topí, tím rychleji světlo pulzuje :-) Nebo podobně může reagovat na denní čas, množství světla či na přiblížení "vetřelce". Možnosti jsou neomezené..

Takových hraček je samozřejmě možné navymýšlet milion: co třeba čidlo měřící vlhkost půdy v doma květináčích nebo venku ve skleníku a hlásící, že je čas doplnit zálivku? Z pasivních součástek není problém, ale s Arduinem je to ještě jednodušší a opět lze řešení dále rozvíjet. Zařízení nemusí jen blikat světýlkem, když je půda suchá - může také tu vodu samo spustit a zalít automaticky, nebo může dávkovat vláhu pravidelně, klidně i v závislosti na denní době, teplotě či dalších okolnostech. Stačí připojit pár čidel a dopsat pár řádků programu.

Z dalších šikovných věcí mě napadá například ventilátor, který v koupelně vyvětrá, když je v ní příliš vlhko. Nejspíš se prodává hotové řešení, ale určitě nepůjde naučit, aby se chovalo přesně tak, jak chci (například nepůjde nastavit spínací a vypínací hranice vlhkosti nezávisle). A co takový hlásič unikajícího plynu nebo přítomnosti kouře/ohně? S Arduinem je naprosto jednoduché postavit zařízení, které při detekci plynu či kouře kromě spuštění výstražné sirény může také poslat e-mail nebo SMSku nebo rovnou zavolá na dané číslo. Vlastně by mohlo i začít hasit, a předtím vypnout přívody elektřiny a plynu.

Zatím to byly samé drobnosti až zbytečnosti, ale co se inspirovat v knize Practical Arduino (k dostání u dobrých knihkupců, v PDF pak na uložto)? Můžeme tak například na dálku ovládat elektrické zásuvky (Arduino vysílá řídicí signál na 433 MHz), v pravou chvíli automaticky mačkat spoušť fotoaparátu (takže vytvoříme časosběrné video, nebo vyfotíme kapku dopadající na hladinu), postavíme vlastní zabezpečovací zařízení, nebo můžeme číst teploty z bezdrátových meteo čidel (Arduino poslouchá na 433 MHz) a postavit tak například inteligentní meteostanici s výstupem na web.


Další návody v knize uveřejněné jsou ještě mocnější: jak postavit vlastní osciloskop, bránu řízenou RFID čipy, nebo dokonce jak Arduino propojit s počítačem v autě, aby sbíralo data o jízdě tak, že je možné propojit údaje o poloze (z GPS připojené k Arduinu), otáčkách motoru, spotřebě a další a všechno to vynést do 3D grafu v Google Earth.

Člověka napadají další věci jen když prochází seznamem čidel k Arduinu na Ebay: čidlo světla, výšky hladiny, vlhkosti vzduchu, vlhkosti půdy, vzdálenosti (infračervené i ultrazvukové), magnetického pole, náklonu/otřesů, metanu, propan-butanu, zvuku, barvy, pH, zrychlení, tlaku vzduchu a další a další. Potom také existují měřidla různých veličin, která poskytují na výstupu elektrické impulzy, takže je možné Arduinem měřit například spotřebu elektrické energie nebo vody.

No a to byly vstupní možnosti. Na výstupu či pro komunikaci je Arduino také vybaveno skvěle: může blikat, pípat, vypisovat na alfanumerický displej, malovat na LCD, dokonce i na ty s dotykovou vrstvou. Umí taky komunikovat bezdrátově (v pásmu 350 MHz až 2,4 GHz, také přes WiFi a Bluetooth) a drátově (přes sériový port, USB i Ethernet), může tedy fungovat i jako jednoduchý web server, což je často využíváno. A samozřejmě může ovládat prakticky jakékoliv elektrické zařízení, počínaje motory a konče nevím čím.

Arduino je každopádně velmi mocná platforma, která by IMHO měla být vyučována ve školách anebo aspoň elektro-kroužcích. Dnešní mladí technici to potřebují jako sůl, aby neztratili kontakt s realitou...

V tuto chvíli mám rozestavěno snad 6 různých zařízení s Arduinem a napadají mě další. Zkusím je příležitostně popsat, třeba to bude inspirovat další hackery. Ale předtím všem prozradím, co je ještě lepší, než Arduino Uno... (klikni zde pro pokračování)

Žádné komentáře:

Okomentovat