ESP32 C3 Super Mini - LED - Fondu

Apprenez comment créer un effet de fondu LED avec l'ESP32 C3 Super Mini en utilisant le contrôle PWM. Ce tutoriel convivial pour les débutants vous montre trois méthodes différentes pour créer des effets de fondu LED fluides, du code simple basé sur delay() aux techniques avancées non-bloquantes.

Dans ce tutoriel, vous apprendrez :

ESP32 C3 Super Mini - LED - Fondu

Matériel Requis

1×ESP32 C3 Super Mini
1×Câble USB Type-C
1×LED Kit
1×LED (red)
1×LED Module
1×Alternativement: Button and LED Kit
1×Résistor 220 ohm
1×Plaque d'essai
1×Fils Jumper
1×(Optionnel) Jack Alimentation CC

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

Note d'achat: Pour simplifier le processus de câblage, nous recommandons d'utiliser le LED Module, qui est livré avec une résistance intégrée.

À Propos des LED

Une LED est une diode électroluminescente qui s'illumine quand un courant électrique la traverse dans la bonne direction.

Caractéristiques clés :

  • Deux broches : anode (positive, broche longue) et cathode (négative, broche courte)
  • Faible consommation d'énergie et longue durée de vie
  • La luminosité peut être contrôlée en utilisant les signaux PWM
  • Nécessite une résistance limitant le courant (généralement 220 ohm) pour prévenir les dommages
  • Tension de fonctionnement généralement 2-3V selon la couleur LED
  • Parfait pour les débutants apprenant les sorties numériques et le contrôle PWM

Brochage LED

La LED a une configuration simple à deux broches :

  • Broche Cathode (-) : Connectez cette broche à GND (0V) - ceci est la broche courte avec un bord plat sur le boîtier LED
  • Broche Anode (+) : Connectez à la broche de sortie de l'ESP32 C3 Super Mini pour contrôler l'état LED - ceci est la broche longue
Brochage LED

Comment fonctionne la LED

Après avoir connecté la cathode(-) à GND :

  • GND sur anode (+) : LED éteinte (aucune différence de tension)
  • VCC sur anode (+) : LED allumée à pleine luminosité (flux de courant maximal)
  • Signal PWM sur anode (+) : La luminosité LED varie proportionnellement avec le cycle utile PWM
    • Le cycle utile PWM varie de 0 à 255 sur l'ESP32 C3 Super Mini
    • Cycle utile 0 = Équivalent GND = LED éteinte
    • Cycle utile 255 = Équivalent VCC = LED à luminosité maximale
    • Cycle utile 127 = Environ 50% de luminosité
    • L'ESP32 bascule rapidement la broche ON/OFF pour créer la luminosité moyenne
    Comment fonctionne la LED

    ※ Note:

    Utilisez toujours une résistance (généralement 220 ohm) en série avec la LED pour limiter le courant et prévenir la défaillance. La valeur de résistance dépend de la spécification LED et de la tension d'alimentation.

    ESP32 C3 Super Mini - Fondu LED

    Les broches de sortie numériques de l'ESP32 C3 Super Mini peuvent générer des signaux PWM pour des effets de fondu LED fluides.

    Comment fonctionne le fondu LED avec ESP32 C3 Super Mini :

    • Connectez l'anode LED (+) à n'importe quelle broche capable de PWM de l'ESP32 C3 Super Mini (la plupart des broches numériques supportent PWM)
    • Connectez la cathode LED (-) à GND via une résistance de 220 ohm
    • Programmez l'ESP32 C3 Super Mini pour modifier graduellement les valeurs de cycle utile PWM
    • La luminosité LED fait une transition fluide à mesure que le cycle utile change de 0 à 255
    • Créez des effets de fondu entrant en augmentant le cycle utile au fil du temps
    • Créez des effets de fondu sortant en diminuant le cycle utile au fil du temps

Schéma de Câblage entre LED et ESP32 C3 Super Mini

Suivez ce schéma de câblage pour connecter votre LED à l'ESP32 C3 Super Mini pour le contrôle de fondu :

  • Important : Incluez toujours la résistance de 220 ohm en série avec la LED pour prévenir les dommages dus à un courant excessif
Broche LED Broche ESP32 C3 Super Mini
Anode (+) (broche longue) D7 (via résistor 220Ω)
Cathode (-) (broche courte) GND
Schéma de Câblage LED ESP32 C3 Super Mini

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Comment Programmer

La programmation de l'ESP32 C3 Super Mini pour créer un effet de fondu LED implique ces étapes basiques :

  • Configurez la broche : Définissez une broche ESP32 C3 Super Mini comme sortie numérique en utilisant la fonction pinMode() (exemple avec la broche D7) :
pinMode(D7, OUTPUT);
  • Définissez la luminosité LED : Générez un signal PWM avec le cycle utile souhaité en utilisant la fonction analogWrite() :
analogWrite(D7, brightness);

Où brightness est une valeur de 0 (complètement éteint) à 255 (luminosité maximale).

Ce que fait le code :

  • La fonction pinMode() prépare la broche D7 pour envoyer des signaux de sortie
  • La fonction analogWrite() crée un signal PWM avec un cycle utile correspondant à la valeur de luminosité
  • Changer les valeurs de luminosité au fil du temps crée l'effet de fondu
  • Les valeurs plus élevées = LED plus brillante, les valeurs plus basses = LED plus faible

Code ESP32 C3 Super Mini - Exemple de Fondu Simple

Ce code démontre un fondu LED basique en utilisant la fonction delay() :

Ce que fait ce code :

  • Augmente graduellement la luminosité LED de 0 à 255 (fondu entrant)
  • Diminue graduellement la luminosité LED de 255 à 0 (fondu sortant)
  • Utilise delay() pour contrôler la vitesse des changements de luminosité
  • Répète le cycle de fondu entrant et sortant en continu

Étapes Rapides

  • Nouveau sur ESP32 C3 Mini ? Complétez d'abord notre tutoriel ESP32 C3 Super Mini - Premiers pas pour configurer votre environnement de développement.
  • Câblez les composants : Suivez le schéma de câblage ci-dessus pour connecter la LED à la broche D7 via une résistance de 220 ohm
  • Connectez la carte : Branchez votre ESP32 C3 Super Mini sur votre ordinateur en utilisant un câble USB Type-C
  • Ouvrez Arduino IDE : Lancez le logiciel Arduino IDE sur votre ordinateur
  • Sélectionnez la carte et le port : Choisissez "ESP32 C3 Super Mini" comme carte et sélectionnez le port COM correct
  • Copiez le code : Copiez le code ci-dessous et collez-le dans une nouvelle esquisse Arduino IDE
  • Téléchargez le code : Cliquez sur le bouton Upload dans Arduino IDE pour compiler et transférer le code à votre ESP32 C3 Super Mini
  • Observez le résultat : Regardez la LED faire un fondu en douceur entrant et sortant en continu
  • Pro Tip : Essayez de modifier les valeurs de délai pour accélérer ou ralentir l'effet de fondu, ou modifiez les étapes d'augmentation de luminosité pour un fondu plus lisse ou plus dramatique.
Arduino IDE Upload Code
/* * Ce code ESP32 C3 Super Mini a été développé par newbiely.fr * Ce code ESP32 C3 Super Mini est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-c3/esp32-c3-super-mini-led-fade */ #define LED_PIN 7 // The ESP32 C3 SuperMini pin 7 connected to LED int brightness = 0; // how bright the LED is int fade_amount = 5; // how many points to fade the LED by // The setup function runs once on reset or power-up void setup() { // configure the Arduino Nano ESP32 pin as an output: pinMode(LED_PIN, OUTPUT); } // The loop function repeats indefinitely. void loop() { // set the brightness analogWrite(LED_PIN, brightness); // change the brightness for next time through the loop: brightness = brightness + fade_amount; // reverse the direction of the fading at the ends of the fade: if (brightness <= 0 || brightness >= 255) { fade_amount = -fade_amount; } // wait for 30 milliseconds to see the dimming effect delay(30); }

Explication du Code Ligne par Ligne

Le code ESP32 C3 Super Mini ci-dessus contient une explication ligne par ligne. Veuillez lire les commentaires dans le code !

※ Note:

L'exemple ci-dessus utilise la fonction delay() pour faire un fondu entrant et sortant. La fonction delay() rend le fondu LED moins fluide et bloque les autres codes de s'exécuter pendant le fondu. Dans les parties suivantes, nous allons apprendre à créer un fondu entrant et sortant fluide sans bloquer les autres codes en utilisant la fonction millis() pour le contrôle de temps non-bloquant.

Comment Créer un Fondu Entrant LED sur une Période Sans Utiliser delay()

Ce code avancé crée un effet de fondu entrant fluide en utilisant millis() pour un temps non-bloquant :

Ce que fait ce code :

  • Fait un fondu LED de l'extinction à la pleine luminosité sur une période de temps spécifiée
  • Utilise millis() pour suivre le temps sans bloquer l'exécution des autres codes
  • Permet aux autres tâches de s'exécuter simultanément pendant le fondu
  • Fournit un contrôle de fondu plus fluide et plus précis que delay()
  • Calcule automatiquement la luminosité en fonction du temps écoulé
/* * Ce code ESP32 C3 Super Mini a été développé par newbiely.fr * Ce code ESP32 C3 Super Mini est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-c3/esp32-c3-super-mini-led-fade */ #define LED_PIN 7 // The ESP32 C3 SuperMini pin 7 connected to LED #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long start_time; // The setup routine runs once when you press reset void setup() { pinMode(LED_PIN, OUTPUT); // configure the Arduino Nano ESP32 pin as an output start_time = millis(); } // fade-in in loop, and restart after finishing void loop() { unsigned long progress = millis() - start_time; if (progress <= FADE_PEDIOD) { long brightness = map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { start_time = millis(); // restart fade again } }

Comment Créer un Fondu Sortant LED sur une Période Sans Utiliser delay()

Ce code démontre des effets de fondu sortant fluides avec contrôle de temps non-bloquant :

Ce que fait ce code :

  • Fait un fondu LED de pleine luminosité à extinction sur une durée spécifiée
  • Utilise millis() pour le suivi du temps non-bloquant
  • Permet les tâches multiples pendant que la LED fait un fondu
  • Fournit un contrôle précis sur le timing et la fluidité du fondu
  • Peut être combiné avec le code de fondu entrant pour des cycles de fondu complets
/* * Ce code ESP32 C3 Super Mini a été développé par newbiely.fr * Ce code ESP32 C3 Super Mini est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-c3/esp32-c3-super-mini-led-fade */ #define LED_PIN 7 // The ESP32 C3 SuperMini pin 7 connected to LED #define FADE_PEDIOD 3000 // fade time is 3 seconds unsigned long start_time; // The setup routine runs once when you press reset void setup() { pinMode(LED_PIN, OUTPUT); // configure the Arduino Nano ESP32 pin as an output start_time = millis(); } // fade-out in loop, and restart after finishing void loop() { unsigned long progress = millis() - start_time; if (progress <= FADE_PEDIOD) { long brightness = 255 - map(progress, 0, FADE_PEDIOD, 0, 255); analogWrite(LED_PIN, brightness); } else { start_time = millis(); // restart fade again } }

Applications et Idées de Projets

Utilisez les techniques de fondu LED dans ces projets ESP32 C3 Super Mini conviviales pour les débutants :

  • Veilleuse respirante : Créez une lumière ambiante apaisante qui fait un fondu entrant et sortant en douceur
  • Indicateur d'état : Montrez les états des appareils avec différentes vitesses de fondu (fondu lent = veille, fondu rapide = traitement)
  • Réveil : Augmentez graduellement la luminosité LED pour simuler le lever du soleil pour un réveil en douceur
  • Visualiseur musical : Synchronisez le fondu LED avec l'entrée audio pour l'éclairage réactif au son simple
  • Éclairage d'ambiance intelligente : Contrôlez la luminosité LED à distance avec des effets de fondu pour l'ambiance
  • Indicateur de niveau de batterie : Utilisez la vitesse de fondu pour représenter la charge de batterie restante (lent = plein, rapide = faible)

Tutoriel Vidéo

Regardez la vidéo ci-dessous pour une présentation visuelle de ce projet.

Défi Yourself

Poussez vos compétences de fondu LED au niveau suivant avec ces défis :

  • Facile : Modifiez la vitesse de fondu pour créer un effet de respiration lent et relaxant sur 5 secondes
  • Facile : Modifiez le code pour faire un fondu entre deux niveaux de luminosité différents au lieu de 0 à 255
  • Moyen : Contrôlez plusieurs LEDs avec différents motifs de fondu s'exécutant simultanément sans bloquer
  • Moyen : Ajoutez un bouton pour démarrer/arrêter l'effet de fondu ou basculer entre différentes vitesses de fondu
  • Avancé : Créez un effet de fondu arc-en-ciel en utilisant des LEDs RGB avec des transitions de couleur chevauchantes
  • Avancé : Implémentez un motif de fondu qui répond à l'entrée des capteurs (comme les niveaux de lumière ou la température)

Références de Langage

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !