Bemutatja az analóg kimenet használatát egy LED fényerejének változtatásával.
Utolsó felülvizsgálat: 2022.02.04 16:50
Ez a példa bemutatja az analogWrite() függvény használatát egy LED fényerejének felerősítésével és csökkentésével. Az AnalogWrite impulzusszélesség-modulációt (PWM) használ, amely a digitális kivezetést nagyon gyorsan be- és kikapcsolja, különböző be- és kikapcsolási arányokkal, a fényerő vezérléséhez.
Hardver szükséglet
Arduino kártya
LED
220 ohm-os ellenállás
összekötő vezetékek
dugdosós próbapanel (breadboard)
Az áramkör
Csatlakoztassa a LED anódját (a hosszabb, pozitív lábát) a kártya 9-es digitális kimeneti kivezetéséhez egy 220 ohmos ellenálláson keresztül. Csatlakoztassa a katódot (a rövidebb, negatív láb) közvetlenül a földhöz.

Vázlat

A kód
Miután a 9-es kivezetést ledPin
-nek nyilvánította, a kód setup()
függvényében nincs mit tenni.
Az analogWrite()
függvény, amelyet a kód fő ciklusában fog használni, két argumentumot igényel: az egyik megmondja a függvénynek, hogy melyik kivezetésre írjon, a másik pedig azt, hogy milyen PWM értéket írjon.
A LED fényerejének felerősítése majd csökkentése érdekében fokozatosan növelje a PWM értékét 0-ról (teljesen kikapcsolva) 255-re (teljesen bekapcsolva), majd ismét vissza 0-ra a ciklus befejezéséhez. Az alábbi vázlaton a PWM értéket a brightness
nevű változóval állítjuk be. A cikluson keresztül minden alkalommal a fadeAmount
változó értékével növekszik.
Ha a brightness
értékének bármelyik szélső pontján van (0 vagy 255), akkor a fadeAmount
értéke negatívjára változik. Más szóval, ha a fadeAmount
értéke 5, akkor -5-re lesz állítva. Ha -5, akkor 5-re lesz állítva. A ciklusban a következő alkalommal ez a fényerő változásának irányát is megváltoztatja.
Az analogWrite()
nagyon gyorsan képes megváltoztatni a PWM értéket, így a vázlat végén lévő késleltetés szabályozza a fényerő változásának sebességét. Próbálja meg módosítani a késleltetés értékét, és nézze meg, hogyan változtatja meg a fényerő megváltozását.
/*
Fade
Ez a példa azt mutatja be, hogyan lehet a 9. kivezetésen lévő LED fényerejét változtatni
az analogWrite() függvény használatával.
Az analogWrite() függvény PWM-et használ, ezért ha meg akarja változtatni a használt kivezetést,
feltétlenül használjon másik PWM-képes kivezetést. A legtöbb Arduino-n a PWM kivezetéseket
"~" jellel azonosítják, például ~3, ~5, ~6, ~9, ~10 és ~11.
Ez a példakód nyilvános.
https://docs.arduino.cc/built-in-examples/basics/Fade
*/
int ledPin = 9; // a PWM kivezetés, amelyhez a LED csatlakozik
int brightness = 0; // milyen fényes a LED
int fadeAmount = 5; // hány ponttal változtassa LED fényerejét
// a setup (beállítási) funkció egyszer fut le, amikor megnyomja a reset gombot, vagy bekapcsolja a kártyát:
void setup() {
// a 9. kivezetés kimenet lesz:
pinMode(ledPin, OUTPUT);
}
// a loop (ciklus) függvény újra és újra lefut, örökké:
void loop() {
// a 9. kivezetés fényerejének beállítása:
analogWrite(ledPin, brightness);
// módosítsa a fényerőt a következő alkalommal a ciklusban:
brightness = brightness + fadeAmount;
// fordítsa meg a fényerő változásának irányát a szélső értéknél:
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
// várjon 30 ezredmásodpercet, hogy láthassa a hatást
delay(30);
}
Tudj meg többet
További alapvető oktatóanyagokat a beépített példák részben talál.
Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.