Legfontosabb részegység, amiben fut a programod

Arduino UNO R3 alaplap

Az Arduino UNO R3-al nagyon egyszerű dolgozni, jól láthatóan feliratozták a csatlakozási pontokat, minden ki és bemenetnek sorszáma, vagy más egyértelmű jelölése van. Ezek a csatlakozási pontok természetesen nagyrészt az ATmega328 chip kivezetései.

Az Arduino UNO R3 így néz ki felülnézetben:

Az enyém kicsit más, mert kínai klón és felületszerelt ATmega328 van benne, de a panel csatlakozói megegyeznek. Nagyszerű dolog eleinte, hogy külön tápra nincs szükség, mert ha rádugod a PC-re az USB csatlakozón kap tápot. Én később is sima telefon töltővel használtam, ha PC nélkül próbáltam ki egy-egy program működését. A legeslegelső “valamit csináló” program megírásához semmi nem kell. A legegyszerűbb program egy LED-et villogtat. Ezen az alaplapon éppen van egy LED, így semmi másra nincs szükség, hogy elkezdhessük a tanulást. De ne szaladjunk nagyon előre.

Fontos infó, hogy a panelre beépített ATmega328 chip melyik kivezetése, melyik csatlakozóhoz van hozzákötve:

A kép olyan weboldalról származik, amit már nem találtam meg, de hasonló ábrák a Google kép keresőjében fellelhetők a legtöbb gyakran használt panelről, chip-ről és egyéb alkatrészekről is.
Ebből az ábrából már beazonosíthatók az Arduino Uno kivezetései is: pl. az analóg bemeneteket a chip kivezetéseiben ADCx felirattal jelölték zöld alapon fekete betűkkel (ahol x 0-6 közötti szám, mert hat analóg bemenet van). Ugyanezek az Arduino Uno R3-on az Ax feliratú kivezetések, amiket szintén zöld alapon de fehér betűkkel jelöltek (ahol x ugyanaz a 0-6 közötti szám).

Az Arduino Uno-n feliratozott digitális ki/bemenetek a chip lábkiosztási ábráján lila alapon fehér betűkkel lettek jelölve (0-tól 13-ig). Ezen digitális ki és bemenetek közül hat darabot úgynevezett PWM kimenetnek is beállíthatjuk. Ezeket fényerő szabályozásra, motor fordulatszám beállításra is fel tudjuk használni. A chip lábkiosztási ábrán ezeket hullámvonallal jelölték.

Nézzünk egy példát, hogy miért van olyan sok betűkód egy-egy chip kivezetés mellett. Pl. a chip 17-es lába mellett az alábbi felirat halmazt látjuk: “17 PB3 OC2A PCINT13 MOSI 11”. Az Arduino UNO-n ez a 11-es kivezetés (utolsó lila szám). Hullámvonalas, mert PWM kimenetnek is beállítható. A PWM kivezetés kitöltési tényezővel állítja a fényerőt, amihez egy beépített programozható belső időzítőt, úgynevezett timert-t használ. Egészen pontosan az OC2A jelölésű timert-t. Összesen hat ilyen időzítő van, másra is használható, és ez kivezetés egyben az időzítő kimenete is lehet, ezért írták oda világos lila alapon fekete betűkkel az OC2A feliratot. Az ATmega328 chipben hardveresen beépítették az SPI kommunikációt, és ez ennek a kommunikációs megoldásnak a MISO nevű kivezetése is lehet ez chip láb. Persze ha pl. egy SD kártyára akarunk adatokat írni, akkor azt a MISO nevű lábat arra fogjuk elhasználni, és másra már nem. A PB3 felirat azt jelenti, hogy ez a chip kivezetés a mikrovezérlő B jelű portjának a 3. bitje is egyben. Összesen 3 portot vezettek ki (A,B,C). Utóbbi három betűs jelölésnek akkor lesz számodra jelentősége, ha BASCOM nyelven írod a programodat, akkor ezekkel a betűkkel hivatkozhatsz majd a chip kivezetésre, illetve az Arduino UNO kivezetésre. Egyszerűbb az egész, mint emilyennek első ránézésre látszik!

Találtam szép színes ábrát az Arduino UNO R3-ra is:

Ez az ábra sokkal zavarosabb, mint a legelső, de ha már programot írsz, ezt fogod használni, mert ezen minden szükséges információ rajta van. Ha teheted, nyomtasd ki jó nagyban és színesben, és ez legyen az “Arduino biblia” első oldala.

Ha C-ben programozol, és Arduino Uno-t használsz, akkor az ATmega328 ábrán látható lila számokra kell hivatkoznod. Ugyanezeket a számokat írták rá az Arduino Uno paneljére is a kivezetések mellé!
Ha a C programodat letöltöd az ATmega328 chipbe és ott futtatod, akkor az ábrából látszik, hogy melyik lábat fogja használni a program. Pl. ha C programozási nyelvben ezt írod:
digitalWrite(13, HIGH)
akkor arduino UNO-n a 13. csatlakozási ponton lesz 5V, míg ha a programot a chipre töltöd a 19. kivezetésen (IC lábon) jelenik meg az 5V.

Ha azonban BASCOM-ban írod a programot, akkor a világos barna feliratokat kell figyelned. Pl. az Arduino Uno-n a 13-as csatlakozón akarsz 5V-ot látni, akkor ezt kell írnod a programban:
Portb.5=1

Az analóg bemenetekre C-ben a lila számmal tudsz hivatkozni. Vagyis ha az A0 bemenetet szeretnéd használni az Arduino Uno-n, akkor a 14-es kivezetésre kell hivatkoznod a programban. Jó tudni, hogy az A0-A5 kivezetésekre nem csak számmal hivatkozhatsz, írhatsz A0-át is. A programban szabadon keverheted, írhatsz pl. “A0”-át vagy “14”-et is.

Arduino nano alaplap

Olcsóban beszerezhető és több analóg kivezetéssel rendelkező kész modul az Arduino Nano. Azonban a panel mérete is lényegesen kisebb, a feliratokat én már csak nagyítóval tudom elolvasni, ezért fejlesztéshez nem ezt használom. Viszont a kész eszközökben ezt célszerű beépíteni:

Ára az Aliexpresz-en 2-3 Euro körül mozog. Ennyiért ATmega328 chip-et sem lehet kapni (kis hazánk boltjaiban). A beépítéshez célszerű egy befogadó panelt is rendelni, így a kivezetéseket gyors csavaros csatlakozókkal lehet a panelhez kapcsolni. Nekem ez vált be:

Ennek a szerelő panelnek az ára <1 Euro. Nagy előny, hogy könnyű kicserélni az Arduino Nano-t a szerelőpanelben. Én ezért a gyakorlatban rögtön két db nano-t vettem. Ha programot módosítok, akkor rátöltöm az éppen nem használt nano-ra az új programot, kicserélem a nano-t a kapcsolásban (legyen az bármilyen megépített kütyü), és máris az új program működik. És persze azonnal van egy nano a kezemben, amit felhasználhatok. Így néz ki egy áramkör, ami méri a hőmérsékletet, páratartalmat, légnyomást az udvaron, a pincében és kijelzi a mért értékeket egy 7 szegmenses led kijelzőn. Csúnya, de két évig hibamentesen működött (azóta modernebbre cseréltem):

A nano pinout táblája:

Az első működő kütyü

A fentiekben megismert Arduino alaplapok önmagukban még szinte semmire sem használhatók. Értelmes feladatok megvalósításához kell valamilyen külső eszköz, amit lehet irányítani, kapcsolgatni, villogtatni, megszólaltatni stb.
Első lépésben javaslom, hogy nézzük meg a világ legegyszerűbb működő számítógépes szerkezetét. Egy LEd-et fogunk az Arduino-val összekapcsolni, és ha megtanultunk programot írni, ez a led ígérem, hogy villogni fog.

Szükséges eszközök egy Arduino Uno R3 áramkör. Irány a bolt! Kell még egy 220ohm-os ellenállás és egy LED is. Természetesen kell egy PC Windows operációs rendszerrel (Linux is jó, de én Windows-t ismerem, és erre készült a jelen leírás).

Első lépés a „hardver” megépítése. Az áramkör bekötési rajza a következő:

A gyakorlatban a megvalósítás valami ilyesmit jelent:

Ha netán van már dugdosós próbapaneled (ezt is érdemes lehet beszerezni, mert bonyolultabb áramköröknél sokat segít), akkor így lehet megvalósítani:

Ha ezt mind sikeresen megépítetted, elárulom, hogy felesleges volt. Az Arduino Uno r3-ra ráépítettek egy LED-et, mégpedig a 13-as kivezetésre. A fentebb látható sematikus ábrán az “L” jelölésű pont az. Ez jól jöhet akkor, ha a programban ellenőrizni szeretnél valamit, felvillantod egy utasítással a beépített led-et, és nem kell hozzá semmi más. Életem első programjában ezt a kis LED-et sikerült megvillogtatni.

Ahhoz, hogy a fentiek szerint megépített kapcsolásban a LED villogjon, valahogyan lelket kell lehelni a szerkezetbe, azaz rátölteni egy működő programot, ami villogtatja. Ehhez program fejlesztő eszközre van szükségünk. Ahhoz, hogy legyen ilyen szoftvered, folytasd az olvasást itt!

Mennyire volt hasznos amit olvastál? Értékelés után szövegesen is leírhatod megjegyzéseidet és véleményedet!

Kattints egy csillagra az értékeléshez!

Szövegesen is leírhatod véleményedet! Ha kérdésed van, ne felejtsd el megadni az email címedet!