Obsah:

Fade LED in and Out: 3 kroky
Fade LED in and Out: 3 kroky

Video: Fade LED in and Out: 3 kroky

Video: Fade LED in and Out: 3 kroky
Video: ESP32 Tutorial 5 - LED Fade, control brightness of an LED -ESP32 IoT Learnig kit 2024, Červenec
Anonim
Ztlumení a zhasnutí LED
Ztlumení a zhasnutí LED

Následující kroky jsou experimenty, které ilustrují, jak LED diody fungují. Ukazují, jak stmívat LED rovnoměrně a jak ji postupně zeslabovat.

Budete potřebovat:

  • Arduino (použil jsem duo)
  • Prkénko
  • 5 mm červená LED
  • Rezistor 330 Ω (není rozhodující, 330-560 Ω bude fungovat.)
  • Pevný připojovací drát o rozměru 22

Díly potřebné pro tyto experimenty jsou součástí všech spouštěcích sad Arduino.

Krok 1: Vysvětlení pulzní modulace

Vysvětlena pulzní modulace
Vysvětlena pulzní modulace
Vysvětlena pulzní modulace
Vysvětlena pulzní modulace
Vysvětlena pulzní modulace
Vysvětlena pulzní modulace

LED diody vždy běží na stejném napětí bez ohledu na jas. Jas je určen oscilátorem čtvercových vln a doba, po kterou je napětí vysoké, určuje jas. Toto se nazývá PWM (Pulse Width Modulation). Toto je řízeno funkcí Arduino analogWrite (pin, n), kde n má hodnotu od 0 do 255. AnalogWrite () vydává PWM, nikoli skutečný analog. Pokud n = 2, LED bude dvakrát jasnější než n = 1. Jas se vždy zdvojnásobí, když n zdvojnásobí. Takže n = 255 bude dvakrát jasnější než n = 128.

Hodnota n je často vyjádřena v procentech nazývaných pracovní cyklus. Obrázky ukazují stopy osciloskopu pro pracovní cykly 25, 50 a 75%.

Krok 2: Un-even Dimming

Rovnoměrné stmívání
Rovnoměrné stmívání
Rovnoměrné stmívání
Rovnoměrné stmívání

Sestavte obvod jako na schématu. Je to jako obvod blikající LED. Používá pin 9, protože potřebujete použít pin s podporou PWM.

Zkopírujte/vložte níže uvedenou skicu do Arduino IDE a spusťte ji.

Všimnete si, že čím jasnější je LED, tím pomaleji stmívá. Jak se blíží nejtmavší, bude velmi rychle stmívat.

neplatné nastavení ()

{pinMode (9, OUTPUT); } void loop () {int pin = 9; for (int i = 255; i> -1; i--) {analogWrite (pin, i); zpoždění (10); } for (int i = 0; i <256; i ++) {analogWrite (pin, i); zpoždění (10); }}

}

Následující krok ukazuje, jak ztlumit LED konstantní rychlostí a v jednom příkazu.

Krok 3: Nahoru a dolů v jednom pro ()

Aby LED dioda ztlumila konstantní rychlostí, musí se zpoždění () zvyšovat exponenciální rychlostí, protože polovina pracovního cyklu vždy vytvoří polovinu jasu. Moje první myšlenka byla zkusit použít funkci map (), ale je lineární.

Linie:

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

vypočítá inverzní čtverec jasu k určení délky zpoždění.

Zkopírujte/vložte níže uvedenou skicu do Arduino IDE a uvidíte, že LED bude blednout a zhasínat konstantní rychlostí.

neplatné nastavení ()

{pinMode (9, OUTPUT); } void loop () {int x = 1; int pin = 9; pro (int i = 0; i> -1; i = i + x) {int d = (16 -i/16)^2; analogWrite (pin, i); zpoždění (d); if (i == 255) x = -1; // přepnout směr na špičce}}

Doporučuje: