Ovaj tutorijal pokazuje kako kontrolisati svjetlinu LED diode koristeći ESP32 mikrokontroler, konkretno SunFounder ESP32 IoT Learning Kit (u videu na 00:04). Ovaj projekat je idealan za početnike koji uče o pulsnoj širinskoj modulaciji (PWM) i njenim primjenama u kontroli intenziteta izvora svjetlosti. Ugrađene PWM mogućnosti ESP32-a omogućavaju glatku, preciznu kontrolu, otvarajući svijet mogućnosti za kreativne projekte.
Praktične primjene:
Kreiranje ambijentalnih sistema osvjetljenja sa podesivom svjetlinom.
Izgradnja jednostavnog noćnog svjetla sa postepenim zatamnjivanjem.
Razvoj dinamičkog indikatorskog svjetla za različita stanja (npr. niska baterija, mrežna veza).
Integracija sa drugim senzorima i aktuatorima za kreiranje složenih interaktivnih instalacija.
Hardver/Komponente
Projekat koristi SunFounder ESP32 Starter Kit (u videu na 00:12), koji uključuje ESP32 mikrokontroler, produžnu ploču, različite komponente i 18650 litijumsku bateriju. Također će vam trebati LED dioda i otpornik od 220 oma (u videu na 04:32).
Vodič za povezivanje
Pogledajte šemu povezivanja u videu (u videu na 01:46 i 04:18) i detaljno objašnjenje na vremenskoj oznaci 04:40. Povezivanje uključuje spajanje anode LED diode na otpornik, otpornika na GPIO 26 pin ESP32-a, i katode LED diode na masu.
LED_sa_otpornikom
LED dioda u seriji sa otpornikom od 220 oma. Ispod je povezivanje na breadboard ploči.
LED_fade_ESP32
Objašnjenje koda
Arduino kod koristi pulsnu širinsku modulaciju (PWM) za kontrolu svjetline LED diode. Ključni podesivi dijelovi su:
ledPin: Definira GPIO pin spojen na LED diodu (u videu na 09:41, postavljen na 26). Promijenite ovo ako koristite drugi pin.
fadeAmount: Kontroliše brzinu kojom se mijenja svjetlina LED diode (u videu na 10:06). Veća vrijednost rezultira bržim zatamnjivanjem. Kod automatski mijenja smjer kada svjetlina dostigne minimalnu (0) ili maksimalnu (255) vrijednost (u videu na 11:44).
const int ledPin = 26; // GPIO pin za LED diodu
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttachPin(ledPin, 0); // Prikači pin na PWM kanal
}
void loop() {
ledcWrite(ledPin, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50);
}
Živi projekat/Demonstracija
Video prikazuje LED diodu koja se zatamnjuje u akciji (u videu na 14:51). Instruktor pokazuje kako podesiti varijablu fadeAmount za kontrolu brzine zatamnjivanja (u videu na 15:16 i 15:51). Proces uploada koda na ESP32 također je prikazan (u videu na 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.