Sadržaj:

Ugasite LED ulaz i izlaz: 3 koraka
Ugasite LED ulaz i izlaz: 3 koraka

Video: Ugasite LED ulaz i izlaz: 3 koraka

Video: Ugasite LED ulaz i izlaz: 3 koraka
Video: Prius инструкция по применению 2024, Juli
Anonim
Ugasite LED ulaz i izlaz
Ugasite LED ulaz i izlaz

Sljedeći koraci su eksperimenti koji ilustriraju kako LED diode rade. Oni ilustriraju kako zatamniti LED jednakom brzinom i kako je ugasiti.

Trebat će vam:

  • Arduino (koristio sam duo)
  • Breadboard
  • 5 mm crvena LED dioda
  • Otpornik od 330 Ω (Nije kritično 330-560 Ω će raditi.)
  • Čvrsta priključna žica od 22 mjerača

Dijelovi potrebni za ove eksperimente uključeni su u sve Arduino komplete za pokretanje.

Korak 1: Objašnjena pulsna modulacija

Objašnjena pulsna modulacija
Objašnjena pulsna modulacija
Objašnjena pulsna modulacija
Objašnjena pulsna modulacija
Objašnjena pulsna modulacija
Objašnjena pulsna modulacija

LED diode uvijek rade na istom naponu bez obzira na svjetlinu. Svjetlina je određena oscilatorom kvadratnog vala, a vrijeme koje je visoki napon određuje svjetlinu. To se naziva Pulse Width Modulation (PWM). To kontrolira Arduino analogWrite (pin, n) funkcija gdje n ima vrijednost od 0 do 255. analogWrite () daje PWM, nije pravi analog. Ako je n = 2, LED dioda će biti dvostruko jača od n = 1. Svjetlina se uvijek udvostručuje kada se n udvostruči. Tako će n = 255 biti dvostruko svjetlije od n = 128.

Vrijednost n često se izražava kao postotak koji se naziva radni ciklus. Slike prikazuju tragove osciloskopa za 25, 50 i 75% ciklusa rada.

Korak 2: Neujednačeno zatamnjivanje

Un-even Dimming
Un-even Dimming
Un-even Dimming
Un-even Dimming

Izgradite krug kao na dijagramu. Ovo je isto kao i krug koji treperi LED. Koristi pin 9 jer morate koristiti pin s omogućenim PWM -om.

Kopirajte/zalijepite skicu ispod u Arduino IDE i pokrenite je.

Primijetit ćete da je LED svjetlija što je svjetlija sporije slabi. Kako se približava najsvjetlijem, postajat će sve tamniji vrlo brzo.

void setup ()

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

}

Sljedeći korak pokazuje kako zatamniti LED diodu konstantnom brzinom, au jednom za iskaz.

Korak 3: Gore i dolje u jednom za ()

Da bi LED prigušivao konstantnom brzinom, kašnjenje () se mora povećati eksponencijalnom brzinom jer će pola radnog ciklusa uvijek proizvoditi polovinu svjetline. Prvo sam pomislio da pokušam koristiti funkciju map (), ali ona je linearna.

Linija:

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

izračunava inverzni kvadrat svjetline kako bi odredio dužinu kašnjenja.

Kopirajte/zalijepite skicu ispod u Arduino IDE i vidjet ćete da će LED svjetlo nestajati konstantnom brzinom.

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); kašnjenje (d); if (i == 255) x = -1; // prebacivanje smjera na vrhuncu}}

Preporučuje se: