Elemezze a vesszővel elválasztott egész számokat a LED fényerejéhez.
Utolsó felülvizsgálat: 2022.02.04 16:50
Ez a vázlat a Serial.parseInt() függvényt használja a nem alfanumerikus karakterekkel elválasztott értékek meghatározásához. Az emberek gyakran használnak vesszőt különböző információrészek jelzésére (ezt a formátumot általában vesszővel elválasztott értékeknek vagy CSV-nek (comma-separated-values) nevezik), de más karakterekkel, például szóközzel vagy ponttal is működnek. Az értékeket egész számokká elemezzük, és meghatározzuk az RGB LED színét. Az Arduino Software (IDE) soros monitorral olyan karakterláncokat küldhet a kártyára, mint az "5,220,70" a lámpa színének megváltoztatásához.
Hardver szükséglet
Arduino kártya
közös anódú RGB LED
3 220 ohm-os ellenállás
összekötő vezetékek
dugdosós próbapanel (breadboard)
Az áramkör

Vázlat

A fenti áramkör létrehozásához négy vezetékre lesz szüksége. Egy vezeték köti össze az 5V-ot a kártya POWER kivezetését az RGB LED leghosszabb érintkezőjével. A LED-et úgy kell elforgatni, hogy a leghosszabb érintkező legyen balról a második.
Helyezze az RGB LED-et a próbapanelre úgy, hogy felülről a leghosszabb érintkező legyen a második. Ellenőrizze az adott LED adatlapját a tűk ellenőrzéséhez, de ezeknek R, V+, G és B jelzésűeknek kell lenniük. Az 5 V-ról érkező vezetéket ezért felülről a második érintkezőhöz kell csatlakoztatnia, mint a fenti csatlakozási vázlatban.
A megmaradt vezetékekkel csatlakoztassa a piros katódot a 3. kivezetéshez, a zöld katódot az 5. kivezetéshez és a kék katódot a 6. kivezetéshez sorbakötve az ellenállásokkal.
A közös anóddal rendelkező RGB LED-ek közös tápcsatlakozóval rendelkeznek. Ahelyett, hogy egy kivezetést HIGH-ra kapcsolna, hogy megvilágíson a LED, a kivezetést LOW-ra kell állítania, hogy feszültségkülönbséget hozzon létre a diódán. Tehát ha 255-öt küldünk az analogWrite()-on keresztül, akkor a LED kikapcsol, míg a 0 érték esetén teljes fényerővel világít. Az alábbi kódban a vázlatban egy kis matematikát fog alkalmazni, így olyan értékeket küldhet, amelyek megfelelnek a várt fényerőnek. Lényegében az analogWrite(pin, brightness) használata helyett az analogWrite(pin, 255-brightness) függvényt kell meghívnia.
A kód
Először be kell állítania néhány globális változót azon kivezetésekhez, amelyekhez a LED csatlakozni fog. Így könnyebb lesz megkülönböztetni, hogy melyik a piros, zöld és kék a program fő részében:
const int redPin = 3;
const int greenPin = 5;
const int bluePin = 6;
A setup()-ban indítsa el a soros kommunikációt 9600 bit/s sebességgel a kártya és a számítógép között a következő sorral:
Serial.begin(9600);
Szintén a setup()-ban szeretné a kivezetéseket kimenetként konfigurálni: