Arduino és programozása

Keresés a weboldalon

Programozási alapismeretek
Tartalomhoz ugrás

Főmenü:

Mi az Arduino?
Legtöbb válaszadó a kérdésre egy áramkört, jobb esetben áramkör családot nevezne meg. Ennél jóval többről van szó.
Az Arduino egy szabad szoftveres, nyílt forráskódú elektronikai fejlesztőplatform, mely különféle elektronikus eszközök és rendszerek, programozással történő vezérlésére hivatott. Olcsó, könnyen beszerezhető, egyszerűen programozható, és csatlakoztatható más eszközökhöz.
A fejlesztői platform az úgynevezett IDE-ből (integrált fejlesztői környezet), és egy Arduino Board-ból áll. Előbbi segítségével programokat írhatunk és tesztelhetünk számítógépen, utóbbi pedig egy hardver eszköz (mikrovezérlő), amelyre az előzőleg elkészített programokat feltölthetjük a számítógépen keresztül, majd elektronikus eszközöket vezérelhetünk a segítségével.
Kattints a képre
Az LSI (Large-Scale Integration = nagy integráltságú) áramkör gyártási technológia 1971-s megjelenése óta, a mikrószámítógépek terjedése mellett, mindig nagy szerepe volt a programozható mikrochipek alkalmazásának. Akit ez a fejlődés érdekel, ide kattintva elnavigálhat a történeti részhez, melyben bemutatom bolyais vonatkozását is.  Számos mikrochip típus és szabvány született az évek során, de csak az maradhatott életben, melyre a gyártók teljes platformot építettek. Ilyen az Arduino is. A hardver fejlesztések igyekeztek alulról biztosítani a kompatibilitást, ugyanakkor a programozását magas szintű (C szerű) programozási nyelvre építették.     
A népszerűséget csak fokozta a moduláris felépítés, mely egyszerű csatlakoztatási felületet nyújt különféle elektronikai eszközöknek (kapcsolótól az összetett robot működtető elemekig), továbbá megvalósítható a külvilággal való kommunikáció vezetékes, de akár vezeték nélküli szinten is. A bal oldali képeken ugyan több féle áramkör látható (képre kattinva nagyítható), ráadásul nem is a teljes kínálat, mégis mind arduino, különféle felhasználói igényekhez igazodva. Ide kattintva megtekinthetők az arduino panelek főbb választéka, az egyes típusok jellemzőinek feltüntetésével.
Az Arduino működése, kapcsolatos fogalmak
Mi is tehát a mikróvezérlő?
Aki emlékszik még a számítógépek felépítésére, működésére (informatika tananyag) az könnyen meg fogja érteni a mikrovezérlők működését. Aki már elfelejtette, az felelevenítheti, ide kattintva az ide vonatkozó informatika tantárgyi oldalt, és áttekintheti a működés részleteit
Azért  vázlatosan nézzük át a számítógép működési elvét az oldalsó tömbvázlat alapján (képre kattintva nagyítható).
Az ábrából látható 4 blokkra és az őket összekötő sínrendszerre egyszerűsíthető egy bonyolult felépítésű, több milliárd alkatrészt tartalmazó számítógép. A megírt programok általában valamilyen háttértárolón (háttértároló blokk) tárolódnak (winchester, DVD, pendrive...), mert azok kikapcsolt állapotban is megtartják adataikat. Miután valamely programot futtatni akarjuk, parancsot adunk valamelyik külső eszközünkön (billentyűzet, egér, monitor hogy lássuk is mit csinálunk....) keresztül  (I/O eszközök blokk) a kívánt program futtatására. Kinek adjuk a parancsot? A központ vezérlő egységnek (CPU), mely állandóan figyeli a perifériákat, és ha parancs érkezik azt értelmezi és végrehajtja.
A parancs szerint a processzor a programot átolvassa a központi memóriába, majd elkezdi annak utasítás-lépésenkénti végrehajtását. Mindezt a kommunikációt (adatmozgatást), a blokkokat összekötő sínrendszeren keresztül végzi. Vagyis a működés lelke a processzor (CPU), mely értelmezi és feldolgozza a gép és felhasználó közti utasításokat, de végrehajtja a felhasználó programja (alkalmazása) szerinti  utasításlépéseket is. A CPU nagyon összetett feladatot végez, hisz az adatmozgatáson kívül, a számítási- és logikai műveletek elvégzése is feladata, ráadásul ezt nagyon gyorsan, szapora órajel (több gigahertz) ütemezésével. A nagy működési frekvencia, és a nagy számú alkatrész, működés közben hőtermelést okoz. Hűtéssel, esetenként hűtőrendszerrel, a termelődő hőt el kell vezetni, különben a hőre érzékeny félvezető alkatrészek tönkremennek.
A teljes áramkör (processzor, vezérlő IC-k, központi mamória, sínrendszer, csatlakozók....) egy lapon, a számítógép alaplapján (motherboard) helyezkedik, típustól függően 20-30 x 30-40 cm-s méretben.
Most nézzük a mikróvezérlő felépítését
Az oldalsó ábrán látható a tömbvázlata. Itt is megtalálhatók a számítógnél megismert elemek, de a tömbök nem szóródnak szét egy alaplapon, hanem minden elem egy chip-be integrálódik, még a memóriák is!  A mikrvezérlő, I/O portjain keresztül tart kapcsolatot a külvilággal!  Van még egy eltérés a számítőgép és a mikróvezérlő felépítése között, és ez éppen a memóriakezelésben jelenik meg. A számítógép felépítése un. neumannii architektúrát követi (egy RAM memória, mely tárol utasítást és adataot egyaránt), a mikróvezérlőknél viszont ez ketté válik, külön van memóriája az utasításoknak (flashmemória) , és külön az adatoknak (SRAM).
Ezt nevezzük harvard architektúrának. Ez a tény általában igaz a mikróvezérlőkre, így az arduinora is. A számítógépek központi memóriájának része egy EEPROM, mely tárolja a BIOS-t, (indulási alapbeállítások programját), valamint a konfiguráció telepített elemeit. Ilyen EEPROM van a mikrovezérlőkben is hasonló céllal.
Felmerülhet a kérdés a hasonló működésből adódóan, akkor a mikrochip-el ugyanaz végezhető el mint egy számítógéppel csak kicsiben? Elvileg akár igennel is lehetne válaszolni, de a valóságban nem! Miért? Ismeretes a számítógépek közötti teljesítmény-különbség. Nagy teljesítményű számítógépre van szükség pl. egy összetett 3D megjelenésű akciójáték játszásához, éppen a nagy számítási igény miatt. Ez a gépteljesítmény nem csak sebességben, de tárhely igényben is megjelenik. A mikrovezérlők lényegesen kisebb teljesítményűek.
A mikróvezérlők feladata az analóg- és digitális portok kezelése. Azaz meghatározott portra való jel kiírás, vagy onnan való jel beolvasása. Mit lehet ezzel kezdeni?  Egyszerűbb esetben csinálhatunk ezzel futófényt, vagy akár egy egész lakás vagy családiház automatikus felügyeletét és vezérlését is elvégezhetjük, de használható preciziós CNC munkagépek vezérléséhez is. A mikróvezérlők univerzális felépítésűek, programozhatóságuk miatt rugalmasan alkalmazhatók szinte az élet minden területén, és kedvező az árúk. Utasítás végrehajtási sebességük milliós vagy 10 milliós nagyságrendű másodpercenként, ami nem igényel nagyobb teljesítményt, ahogy külön hűtést sem.
Vissza a tartalomhoz | Vissza a főmenühöz