Search Code

ESP32 Tutorial 5/55 - LED Fade, helderheid van een LED regelen - ESP32 IoT Learning kit

ESP32 Tutorial 5/55 - LED Fade, helderheid van een LED regelen - ESP32 IoT Learning kit

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).

Hoofdstukken

  • [00:00] Introductie en projectoverzicht
  • [00:12] Overzicht ESP32 Starter Kit
  • [01:46] Bedradingsschema en uitleg
  • [02:03] Digitale signalen en PWM
  • [04:18] Bedrading van de LED
  • [06:33] Code-uitleg: functies
  • [09:11] Code-uitleg: LED vervagen
  • [13:33] Uploaden van de code
  • [14:51] Live demonstratie en aanpassingen

Afbeeldingen

LED_fade_ESP32
LED_fade_ESP32
LED_with_Resistor
LED_with_Resistor
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
}

Hulpmiddelen en referenties

Nog geen middelen.

Bestanden📁

Geen bestanden beschikbaar.