Kazalo:

Zmanjšajte vhod in izklop LED: 3 koraki
Zmanjšajte vhod in izklop LED: 3 koraki

Video: Zmanjšajte vhod in izklop LED: 3 koraki

Video: Zmanjšajte vhod in izklop LED: 3 koraki
Video: OUTSEAL PLC 20x4 LCD MODBUS HMI 2024, Julij
Anonim
Zmanjšajte vhod in izhod LED
Zmanjšajte vhod in izhod LED

Naslednji koraki so poskusi, ki ponazarjajo delovanje LED. Prikazujejo, kako enakomerno zatemniti LED -diodo in kako jo zbledeti.

Boste potrebovali:

  • Arduino (uporabil sem duo)
  • Ogledna plošča
  • 5 mm rdeča LED
  • 330 Ω upor (ni kritično 330-560 Ω bo delovalo.)
  • 22 -palčna trdna priključna žica

Deli, potrebni za te poskuse, so vključeni v vse zagonske komplete Arduino.

Korak 1: Razložena impulzna modulacija

Razložena impulzna modulacija
Razložena impulzna modulacija
Razložena impulzna modulacija
Razložena impulzna modulacija
Razložena impulzna modulacija
Razložena impulzna modulacija

LED diode vedno delujejo pri isti napetosti, ne glede na svetlost. Svetlost določa kvadratni valovni oscilator, čas, ko je napetost visoka, pa svetlost. To se imenuje Pulse Width Modulation (PWM). To nadzira funkcija Arduino analogWrite (pin, n), kjer ima n vrednost od 0 do 255. analogWrite () oddaja PWM, ni pravi analog. Če je n = 2, bo LED dvakrat svetlejša kot n = 1. Svetlost se vedno podvoji, ko se n podvoji. Torej bo n = 255 dvakrat svetlejše od n = 128.

Vrednost n je pogosto izražena kot odstotek, imenovan delovni cikel. Slike prikazujejo sledi osciloskopa za 25, 50 in 75% delovne cikle.

2. korak: Neenakomerno zatemnitev

Ne-celo zatemnitev
Ne-celo zatemnitev
Ne-celo zatemnitev
Ne-celo zatemnitev

Zgradite vezje, kot je prikazano na diagramu. To je tako kot vezje za utripanje LED. Uporablja pin 9, ker morate uporabiti pin, ki podpira PWM.

Kopirajte/prilepite skico spodaj v Arduino IDE in jo zaženite.

Opazili boste, da svetlejša kot je LED, počasneje se zatemni. Ko se približa najtemnejšemu, bo zelo hitro zatemnilo.

void setup ()

{pinMode (9, OUTPUT); } void loop () {int pin = 9; for (int i = 255; i> -1; i--) {analogWrite (pin, i); zamuda (10); } for (int i = 0; i <256; i ++) {analogWrite (pin, i); zamuda (10); }}

}

Naslednji korak prikazuje, kako zatemniti LED s konstantno hitrostjo in v enem za izjavo.

3. korak: gor in dol v enem za ()

Da LED dioda zatemni s konstantno hitrostjo, se mora zakasnitev () povečati z eksponentno hitrostjo, ker bo pol delovnega cikla vedno proizvedlo polovico svetlosti. Moja prva misel je bila poskusiti uporabiti funkcijo map (), vendar je linearna.

Linija:

int d = (16-i/16)^2;

izračuna inverzni kvadrat svetlosti, da določi dolžino zamude.

Kopirajte/prilepite skico spodaj v Arduino IDE in videli boste, da bo LED lučka vstopila in izstopala s konstantno hitrostjo.

void setup ()

{pinMode (9, OUTPUT); } void loop () {int x = 1; int pin = 9; za (int i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; analogWrite (pin, i); zamuda (d); če (i == 255) x = -1; // preklop smeri na vrhuncu}}

Priporočena: