Szilágyi Sándor Zoltán hobbielektronika és amatőr robottechnika oldala

Arduino kezdőknek cikksorozatom, melynek első 13 része publikálásra került. Amatőr robotok, robot autók és LED-kockák építése.

Arduino kezdőknek 2 - Külső led vezérlése

Szilágyi Sándor Zoltán   Villamosmérnök, mérnök-informatikus

 

A cikket megírtam: 2021. 11. 21-án

A Rádiótechnikában megjelent: 2022. március

Ez a blog oldal tehát az eredeti, saját tulajdonomban levő dokumentum, és nem a nyomtatásban megjelent másolata. A cikket én írtam, én küldtem be, és csak azután jelent meg nyomtatott formában is. A nyomtatásban megjelent cikkeimre szerződést nem kötöttek velem, és anyagi juttatást se kaptam soha érte. Mivel a magazin már nem kapható, ezért a megjelent 13 cikkemet itt folytatnám, mivel Magyarországon jelenleg nincs hobbielektronikával foglalkozó magazin.

 

 

2. Külső LED vezérlése

 

     Az fejezetben az Arduino UNO és a fejlesztői környezet bemutatása mellett néhány alap programot is bemutattam. Ezek csak a beépített LED-et működtették. Most továbblépek, és továbbra is a kezdők szintjén maradva egy hozzákapcsolt küldő LED vezérléséhez szükséges néhány alap programot mutatnék be. 

 

     A most következő folytatásban továbbra is az alapokat ismertetem. Túl egyszerűnek fognak tűnni, viszont ha előveszünk egy hasonló cikksorozatot pl a Rádiótechnikából (akár a 80-as évekbeli Commodore programozást, akár más mikrokontrollerek vagy programozási nyelvek ismertetéséből írt cikksorozatokat), mindegyik bőségesen kifejtette az alapokat. Most egy szinttel tovább lépünk, külső eszközt fogunk csatlakoztatni az eszközünkhöz. Ennek vannak fizikai szabályai (polaritás, védőellenállás), és a programban is lesznek kisebb változások, illetve új ismeretek. Az egy LED-es csak egy modell, későbbi cikkeimben ez lesz tovább bővítve (2, 8, stb.) A programokat nem a példaprogramok közül veszem – még ha hasonlóság is van – mindet én gépelem be, saját ötletek alapján.

 

     Most tehát a digitális outputok kezelésének alapjaival ismerkedünk meg, melynek folytatása a digitális és analóg inputok, digitális outputok lesznek a rá következő számokban (blog esetén a következő füleken, menüpontokon).

 

 

3. program: külső LED folyamatos világítása

 

     Most kezdjük el először bővíteni a panelt, a lehető legegyszerűbb szinten: 1 db ellenállásra (220 Ohm) és 1 db LED-re (pl 3 mm-es piros) lesz szükség.

     A panelről 0-13-ig választhatunk digitális kimeneteket, legyen ez most a 12-es. A másik pont a panel földpontja, ez GND-vel van jelölve rajta. 1 db található a digitális I/O-k fölött, és 2 db a POWER oldalon. Bármelyiket felhasználhatjuk.

 

     A jel útja: a 12-es digitális pinről egy védőellenálláson át a LED anódjára jut. A katód a testpontra van kötve. Az ellenállás elhelyezése lényegtelen, a katód után is köthető, értéke is eltérhet. (az interneten 100-470 Ohm közötti értékeket adnak meg a különböző oldalakon)

 

     A board tápfeszültségét a programozói kábellel biztosítjuk, azaz USB-B (1.0, 2.0) típusú csatlakozónak kell lennie a kábel végén. Az asztali nyomtatókhoz használtunk ilyet régebben, akárcsak az Omron PLC-k programozásához is.

 

     Az áramköri rajzot a könnyebb érthetőség miatt (egy egyszerűsített) színes grafikával közlöm. A későbbiek során majd ez is „általánosabb” rajzjelű lesz. A panelen (3. ábra) csak a szembetűnőbb alkatrészeket és a jelenleg lényeges jelöléseket jelöltem.

1_db_led_d12.png

 3. ábra

 

3._program.png

4. ábra

 

     A program (4. ábra) az előző kettőhöz képest egy „int” típusú változó deklarálásával és definiálásával kezdődik. A „ledPin=12;”-vel tehát a digitális 12-es kimenethez rendeljük hozzá azt a nevet, amit a programban használni fogunk.

 

     Nem minden szakirodalom írja le tisztán hogy mi a különbség a deklaráció és a definíció között. Deklarációnál megadjuk a változó típusát és nevét. Definíciónál a változóhoz értéket rendelünk. Jelen esetben mindkettő előfordul, azaz integer típusú, és a 12-es lábra vonatkozik.

 

     A következő egység hasonló a korábbi programjainkhoz, csak itt már LED_BUILTIN helyett ledPin szerepel. Mint korábban említettem, a void setup() után jövő részek csak egyszer futnak le, pl bekapcsolás vagy resetelés után a legelején. A hardveresen összeszerelt kimenet így szoftveresen is készen áll.

 

     A következő szerkezeti rész a ciklikusan végrehajtandó főprogram. A digitalWrite(); függvénnyel a 12-es pin-t high, azaz logikai 1-es állapotba helyezzük.

 

     Ellenőrzés, majd feltöltés után a külső LED folyamatosan világítani fog (és ezzel együtt a panelen levő beépített L LED is).

 

 

4. program: külső LED villogtatása

 

     A hardver megegyezik a 4-edik feladatban levővel. A különbség annyi lesz, hogy nem folyamatosan világít, hanem a késleltetésben megadott idő szerint. A korábbi 2-ik feladathoz hasonlóan időzíthetjük a magas és az alacsony állapotokat egyaránt. (5. ábra)

4._program.png

5. ábra

 

     Az előző feladathoz képest három új sorral bővültünk. A delay értéke bármennyi lehet, pl. 1 másodperc, azaz „1000”. A ledPin értékét a digitalWrite() függvénnyel állítjuk be alacsony, vagy magas szintre.

 

     Ellenőrzés majd feltöltés után a külső LED villogni fog (12-es láb), miközben a panelen levő L LED folyamatosan világít

 

 

5. program: LED és L villogtatása felváltva

 

     Az illesztett hardver itt is megegyezik az előző kettővel, viszont az L-t is belekombináljuk a feladatba, mintha egy astabil multivibrátor lenne. 1-1 másodpercig az egyik világít és a másik nem, majd a másik világít és az egyik nem. (6. ábra)

5._program.png

6. ábra

 

     A 12-es láb mellett a beépített LED-et is inicializáljuk. A ciklus indulásakor először a külső LED fog világítani, míg az L nem, majd 1 másodperc múlva fordítva, stb...

 

 

     Felhasznált irodalom:

https://slideplayer.hu/slide/13449930/ (2021 november)

 

A cikket megírtam: 2021. 11. 21-én

A Rádiótechnikában megjelent: 2022. március

 

Weblap látogatottság számláló:

Mai: 4
Tegnapi: 3
Heti: 7
Havi: 132
Össz.: 3 861

Látogatottság növelés
Oldal: Arduino kezdőknek 2 - külső led vezérlése
Szilágyi Sándor Zoltán hobbielektronika és amatőr robottechnika oldala - © 2008 - 2025 - szilagyi-robot.hupont.hu

A HuPont.hu ingyen adja a tárhelyet, és minden szolgáltatása a jövőben is ingyen ...

ÁSZF | Adatvédelmi Nyilatkozat

X

A honlap készítés ára 78 500 helyett MOST 0 (nulla) Ft! Tovább »