Arduino Nano ESP32 - LED - Fondu

Ce tutoriel fournit des instructions sur comment utiliser :

Préparation du matériel

1×Arduino Nano ESP32
1×USB Cable Type-C
1×LED
1×220 ohm resistor
1×Breadboard
1×Jumper Wires
1×(Optional) DC Power Jack
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
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.

À propos des LED

Brochage LED

LED comprend deux broches :

  • Broche de cathode (-) : connectez cette broche à GND (0V)
  • Broche d'anode (+) : sert à contrôler l'état de la LED
Brochage LED

Comment fonctionne une LED

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

  • Si nous connectons GND à l'anode (+), la LED est ÉTEINTE.
  • Si nous connectons VCC à l'anode (+), la LED est ALLUMÉE.
  • Si nous générons un signal PWM sur la broche anode (+), la luminosité de la LED est proportionnelle au cycle de travail du PWM. Le cycle de travail du PWM varie de 0 à 255. Plus le cycle de travail du PWM est grand, plus la LED est lumineuse.
    • Si la valeur du PWM est de 0, cela équivaut à GND ⇒ LED est ÉTEINTE.
    • Si la valeur du PWM est de 255, cela équivaut à VCC ⇒ LED est ALLUMÉE à la luminosité maximale.
    Comment fonctionnent les LED

    ※ NOTE THAT:

    Habituellement, il est nécessaire d'utiliser une résistance pour protéger la LED de la surchauffe. La valeur de la résistance dépend des spécifications de la LED.

    Arduino Nano ESP32 - estomper la LED

    Les broches de sortie numérique de l'ESP32 peuvent être programmées pour générer un signal PWM. En connectant la broche anode (+) du LED à une broche de l'Arduino Nano ESP32, la cathode (-) du LED à GND, et en programmant l'Arduino Nano ESP32 pour modifier le rapport cyclique du PWM, nous pouvons estomper la LED.

Schéma de câblage entre LED et Arduino Nano ESP32

Schéma de câblage d'une LED avec Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Comment programmer

  • Configurez une broche d'un Arduino Nano ESP32 en tant que broche de sortie numérique en utilisant la fonction pinMode(). Par exemple, la broche D5 :
pinMode(D5, OUTPUT);
  • Définissez la luminosité de la LED en générant un signal PWM avec un cycle de travail correspondant en utilisant la fonction analogWrite().
analogWrite(D5, brightness);

Là où la luminosité est une valeur de 0 à 255.

Code Arduino Nano ESP32 - Exemple Simple de Fondu

Étapes rapides

Pour commencer avec Arduino Nano ESP32, suivez ces étapes :

  • Si vous êtes novice avec l'Arduino Nano ESP32, consultez le tutoriel sur comment configurer l'environnement pour Arduino Nano ESP32 dans l'IDE Arduino.
  • Câblez les composants selon le schéma fourni.
  • Connectez la carte Arduino Nano ESP32 à votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Arduino sur votre ordinateur.
  • Sélectionnez la carte Arduino Nano ESP32 et le port COM correspondant. * Copiez le code ci-dessous et collez-le dans l'IDE Arduino.
/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano ESP32 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/arduino-nano-esp32/arduino-nano-esp32-led-fade */ #define LED_PIN D5 // The Arduino Nano ESP32 pin D5 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); }
  • Compiler et télécharger le code sur la carte Arduino Nano ESP32 en cliquant sur le bouton Upload dans l'IDE Arduino.
Téléversement de code de l'IDE Arduino
  • Voyez la luminosité du LED.

Explication du code ligne par ligne

Le code Arduino Nano ESP32 ci-dessus contient des explications ligne par ligne. Veuillez lire les commentaires dans le code !

※ NOTE THAT:

L'exemple ci-dessus utilise la fonction delay() pour réaliser un fondu d'entrée et de sortie. La fonction delay() rend le fondu du LED saccadé et bloque le reste du code. Dans les parties suivantes, nous apprendrons comment réaliser un fondu d'entrée et de sortie de manière fluide sans bloquer le reste du code en utilisant la fonction millis().

Comment réaliser un fondu d'allumage d'une LED sur une période sans utiliser delay()

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano ESP32 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/arduino-nano-esp32/arduino-nano-esp32-led-fade */ #define LED_PIN D5 // The Arduino Nano ESP32 pin D5 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 estomper une LED sur une période sans utiliser delay()

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano ESP32 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/arduino-nano-esp32/arduino-nano-esp32-led-fade */ #define LED_PIN D5 // The Arduino Nano ESP32 pin D5 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 } }

Vidéo

Références linguistiques

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!