Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Hapat e mëposhtëm janë eksperimente për të ilustruar se si funksionojnë LED -të. Ato ilustrojnë se si të zbehet një LED me një ritëm të barabartë dhe si të zbehet brenda dhe jashtë.
Do t'ju duhet:
- Arduino (kam përdorur një dyshe)
- Breadboard
- LED i kuq 5 mm
- Rezistenca 330 Ω (Jo kritike 330-560 Ω do të funksionojë.)
- 22 Gauge Solid Lidhës Wire
Pjesët e nevojshme për këto eksperimente përfshihen në të gjitha grupet e fillimit Arduino.
Hapi 1: Modulimi i Pulsit Shpjegohet
LED -të funksionojnë gjithmonë në të njëjtin tension pavarësisht shkëlqimit. Shkëlqimi përcaktohet nga një oshilator i valës katrore dhe sasia e kohës që tensioni është i lartë përcakton shkëlqimin. Kjo quhet modulim i gjerësisë së pulsit (PWM). Kjo kontrollohet nga funksioni Arduino analogWrite (pin, n) ku n ka një vlerë nga 0 në 255. analogWrite () nxjerr PWM, jo analog i vërtetë. Nëse n = 2 LED do të jetë dy herë më i ndritshëm se n = 1. Shkëlqimi gjithmonë dyfishohet kur n dyfishohet. Pra n = 255 do të jetë dy herë më e ndritshme se n = 128.
Vlera e n shpesh shprehet si përqindje e quajtur cikli i punës. Fotografitë tregojnë gjurmë të oshiloskopit për 25, 50 dhe 75% cikle pune.
Hapi 2: Zbehja e pabarabartë
Ndërtoni qarkun si në diagram. Kjo është njësoj si qarku për të ndezur një LED. Ai përdor pin 9 sepse duhet të përdorni një kunj të aktivizuar me PWM.
Kopjoni/Ngjitni skicën më poshtë në Arduino IDE dhe drejtojeni atë.
Ju do të vini re se sa më e ndritshme të jetë LED aq më e ngadaltë ajo zbehet. Ndërsa afrohet më e errëta, do të errësohet shumë shpejt.
void setup ()
{pinMode (9, OUTPUT); } void loop () {int pin = 9; për (int i = 255; i> -1; i--) {analogWrite (pin, i); vonesa (10); } për (int i = 0; i <256; i ++) {analogWrite (pin, i); vonesa (10); }}
}
Hapi tjetër tregon se si të zbehet LED me një normë konstante, dhe në një për deklaratën.
Hapi 3: Lart dhe poshtë në një për ()
Që LED të zbehet me një ritëm konstant vonesa () duhet të rritet me një ritëm eksponencial sepse gjysma e ciklit të punës do të prodhojë gjithmonë gjysmën e shkëlqimit. Mendimi im i parë ishte të provoja të përdor funksionin e hartës () por është linear.
Linja:
int d = (16-i/16)^2;
llogarit katrorin invers të shkëlqimit për të përcaktuar gjatësinë e vonesës.
Kopjoni/Ngjitni skicën më poshtë në Arduino IDE dhe do të shihni që LED do të zbehet brenda dhe jashtë me një ritëm konstant.
void setup ()
{pinMode (9, OUTPUT); } lak void () {int x = 1; int pin = 9; për (int i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; analogWrite (pin, i); vonesa (d); nëse (i == 255) x = -1; // ndërroni drejtimin në kulm}}