Articles

mindent, amit tudnia kell az Arduino CodeBlog postcircuito teamMarch 11, 2018

az Arduino nyílt forráskódú platform elindítása óta a márka egy kiterjedt nyílt forráskódú közösség központjában jött létre. Az Arduino ökoszisztéma a hardver és a szoftver változatos kombinációjából áll. Az Arduino sokoldalúsága és egyszerű kezelőfelülete a felhasználók széles körének vezető választásává teszi világszerte a hobbistáktól, tervezőktől, művészektől a termék prototípusokig.

Az Arduino tábla USB-n keresztül csatlakozik a számítógéphez, ahol csatlakozik az Arduino fejlesztői környezethez (IDE). A felhasználó beírja az Arduino kódot az IDE-be, majd feltölti azt a mikrokontrollerbe, amely végrehajtja a kódot, kölcsönhatásban áll a bemenetekkel és kimenetekkel, például érzékelőkkel, motorokkal és lámpákkal.

mind a kezdők, mind a szakértők rengeteg szabad erőforráshoz és anyaghoz férhetnek hozzá, hogy támogassák őket. A felhasználók információkat kereshetnek arról, hogyan állíthatják be a táblájukat, vagy akár hogyan kódolhatják az Arduino-t. Az Arduino mögött álló nyílt forrás különösen barátságossá tette az új és tapasztalt felhasználók számára. Több ezer Arduino kód példák elérhető online. Ebben a bejegyzésben az Arduino kódolásának néhány alapelvét fogjuk átvinni.

tervezze meg a következő Arduino projektjét>>

Arduino kódolási környezet és alapvető eszközök

milyen nyelv az Arduino?

Az Arduino kód C++ nyelven íródott, speciális módszerek és funkciók hozzáadásával, amelyeket később említünk. A C++ egy ember által olvasható programozási nyelv. Amikor létrehoz egy “vázlatot” (az Arduino kódfájloknak adott név), azt feldolgozzák és lefordítják gépi nyelvre.

Arduino IDE

Az Arduino integrált fejlesztői környezet (IDE) az Arduino programozáshoz használt fő szövegszerkesztő program. Itt fogja beírni a kódot, mielőtt feltölti azt a programozni kívánt táblára. Arduino kód nevezik vázlatok.

MEGJEGYZÉS: fontos az Arduino IDE legújabb verziójának használata. Időről időre ellenőrizze a frissítéseket itt.

Arduino kód példa

mint látható, az IDE minimalista kialakítású. A menüsoron csak 5 címsor található, alatta pedig egy sor gomb található, amelyek lehetővé teszik a vázlatok ellenőrzését és feltöltését. Lényegében az IDE lefordítja és lefordítja a vázlatokat olyan kódra, amit Arduino meg tud érteni. Az Arduino kód összeállítása után feltöltődik a tábla memóriájába.

a felhasználónak csak egy gombot kell megnyomnia a vázlat összeállításához (ennek útmutatója az alábbiakban található).

Ha bármilyen hiba van az Arduino kódban, egy figyelmeztető üzenet jelzi a felhasználót, hogy módosítsa. A legtöbb új felhasználó gyakran nehézségekbe ütközik az Arduino szigorú szintaktikai követelményei miatt. Ha bármilyen hibát követ el az írásjelekben az Arduino használatakor, a kód nem fog lefordítani, és hibaüzenetet kap.

Serial Monitor és Serial Plotter

Arduino serial monitor nyitható a nagyító ikonra kattintva az IDE jobb felső sarkában vagy az eszközök Alatt. A Soros monitor elsősorban kölcsönhatásban áll az Arduino fórumon a számítógép segítségével, és egy nagyszerű eszköz a valós idejű monitorozás, hibakeresés. A monitor használatához a Soros osztályt kell használnia.

a letöltött kód circuito.io van egy tesztszakasz, amely segít az egyes komponensek tesztelésében a Soros monitor segítségével, amint az az alábbi képernyőképen látható:

Arduino serial plotter az Arduino IDE másik összetevője, amely lehetővé teszi a soros adatok valós idejű grafikonjának létrehozását. A Soros plotter sokkal könnyebbé teszi az adatok vizuális kijelzőn történő elemzését. Képes vagy grafikonokat, negatív értékgráfokat létrehozni, és hullámforma analízist végezni.

hibakeresés Arduino kód és hardver

más szoftverprogramozási platformokkal ellentétben az Arduino nem rendelkezik fedélzeti hibakeresővel. A felhasználók vagy harmadik féltől származó szoftvereket használhatnak, vagy a Soros monitor segítségével kinyomtathatják az Arduino aktív folyamatait a monitorozáshoz és a hibakereséshez.

a Soros osztály használatával nyomtathat a Soros monitorra, megjegyzéseket és változók értékeit hibakeresheti. A legtöbb Arduino modellnél ez a 0 és 1 soros csapokat fogja használni, amelyek az USB porthoz vannak csatlakoztatva.

Kódstruktúra

könyvtárak

Arduino-ban, hasonlóan más vezető programozási platformokhoz, vannak beépített könyvtárak, amelyek alapvető funkciókat biztosítanak. Ezen kívül lehetőség van más könyvtárak importálására, valamint az Arduino tábla képességeinek és funkcióinak bővítésére. Ezek a könyvtárak nagyjából olyan könyvtárakra vannak osztva, amelyek kölcsönhatásba lépnek egy adott összetevővel vagy azokkal, amelyek új funkciókat hajtanak végre.

importálni egy új könyvtár, meg kell menni vázlat > Import Könyvtár

továbbá, a tetején a .ino fájl, akkor kell használni “# include”, hogy tartalmazza a külső könyvtárak. Egyedi könyvtárakat is létrehozhat, amelyeket elszigetelt vázlatokban használhat.

Pin meghatározások

Az Arduino csapok használatához meg kell határoznia, hogy melyik pin-kódot használja, valamint annak funkcionalitását. A használt csapok definiálásának kényelmes módja a következő:

‘#pinname pinNumber meghatározása’.

a funkcionalitás bemenet vagy kimenet, amelyet a pinMode () metódus segítségével határozunk meg a beállítási szakaszban.

deklarációk

változók

amikor Arduino-t használ, globális változókat és példányokat kell deklarálnia, amelyeket később kell használni. Dióhéjban, egy változó lehetővé teszi, hogy nevét, majd tárolja egy értéket kell használni a jövőben. Például egy érzékelőtől szerzett adatokat tárolna annak későbbi használatához. Egy változó deklarálásához egyszerűen meg kell határozni annak típusát, nevét és kezdeti értékét.

érdemes megemlíteni, hogy a globális változók deklarálása nem feltétlenül szükséges. Javasoljuk azonban, hogy deklarálja a változókat, hogy megkönnyítse az értékek további kihasználását.

példányok

a szoftverprogramozás során az osztály olyan függvények és változók gyűjteménye, amelyeket egy helyen együtt tartanak. Minden osztálynak van egy speciális funkciója, amelyet konstruktornak neveznek, amelyet az osztály példányának létrehozására használnak. Az osztály funkcióinak használatához be kell jelentenünk egy példányt.

Setup ()

minden Arduino vázlatnak beállítási funkcióval kell rendelkeznie. Ez a funkció határozza meg az Arduino kezdeti állapotát indításkor, és csak egyszer fut.

itt fogjuk meghatározni a következő:

  1. Pin funkció segítségével pinMode függvény
  2. kezdeti állapota pins
  3. Inicialize osztályok
  4. Inicialize változók
  5. Kód logika

hurok()

a hurok funkció is kell minden Arduino vázlat és végrehajtja, ha a beállítás() befejeződött. Ez a fő funkció, és ahogy a neve is sugallja, Újra és újra hurokban fut. A hurok leírja az áramkör fő logikáját.

például:

Megjegyzés: A “void” kifejezés használata azt jelenti, hogy a függvény nem ad vissza semmilyen értéket.

hogyan kell programozni Arduino

az alapvető Arduino kód logika egy” ha – akkor ” szerkezet, és lehet osztani 4 blokk:

beállítás-általában íródik a beállítás részben az Arduino kód, és elvégzi a dolgokat, hogy meg kell tenni csak egyszer, mint például érzékelő kalibrálás.

bemenet-a hurok elején olvassa el a bemeneteket. Ezeket az értékeket olyan körülmények között (“ha”) használják, mint például az LDR környezeti fényének analogread () használatával történő leolvasása.

manipulálja az adatokat – ez a szakasz az adatok kényelmesebb formává történő átalakítására vagy számítások elvégzésére szolgál. Például az AnalogRead() 0-1023 értéket ad, amelyet a PWM-hez használandó 0-255 tartományra lehet leképezni.(lásd analogWrite ()))

kimenet-ez a szakasz határozza meg a végső kimenet a logika (“akkor”) az adatok alapján számított az előző lépésben. Ha az LDR és a PWM példáját nézzük, csak akkor kapcsoljunk be egy LED-et, ha a környezeti fényszint egy bizonyos küszöbérték alá esik.

Arduino Code libraries

Library Structure

a könyvtár egy C++ (.cpp) kódfájlok és C++ (.h) fejlécfájlok.

az .a H fájl leírja a könyvtár szerkezetét, és deklarálja annak összes változóját és funkcióját.

az .cpp fájl tartja a funkció végrehajtását.

könyvtárak importálása

az első dolog, amit meg kell tennie, hogy megtalálja a használni kívánt könyvtárat az interneten elérhető sok könyvtár közül. Miután letöltötte a számítógépre, csak meg kell nyitnia az Arduino IDE-t, majd kattintson a Sketch > Könyvtár > könyvtárak kezelése. Ezután kiválaszthatja azt a könyvtárat, amelyet importálni szeretne az IDE-be. A folyamat befejezése után a könyvtár elérhető lesz a vázlat menüben.

a kód által biztosított circuito.io a korábban említett külső könyvtárak hozzáadása helyett a firmware mappát biztosítjuk számukra. Ebben az esetben az IDE tudja, hogyan kell megtalálni őket a #include használatakor.

szoftverről hardverre

sokat kell mondani az Arduino szoftver képességeiről, de fontos megjegyezni, hogy a platform mind szoftverből, mind hardverből áll. A kettő párhuzamosan működik egy komplex operációs rendszer futtatásához.

Code → Compile → Upload → Run

középpontjában Arduino, az a képesség, hogy lefordítani, majd futtatni a kódot.

miután megírta a kódot az IDE-ben, fel kell töltenie az Arduino-ba. Ha a Feltöltés gombra kattint (a jobb oldali nyíl ikonra), összeállítja a kódot, majd feltölti, ha átment az összeállításon. A feltöltés befejezése után a program automatikusan elindul.

ezt lépésről lépésre is megteheti:

  1. először fordítsd le a kódot. Ehhez egyszerűen kattintson a check ikonra (vagy kattintson a sketch > ellenőrzése / összeállítása a menüsorban.

mint látható, a check ikon a bal felső sarokban található a menü szakasz “Fájl” címkéje alatt.

miután ezt megtette, az Arduino elkezdi összeállítani. Miután elkészült, kap egy befejezési üzenetet, amely így néz ki:

mint látható, az oldal alján található zöld vonal azt jelzi, hogy”kész a fordítás”. Ha a kód nem fut, akkor ugyanabban a szakaszban értesítést kap, a problémás kód pedig kiemelésre kerül a szerkesztéshez.

miután összeállította a vázlatot, itt az ideje feltölteni.

  1. válassza ki azt a soros portot, amelyhez az Arduino jelenleg csatlakozik. Ehhez kattintson Eszközök > soros port a menüben, hogy kijelölje a kiválasztott soros port (amint azt korábban fent). Ezután feltöltheti az összeállított vázlatot.
  2. a vázlat feltöltéséhez kattintson a kullancs melletti feltöltési ikonra. Alternatív megoldásként elmehet a Menübe, majd kattintson a fájlra > feltöltés. Az Arduino LED-ek villognak, ha az adatok továbbításra kerülnek.

a befejezés után egy befejezési üzenet fogadja Önt, amely megmondja, hogy az Arduino befejezte a feltöltést.

az IDE

beállítása az Arduino tábla számítógéphez való csatlakoztatásához USB-kábelre van szüksége. Az Arduino UNO használatakor az USB közvetlenül továbbítja a program adatait a táblára. Az USB-kábelt az arduino táplálására használják. Az Arduino-t külső áramforráson keresztül is futtathatja.

mielőtt feltöltené a kódot, van néhány beállítás, amelyet konfigurálnia kell.

válassza ki a táblát – meg kell jelölnie, hogy melyik Arduino táblát fogja használni. Ehhez kattintson Eszközök >Board > a fórumon.

válassza ki a processzort – vannak bizonyos táblák (például Arduino pro-mini), amelyekhez meg kell adnia, hogy melyik processzormodell van. Az eszközök > processzor > válassza ki a modell van.

válassza ki a portot – válassza ki azt a portot, amelyhez a tábla csatlakozik, menjen az eszközök > Port > COMX Arduino (ez Arduino soros portja).

nem natív táblák (pl. NodeMCU) telepítése

egyes fedélzeti modellek nincsenek előre telepítve az Arduino IDE-ben, ezért telepítenie kell őket, mielőtt feltöltheti a kódot.

nem natív tábla, például NodeMCU telepítéséhez:

  1. kattintson az eszközökre >táblák > táblák kezelő
  2. keresse meg a keresősávba felvenni kívánt táblát, majd kattintson az”install” gombra.

egyes táblák nem találhatók a Board Manager segítségével. Ebben az esetben manuálisan kell hozzáadnia őket. Ehhez:

  1. kattintson a fájlokra > Beállítások
  2. a kiegészítő táblák kezelő mezőjébe illessze be a tábla telepítőcsomagjának URL-jét. Például a nodeMCU esetében adja hozzá a következő URL-t: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. kattintson az OK gombra
  4. Ugrás az eszközökhöz >táblák > táblák kezelő
  5. keresse meg a keresősávban hozzáadni kívánt táblát, majd kattintson az”install” gombra.

miután befejezte ezt a lépést, látni fogja a telepített táblákat a táblák listáján az eszközök Alatt.

megjegyzés: a folyamat kissé eltérhet a különböző tábláknál.

Arduino: egy rendkívül sokoldalú Platform

Arduino sokkal több, mint egy egyszerű mikrokontroller. Az Arduino egy kiterjedt IDE-vel és a hardverkonfigurációk széles választékával igazán sokszínű platform. A könyvtárak sokfélesége, intuitív kialakítása az új felhasználók, valamint a tapasztalt döntéshozók számára egyaránt kedvelt. Több ezer közösségi erőforrás segít az indulásban mind a hardver, mind a szoftver segítségével.

a készségek fejlesztése során olyan problémákkal szembesülhet, amelyek hibakeresést igényelnek, ami az Arduino IDE gyenge pontja. Szerencsére számos eszköz és módszer létezik az Arduino hardver és szoftver hibakeresésére. A következő cikkben, fogunk nézni, hogyan kell hibakeresés Arduino (és hogyan kell tesztelni Arduino kód), valamint hogyan kell használni szimulátorok, emulátorok.