Code de recherche

Tutoriel ESP32 5/55 - Fondu LED, contrôler la luminosité d'une LED - Kit d'apprentissage IoT ESP32

Tutoriel ESP32 5/55 - Fondu LED, contrôler la luminosité d'une LED - Kit d'apprentissage IoT ESP32

Ce tutoriel démontre comment contrôler la luminosité d'une LED en utilisant un microcontrôleur ESP32, spécifiquement le kit d'apprentissage IoT SunFounder ESP32 (dans la vidéo à 00:04). Ce projet est idéal pour les débutants qui apprennent la modulation de largeur d'impulsion (PWM) et ses applications dans le contrôle de l'intensité des sources lumineuses. Les capacités PWM intégrées de l'ESP32 permettent un contrôle fluide et précis, ouvrant un monde de possibilités pour des projets créatifs.

Applications pratiques :

  • Créer des systèmes d'éclairage ambiant avec une luminosité réglable.
  • Créer une simple veilleuse avec un fondu progressif.
  • Développer un témoin lumineux dynamique pour divers états (par exemple, batterie faible, connexion réseau).
  • Intégration avec d'autres capteurs et actionneurs pour créer des installations interactives complexes.

Matériel/Composants

Le projet utilise le kit de démarrage SunFounder ESP32 (dans la vidéo à 00:12), qui inclut un microcontrôleur ESP32, une carte d'extension, divers composants et une batterie lithium 18650. Vous aurez également besoin d'une LED et d'une résistance de 220 ohms (dans la vidéo à 04:32).

Guide de câblage

Référez-vous au schéma de câblage dans la vidéo (dans la vidéo à 01:46 et 04:18) et à l'explication détaillée à l'horodatage 04:40. Le câblage implique de connecter l'anode de la LED à la résistance, la résistance à la broche GPIO 26 de l'ESP32, et la cathode de la LED à la terre.

LED_avec_Résistance


LED en série avec une résistance de 220 ohms. Ci-dessous se trouve le câblage sur la plaque d'essai.

LED_fade_ESP32

Explication du code

Le code Arduino utilise la modulation de largeur d'impulsions (PWM) pour contrôler la brillance de la LED. Les principales parties configurables sont :

  • ledPinDéfinit la broche GPIO connectée à la LED (dans la vidéo à 09:41, réglée sur 26). Changez ceci si vous utilisez une broche différente.
  • fadeAmountContrôle le rythme auquel la luminosité de la LED change (dans la vidéo à 10:06). Une valeur plus élevée entraîne un fondu plus rapide. Le code inverse automatiquement la direction lorsque la luminosité atteint la valeur minimale (0) ou maximale (255) (dans la vidéo à 11:44).

const int ledPin = 26;  // The GPIO pin for the LED
int brightness = 0;
int fadeAmount = 5;

void setup() {
  ledcAttachPin(ledPin, 0); // Attach pin to PWM channel
}

void loop() {
  ledcWrite(ledPin, brightness); 
  brightness = brightness + fadeAmount;
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  delay(50); 
}

Projet en direct/Démonstration

La vidéo montre le LED en dégradé en action (dans la vidéo à 14:51). L'instructeur montre comment ajuster lefadeAmountvariable pour contrôler la vitesse du fondu (dans la vidéo à 15:16 et 15:51). Le processus de téléchargement du code sur l'ESP32 est également montré (dans la vidéo à 14:20).

Chapitres

  • [00:00] Introduction et aperçu du projet
  • Aperçu du kit de démarrage ESP32
  • [01:46] Diagramme de câblage et explication
  • [02:03] Signaux numériques et PWM
  • [04:18] Câblage de la LED
  • [06:33] Explication du code : Fonctions
  • [09:11] Explication du code : LED en fondu
  • [13:33] Téléchargement du code
  • [14:51] Démonstration en direct et ajustements

Images

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
Langue: C++
const int ledPin = 26; // La broche GPIO pour la LED
int brightness = 0;
int fadeAmount = 5;

void setup() {
  ledcAttach(ledPin, 5000, 8); // Fixez la broche LED
}

void loop() {
  ledcWrite(ledPin, brightness); // Écrire la nouvelle valeur de luminosité sur la broche PWM
  brightness = brightness + fadeAmount;
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  delay(50); // Attendez 50 millisecondes
}

Ressources et références

Aucune ressource pour le moment.

Fichiers📁

Aucun fichier disponible.