Certaines parties de ce site Web ne sont pas encore disponibles dans votre langue. Nous travaillons à résoudre ce problème et nous nous excusons pour tout inconvénient.
Tutoriel ESP32 50/55 - Contrôlez une LED RGB de n'importe où dans le monde | Kit ESP32 de SunFounder
Dans ce tutoriel, nous allons apprendre comment contrôler la couleur d'une LED RGB en utilisant le microcontrôleur ESP32 via Wi-Fi, en utilisant le protocole MQTT et le service Adafruit IO. Cette configuration vous permet de changer la couleur de la LED RGB depuis n'importe où dans le monde, offrant une application pratique de la technologie IoT. Nous explorerons également comment utiliser des curseurs et un sélecteur de couleurs pour choisir la couleur désirée.
esp32-50-RGB-led-mqtt-principal
L'ESP32 est un microcontrôleur puissant qui possède des capacités Wi-Fi et Bluetooth intégrées, ce qui le rend idéal pour les projets IoT. Dans cette construction, nous allons connecter une LED RGB à l'ESP32 et contrôler sa couleur via un courtier MQTT fourni par Adafruit. Le tutoriel vous guidera à travers la configuration matérielle, les instructions de câblage et le code nécessaire pour faire fonctionner le tout de manière transparente (dans la vidéo à 00:00).
Matériel expliqué
esp32-50-RGB-ledesp32-50-RGB-led
Pour ce projet, les composants principaux que nous utiliserons sont le microcontrôleur ESP32 et la LED RVB. L'ESP32 est capable de se connecter à des réseaux Wi-Fi, lui permettant de communiquer avec le service Adafruit IO. La LED RVB contient trois LEDs individuelles (rouge, vert et bleu) qui peuvent être mélangées pour créer une large gamme de couleurs.
La LED RVB fonctionne selon un principe d'anode commune ou de cathode commune, ce qui signifie que l'anode (positive) ou la cathode (négative) des LED individuelles doit être correctement connectée pour qu'elles fonctionnent. Chaque couleur peut être contrôlée à l'aide de la modulation de largeur d'impulsion (PWM), qui ajuste la luminosité de chaque LED en faisant varier le rapport cyclique.
ES32-38_RGB_LED-câblage
Détails de la fiche technique
Fabricant
SunFounder
Numéro de pièce
LED RGB
Tension directe (V)F)
2,0-3,4 V
Courant de fuite (IF)
20 mA
Longueur d'onde de crête (nm)
Rouge : 620, Vert : 525, Bleu : 465
Paquet
Standard 4 broches
Notes / variantes
Options d'anode commune ou de cathode commune disponibles
Utilisez des résistances de 220 ohms pour chaque couleur de LED afin de limiter le courant.
Assurez-vous d'un câblage correct pour une configuration à anode ou cathode commune.
Vérifiez l'alimentation de l'ESP32 pour éviter les baisses de tension.
Gardez la fréquence PWM dans les limites pour des transitions de couleur fluides.
Assurez-vous que les identifiants Wi-Fi sont corrects pour se connecter au service Adafruit IO.
Instructions de câblage
ES32-38_RGB_LED-wiring
Pour connecter le LED RGB à l'ESP32, commencez par identifier les broches sur le LED RGB. La broche la plus longue est la broche commune. Pour une configuration à anode commune, connectez cette broche à l'alimentation en tension positive (3,3 V). Les trois autres broches correspondent aux LED rouge, verte et bleue. Connectez la broche rouge à la GPIO 27, la broche verte à la GPIO 26 et la broche bleue à la GPIO 25. Chacune de ces connexions doit être faite via une résistance de 220 ohms pour limiter le courant qui traverse les LED.
Ensuite, connectez le ground (GND) de l'ESP32 à la ligne de terre de votre circuit. Assurez-vous que le câblage est sécurisé pour éviter toute connexion intermittente. Si vous utilisez une LED RVB à cathode commune, connectez la broche commune à la terre et connectez les broches de couleur individuelles à l'alimentation positive à travers les résistances. Vérifiez toutes les connexions avant d'alimenter le circuit.
Exemples de code et guide étape par étape
Dans le code Arduino, nous commençons par définir les broches des LED rouge, verte et bleue en utilisant les identifiants.redPin,greenPin, etbluePin. De plus, nous définissons les canaux PWM pour chaque couleur en utilisantredChannel,greenChannel, etblueChannelLa fréquence PWM est réglée sur 5000 Hz avec une résolution de 8 bits.
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;
const int redChannel = 0;
const int greenChannel = 1;
const int blueChannel = 2;
Dans lesetup()fonction, nous initialisons les canaux PWM et attachons les broches correspondantes. Nous nous connectons également au réseau Wi-Fi en utilisant les identifiants définis et configurons le client MQTT pour la communication avec Adafruit IO.
La boucle principale vérifie la connexion MQTT et traite les messages entrants. Elle imprime également les valeurs RVB actuelles sur le moniteur série. La couleur de la LED est mise à jour en fonction des valeurs reçues via les abonnements MQTT.
Pour plus de détails sur le code complet, veuillez vous référer au code complet chargé en dessous de l'article.
Démonstration / À quoi s'attendre
Une fois que tout est configuré et le code téléchargé, vous devez voir la LED RGB réagir aux changements de couleur effectués via le tableau de bord Adafruit IO. En ajustant les curseurs pour le rouge, le vert et le bleu, la LED devrait changer de couleur en conséquence. Si vous rencontrez des problèmes, assurez-vous que la connexion Wi-Fi est stable et que les noms des sujets MQTT correspondent à ceux définis dans le code (dans la vidéo à 17:30).
Les pièges courants incluent un câblage incorrect, des noms de sujet non correspondants et l'oubli de définir les bonnes informations d'identification Wi-Fi. Si la LED ne s'allume pas, vérifiez à nouveau les connexions des résistances et assurez-vous que l'ESP32 est correctement alimenté.
Horodateurs vidéo
00:00 Début
2:23 Introduction au projet
4:43 Qu'est-ce que MQTT
7:55 Configuration d'Adafruit IO
14:09 Explication du câblage
16:07 Code expliqué
27:03 Sélection de la carte ESP32 et du port COM dans Arduino IDE
29:12 Démonstration du projet
Qu'est-ce qu'un LED RGB ?
35:26 Couleur RVB
Images
ESP32_rgb_pin
ESP32_RGB_led_wires
ES32-38_RGB_LED-wiring
esp32-50-RGB-led
esp32-50-RGB-led-mqtt-main
ESP32_rgb_pin
ESP32_RGB_led_wires
ES32-38_RGB_LED-wiring
esp32-50-RGB-led
esp32-50-RGB-led-mqtt-main
852-ESP32 Tutorial 50/55- Arduino code to control RGB LED using MQTT service of Adafruit