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, Srpanj
Anonim
Ugasite LED ulaz i izlaz
Ugasite LED ulaz i izlaz

Sljedeći koraci su eksperimenti koji ilustriraju način rada LED dioda. Oni ilustriraju kako zatamniti LED jednakomjernom brzinom i kako ga ugasiti.

Trebat će vam:

  • Arduino (koristio sam duo)
  • Oglasna ploča
  • 5 mm crvena LED dioda
  • Otpornik od 330 Ω (nije kritično 330-560 Ω će raditi.)
  • Čvrsta žica za spajanje 22 mjerača

Dijelovi potrebni za ove pokuse uključeni su u sve Arduino setove 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 pod istim naponom bez obzira na svjetlinu. Svjetlina je određena oscilatorom pravokutnog vala, a vrijeme tijekom kojeg je napon visok 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 kad 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 zatamnjenje

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

Izgradite krug kao na dijagramu. Ovo je poput kruga koji treperi LED. Koristi pin 9 jer morate koristiti pin s PWM -om.

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

Primijetit ćete da je LED svjetlija što je svjetlija sporije slabi. Kako se približava najsvjetlijem, postat će sve slabiji 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 dioda stakla konstantnom brzinom, kašnjenje () se mora povećavati eksponencijalno jer će pola radnog ciklusa uvijek proizvoditi polovicu svjetline. Moja prva misao bila je pokušati koristiti funkciju map (), ali ona je linearna.

Crta:

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

izračunava obrnuti kvadrat svjetline kako bi odredio duljinu kašnjenja.

Kopirajte/zalijepite donju skicu 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); odgoda (d); ako je (i == 255) x = -1; // prebacivanje smjera na vrhuncu}}

Preporučeni: