Témakör:
Arduino – mikrokontroller mindenkinek!
Megjelent: 2021. február 10.
Minden műszaki érdeklődésű ember hallott már az Arduino-ról, mivel egyedülálló tulajdonságainak köszönhetően vált népszerűvé. Napjainkban, a rajongók által létrehozott és kifejlesztett Arduino vállalat állítja fel a szabványokat a csatlakozók és a jelelosztás területén is még a mikrovezérlőket vagy kiértékelőkártyákat gyártó hatalmas vállalatok számára is. Mi is az Arduino, és miért vált az oktatás és a prototípuskészítés nem hivatalos irányadójává?
Milyen Arduino típusokat ismerünk, és hogyan lehet felhasználni alkalmazásainkhoz?
Arduino – tökéletes választás kezdő programozók számára
Ha a mikrovezérlők programozásának megtanulására törekszünk, akkor az Arduino platform tökéletes választás. Ugyanez a helyzet, ha a technológia rajongói vagyunk, van ötletünk, és szeretnénk gyorsan létrehozni egy mikrovezérlőn és szabványos perifériákon alapuló eszközt, amilyenek például az alfanumerikus kijelzők, grafikus kijelzők, sebességváltó modulok, motor és mágnesszelep-meghajtók és még sok más. Az Arduino platform akkor is hasznos, ha egy rövid sorozatot szeretnénk gyártani, az egység „szíveként” egy mikrovezérlővel, amely nem feltétlenül Arduino bővítő-modulokkal működik.
1. ábra Bővítőmodul kijelzővel és nyomógombokkal. Segítségével könnyen készíthető óra
Arduino – mi is az tulajdonképpen?
Az „Arduino” – elnevezés alatt általában csak magát a kártyát értjük, holott az Arduino – nem csupán egy egykártyás számítógép, hanem egy teljes platform, amely könnyen használható eszközökön és szoftvereken alapul. Ami fontos, hogy ez nyílt forráskódú platform, amely hozzáférést biztosít ingyenes, részletes dokumentációkhoz, diagramokhoz és programforrásokhoz. Általában az Arduino platformon alapuló eszköz egy prototípuspanelből áll, amelyhez tartozik egy mikrovezérlő és egy bővítőmodul, az úgynevezett pajzs. A legtöbb Arduino prototípus rendelkezik USB interfésszel, amely asztali számítógéppel programozható. A mikrokontrollerjeleket bővítőmodulokkal ellátott aljzatokba vagy forrasztási pontba továbbítják. Mivel az alaplapokat miniatűr modulként kínálják, néha köznyelven „Arduino mikrokontrollereknek” vagy „Arduino egykártyás számítógépeknek” nevezzük őket.
Arduino programozás
Az Arduino programozási nyelv szintaxisa szorosan kapcsolódik a C++ nyelvhez, és igencsak népszerűvé vált a mikrokontroller-programozók körében. Az Arduino programozási környezet nagy előnye, hogy számos könyvtár áll rendelkezésre, amelyek megkönnyítik a program és a felhasználók által a világ minden táján kifejlesztett számtalan alkalmazás létrehozását. Ezenkívül a programozási környezet könnyen hozzáférhető, függetlenül attól, hogy mire használható. Magára a prototípuspanelre is igaz, hogy – ha nem akarjuk megvásárolni, akkor – a rendelkezésre álló dokumentumok alapján saját magunk is létrehozhatjuk.
Az Arduino rövid története
Az Arduino ötletét Olaszországban, az Ivrea Interaction Design Institute-ban fogalmazták meg. Az Arduino platformot prototípusok gyors létrehozása és programozási készségek fejlesztése céljából tervezték olyan hallgatók, akik korábban nem voltak jártasak az elektronikában vagy a programozásban. Az Arduino készítőinek briliáns ötlete nemcsak az akadémiai területen, hanem azon túl is bevált, sok embernek segített a tanulásában vagy saját ötleteinek gyors megvalósításában. Miután túllépett az egyetemi környezeten, és a felhasználók nagyobb csoportja is elismerte, az Arduino platformnak új kihívásokhoz kellett alkalmazkodnia, és új igényeknek kellett megfelelnie. Ezzel párhuzamosan a prototípuspanelek portfóliója jelentősen diverzifikálódott, és már nemcsak az egyszerű 8 bites egységeket tartalmazta, hanem egy kifinomultabb eszközt is, amelyet 3D nyomtatókkal, IoT eszközökkel, hordozható eszközökkel és más, igényesebb alkalmazásokkal való használatra terveztek. Az összes Arduino panel nyílt forráskódú licencfeltételeken alapul, amelyek lehetővé teszik a felhasználók számára az önálló felhasználást és szabad beállításokat. A szoftver szintén nyílt forráskódú, és a világ minden tájáról származó felhasználók hozzájárulásának köszönhetően fejlődik.
2. ábra Bővítőmodul GSM modemmel. Hasznos lehet értesítési funkcióval bíró riasztó készítésekor
Miért az Arduino?
Néhány évvel ezelőtt minden fejlesztőkártya- vagy mikrokontroller-gyártó saját csatlakozószabvánnyal is rendelkezett. Most a legtöbben átálltak az Arduino által bevezetett informális „szabványra”. A fő ok az Arduino népszerűségén kívül, valószínűleg a bővítőmodulok széles skálájának elérhetősége. Ha egy fejlesztőkártya kimenetei megfelelnek az Arduino kimeneteinek, a felhasználó szabadon igénybe veheti az Arduino bővítményeinek hatalmas kínálatát, amely lehetővé teszi a prototípus funkcionalitásának egyszerű, olcsó és gyors elérését. Ez a fejlesztőkártya gyártója számára is előnyös, mivel ezentúl ő maga a mikrovezérlő alkalmazására összpontosíthat az együttműködő alkatrészek minimális készletével, ami viszont lehetővé teszi a végső ár csökkentését.
Könnyű kezelhetősége, elérhetősége és a felhasználók változatos igényei miatt az Arduino alapján megvalósított projektek között számos ötletre és problémára lehet megoldást találni szinte minden eszközhöz. Használhatók közvetlenül vagy referenciaként. Az alkalmazáskészítéshez használt szoftver (Arduino IDE) még kezdők számára is igen könnyen alkalmazható, ugyanakkor nagyon rugalmas, sok lehetőséget kínál a haladóbb felhasználók számára is. Futtatható MacOS, Windows és Linux operációs rendszerekkel, aminek köszönhetően változatos hardverpreferenciákkal és pénzügyi lehetőségekkel rendelkező felhasználók számára érhető el.
Lehetetlen számontartani az összes Arduino alkalmazást, mivel mind a szakemberek, mind a hobbifelhasználók lelkesen használják. A diákok és a tanárok az Arduino segítségével nemcsak olcsó mérőeszközöket állítanak elő elektromos értékek mérésére, hanem kémiai és fizikai kísérletekhez tervezett eszközöket is. A programozást tanító tanárok világszerte használják az iskolákban. A tervezők és építészek interaktív építési prototípusokat készítenek az Arduinoval. A zenészek és művészek interaktív művészi installációkat hoznak létre, és új típusú hangszerekkel kísérleteznek. Sokak számára az Arduino platform kulcsfontosságú eszköz az új készségek elsajátításához. Mindenki használhatja: gyerekek, hobbisták, művészek, programozók, tervezőmérnökök és még sokan mások. A lépésenkénti utasítások alapján bárki építhet eszközt és megoszthatja ötleteit online az Arduino közösség többi tagjával.
3. ábra Bővítőmodul Ethernet interfésszel. Otthoni automatizálási készülékekhez használhatók
Melyik Arduino terméket válasszuk?
Általában az Arduino platformon alapuló prototípus vagy eszköz létrehozásához szükség van egy prototípuspanelre, amely az igényeinknek megfelelő mikrovezérlővel van felszerelve, egy bővítőmodulra, azaz egy pajzsra, Arduino IDE szoftverre, USB kábelre, tápegységre és PC-re. Jelenleg a rendszer különféle Arduino típusokat tartalmaz, különböző mikrokontrollerekkel és hatalmas számú bővítőmodullal. A példamodulokat az 1..3. ábrák mutatják be.
Típustól függően az Arduino kártyák csatlakozókkal vannak felszerelve – foglalatok arany érintkezőkhöz vagy forrasztási pontokhoz, amelyek nemcsak a panel csatlakoztatásához használhatók, hanem a beágyazott készülék nyomtatott áramköri lapjára is felszerelhetők, ha az Arduino mikrokomputer központi egységként szolgál. Minden kártyának van egy mikrovezérlő memóriájában mentett rendszerbetöltője. A rendszerindítót az „in-circuit” processzor programozására használják (anélkül, hogy azt ki kellene forrasztani a rendszerből), az Arduino IDE menü opcióinak kiválasztásával.
1. táblázat A jelenleg kínált Arduino kártyák listája
Az Arduino prototípuspanelek jelenlegi listáját az 1. táblázat tartalmazza. Legtöbbjük AVR magos mikrovezérlőkkel, de Intel processzorral felszerelt megoldások, valamint az ARM Cortex-M0+ maggal rendelkező SAM21 is elérhető. A táblázat nem tartalmazza az Espressif Systems magokkal ellátott kártyákat (például a népszerű ESP8266-ot), amelyek szintén programozhatók Arduino IDE-vel. A kiválasztás során a mikrokontroller tulajdonságait kell figyelembe venni. Az egyes egységek különböznek a rendelkezésre álló memória, az alapsebesség vagy a funkcióblokkok tekintetében, például: interfészek, időzítők, PMW generátorok stb. Érdemes figyelni a kimenetekre is, mivel néhányuknak nincsenek csatlakozói – forrasztásra tervezték őket.
4. ábra Az Arduino Uno R3 a kezdőknek ajánlott
Arduino Nano, Arduino Uno és mások
Az Arduino által kínált megfizethető kártyák és ingyenes programozási környezet remek alternatívát jelentenek a piacon található más fejlesztőeszközökhöz képest, amelyeket például a mikrovezérlők gyártói kínálnak. A dokumentáció és a nyílt források rendelkezésre állása lehetővé teszi a platform független módosítását és az igényeinek megfelelő kiigazítását. Komplett Arduino kártyák érhetők el megfizethető áron. A kezdők számára az Arduino Uno jó kiindulópont. Normál USB csatlakozóval lett felszerelve, amellyel egyszerűen csatlakoztathatja az alaplapot a számítógéphez, és egyetlen kattintással feltöltheti a szoftvert. A kártyára szerelt ATMEGA328 mikrokontroller elegendő memóriát és hardverforrást tartalmaz számos vezérlőalkalmazás végrehajtásához. A CPU órajel (frekvencia) 16 MHz, ami 62,5 nanoszekundumos gépi ciklust biztosít, a mikrovezérlőhöz használt AVR mag pedig végrehajtja az utasítások nagy részét egyetlen gépi ciklusban. Több tapasztalat és hozzáértés birtokában más változatok is használhatók, például az Arduino Due, a Mega 2560 és mások. Az Arduino Nano modell a nagyobb áramkörök miniatürizált változata, de pl. feszültségstabilizátor vagy teljes méretű USB-port nélkül. A Nano azonban ugyanazzal a 8 bites processzorral van felszerelve, mint az Uno panel, de a teljes mérete jóval kisebb. A Nano sorozat esetében 18 mm × 4 mm a NyÁK-méret! Ami nagyon lényeges, hogy a hardverváltás ellenére ugyanaz a programozási környezet használható.
Normál esetben a mikrokontrollerek programozása USB interfészen keresztül történik. Ahhoz, hogy az Arduino USB interfész működjön az operációs rendszerünkkel, megfelelő vezérlőre van szükség. A vezérlőt az operációs rendszer telepíti a kártya csatlakoztatása és a rendszerbetöltő indítása után. Az eredeti Arduino IDE-t a Windows szem előtt tartásával fejlesztették ki, ezért a legtöbb rendszerbetöltő elérhető a Windows számára, és csak egy részét igazítják más operációs rendszerekhez. Ha valaki MacOS vagy Linux rendszerű számítógéppel dolgozik, akkor érdemes megvizsgálni az Arduino prototípuskártya kompatibilitását az adott rendszerrel, mielőtt úgy dönt, hogy megvásárolja.
Végül hadd kerüljön említésre az Arduino felhasználói weboldal, amely a következő címen érhető el: https://www.arduino.cc/, ahol megtalálhatók a programok aktuális verziói, különféle alkalmazások, felhasználói fórum és adatbázis. Az oldalon ezenkívül diagramok és az Arduino kártyák elektromos paraméterei, leírások és adatlapok is megtalálhatók beleértve a kezdőknek ajánlott Arduino Uno R3 (4. ábra) leírását is. Nagyon sok kiegészítő modult kínálnak, és számos alkalmazáspélda érhető el más internetes oldalakon is. Megtalálhatók a keresőmotorok vagy a szoftverfejlesztésnek és az elektronikának szentelt fórumok segítségével.
A TME-vel és az Arduino-val kapcsolatos témakörben további információk találhatók a következő oldalon: www.tme.eu/hu/news/library-articles/page/42541/Arduino-mikrokontrollerek-mindenkinek/
TME Hungary Kft.
1146 Budapest, Hermina út 17.
Tel.: +36 1 220 67 56
E-mail: Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.
www.tme.hu