Cuprins:

Estingeți un LED de intrare și ieșire: 3 pași
Estingeți un LED de intrare și ieșire: 3 pași

Video: Estingeți un LED de intrare și ieșire: 3 pași

Video: Estingeți un LED de intrare și ieșire: 3 pași
Video: 10 Setari si Trucuri importante pentru un telefon SAMSUNG ! 2024, Iulie
Anonim
Estingeți un LED de intrare și ieșire
Estingeți un LED de intrare și ieșire

Următorii pași sunt experimente pentru a ilustra modul în care funcționează LED-urile. Acestea ilustrează cum să estompeze un LED la o rată uniformă și cum să-l estompeze în și în afara.

Vei avea nevoie:

  • Arduino (am folosit un duo)
  • Pană de pâine
  • LED roșu de 5 mm
  • Rezistor de 330 Ω (nu va funcționa critic 330-560 Ω.)
  • Sârmă de conectare solidă de calibru 22

Părțile necesare pentru aceste experimente sunt incluse în toate kiturile de pornire Arduino.

Pasul 1: Modularea impulsului explicată

Modularea pulsului explicată
Modularea pulsului explicată
Modularea pulsului explicată
Modularea pulsului explicată
Modularea pulsului explicată
Modularea pulsului explicată

LED-urile rulează întotdeauna la aceeași tensiune, indiferent de luminozitate. Luminozitatea este determinată de un oscilator cu undă pătrată și perioada de timp în care tensiunea este ridicată determină luminozitatea. Aceasta se numește Modularea lățimii impulsurilor (PWM). Aceasta este controlată de funcția Arduino analogWrite (pin, n) unde n are o valoare cuprinsă între 0 și 255. AnalogWrite () produce PWM, nu analogic adevărat. Dacă n = 2, LED-ul va fi de două ori mai luminos decât n = 1. Luminozitatea se dublează întotdeauna când n se dublează. Deci n = 255 va fi de două ori mai luminos decât n = 128.

Valoarea lui n este adesea exprimată ca procent numit ciclul de funcționare. Imaginile prezintă urmele osciloscopului pentru 25, 50 și 75% cicluri de funcționare.

Pasul 2: Atenuare uniformă

Atenuare uniformă
Atenuare uniformă
Atenuare uniformă
Atenuare uniformă

Construiți circuitul ca în diagramă. Este la fel ca circuitul pentru a clipi un LED. Acesta folosește pinul 9, deoarece trebuie să utilizați un pin activat PWM.

Copiați / lipiți schița de mai jos în ID-ul Arduino și rulați-o.

Veți observa că cu cât LED-ul este mai luminos, cu atât este mai lent. Pe măsură ce se apropie de cea mai slabă lumină, va fi mai slabă.

configurare nulă ()

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

}

Următorul pas arată cum să estompezi LED-ul la o rată constantă și într-unul pentru instrucțiuni.

Pasul 3: Sus și Jos într-unul pentru ()

Pentru ca LED-ul să se estompeze la o rată constantă, întârzierea () trebuie să crească la o rată exponențială, deoarece jumătate din ciclul de lucru va produce întotdeauna jumătate din luminozitate. Primul meu gând a fost să încerc să folosesc funcția map (), dar este liniară.

Linia:

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

calculează pătratul invers al luminozității pentru a determina lungimea întârzierii.

Copiați / lipiți schița de mai jos în IDE-ul Arduino și veți vedea că LED-ul se va estompa într-un ritm constant.

configurare nulă ()

{pinMode (9, OUTPUT); } bucla void () {int x = 1; pin int = 9; pentru (int i = 0; i> -1; i = i + x) {int d = (16-i / 16) ^ 2; analogWrite (pin, i); întârziere (d); if (i == 255) x = -1; // comutați direcția la vârf}}

Recomandat: