Tento návod demonštruje, ako ovládať jas LED diódy pomocou mikrokontroléra ESP32, konkrétne SunFounder ESP32 IoT Learning Kit (vo videu o 00:04). Tento projekt je ideálny pre začiatočníkov, ktorí sa učia o pulznej šírkovej modulácii (PWM) a jej aplikáciách pri riadení intenzity svetelných zdrojov. Vstavané možnosti PWM mikrokontroléra ESP32 umožňujú plynulé a presné ovládanie, čo otvára svet možností pre kreatívne projekty.
Praktické aplikácie:
Vytváranie systémov ambientného osvetlenia s nastaviteľným jasom.
Stavba jednoduchého nočného svetla s postupným stmievaním.
Vývoj dynamickej indikačnej LED diódy pre rôzne stavy (napr. slabá batéria, sieťové pripojenie).
Integrácia s ďalšími senzormi a akčnými členmi na vytvorenie komplexných interaktívnych inštalácií.
Hardvér/Komponenty
Projekt využíva SunFounder ESP32 Starter Kit (vo videu o 00:12), ktorý obsahuje mikrokontrolér ESP32, rozširujúcu dosku, rôzne komponenty a 18650 lítiovú batériu. Budete tiež potrebovať LED diódu a 220-ohmový rezistor (vo videu o 04:32).
Sprievodca zapojením
Pozrite si schému zapojenia vo videu (vo videu o 01:46 a 04:18) a podrobné vysvetlenie v časovej značke 04:40. Zapojenie zahŕňa pripojenie anódy LED diódy k rezistoru, rezistor k pinu GPIO 26 na ESP32 a katódu LED diódy k zemi.
LED_s_rezistorom
LED dióda v sérii s 220-ohmovým rezistorom. Nižšie je zapojenie na breadboarde.
LED_stmievanie_ESP32
Vysvetlenie kódu
Arduino kód používa pulznú šírkovú moduláciu (PWM) na ovládanie jasu LED diódy. Kľúčové konfigurovateľné časti sú:
ledPin: Definuje GPIO pin pripojený k LED dióde (vo videu o 09:41, nastavený na 26). Zmeňte to, ak používate iný pin.
fadeAmount: Riadi rýchlosť, akou sa mení jas LED diódy (vo videu o 10:06). Vyššia hodnota má za následok rýchlejšie stmievanie. Kód automaticky obráti smer, keď jas dosiahne minimálnu (0) alebo maximálnu (255) hodnotu (vo videu o 11:44).
const int ledPin = 26; // GPIO pin pre LED diódu
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttachPin(ledPin, 0); // Pripojí pin k PWM kanálu
}
void loop() {
ledcWrite(ledPin, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50);
}
Živý projekt/Demonštrácia
Video demonštruje stmievanie LED diódy v akcii (vo videu o 14:51). Inštruktor ukazuje, ako upraviť premennú fadeAmount na ovládanie rýchlosti stmievania (vo videu o 15:16 a 15:51). Proces nahrávania kódu do ESP32 je tiež zobrazený (vo videu o 14:20).
791-ESP32 Tutorial 5/55 - LED Fade, control brightness of an LED in Arduino
Language: C++
const int ledPin = 26; // The GPIO pin for the LED
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttach(ledPin, 5000, 8); // Attach the LED pin
}
void loop() {
ledcWrite(ledPin, brightness); // Write the new brightness value to the PWM pin
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50); // Wait for 50 milliseconds
}
Disclosure: As an Amazon Associate, we earn from qualifying purchases. This means we may receive a small commission if you click a link and make a purchase at no extra cost to you.