Deze tutorial laat zien hoe je de helderheid van een LED kunt regelen met behulp van een ESP32-microcontroller, specifiek de SunFounder ESP32 IoT Learning Kit (in video op 00:04). Dit project is ideaal voor beginners die leren over pulsbreedtemodulatie (PWM) en de toepassingen ervan bij het regelen van de intensiteit van lichtbronnen. De ingebouwde PWM-mogelijkheden van de ESP32 zorgen voor soepele, nauwkeurige controle, wat een wereld aan mogelijkheden opent voor creatieve projecten.
Praktische toepassingen:
Creëren van sfeerverlichtingssystemen met instelbare helderheid.
Bouwen van een eenvoudig nachtlampje met geleidelijk vervagen.
Ontwikkelen van een dynamisch indicatielampje voor verschillende toestanden (bijv. lage batterij, netwerkverbinding).
Integreren met andere sensoren en actuatoren om complexe interactieve installaties te creëren.
Hardware/Componenten
Het project maakt gebruik van de SunFounder ESP32 Starter Kit (in video op 00:12), die een ESP32-microcontroller, een uitbreidingsbord, diverse componenten en een 18650-lithiumbatterij bevat. Je hebt ook een LED en een 220-ohm-weerstand nodig (in video op 04:32).
Bedradingshandleiding
Raadpleeg het bedradingsschema in de video (in video op 01:46 en 04:18) en de gedetailleerde uitleg op tijdstip 04:40. De bedrading omvat het verbinden van de anode van de LED met de weerstand, de weerstand met GPIO-pin 26 van de ESP32, en de kathode van de LED met aarde.
LED_met_weerstand
LED in serie met een 220-ohm-weerstand. Hieronder is de bedrading op het breadboard.
LED_vervagen_ESP32
Code-uitleg
De Arduino-code gebruikt pulsbreedtemodulatie (PWM) om de helderheid van de LED te regelen. De belangrijkste instelbare onderdelen zijn:
ledPin: Definieert de GPIO-pin die is verbonden met de LED (in video op 09:41, ingesteld op 26). Wijzig dit als je een andere pin gebruikt.
fadeAmount: Regelt de snelheid waarmee de helderheid van de LED verandert (in video op 10:06). Een hogere waarde resulteert in sneller vervagen. De code keert automatisch de richting om wanneer de helderheid de minimumwaarde (0) of maximumwaarde (255) bereikt (in video op 11:44).
const int ledPin = 26; // De GPIO-pin voor de LED
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttachPin(ledPin, 0); // Bevestig pin aan PWM-kanaal
}
void loop() {
ledcWrite(ledPin, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50);
}
Live project/demonstratie
De video demonstreert de vervagende LED in actie (in video op 14:51). De instructeur laat zien hoe je de variabele fadeAmount aanpast om de snelheid van het vervagen te regelen (in video op 15:16 en 15:51). Het proces van het uploaden van de code naar de ESP32 wordt ook getoond (in video op 14:20).
791-ESP32 Tutorial 5/55 - LED Fade, control brightness of an LED in Arduino
Taal: 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
}
Openbaarmaking: Als Amazon Associate verdienen we aan gekwalificeerde aankopen. Dit betekent dat we een kleine commissie kunnen ontvangen als je op een link klikt en een aankoop doet zonder extra kosten voor jou.