Tutoriel ESP32 38/55 - Contrôle du LED RGB depuis votre téléphone mobile | Kit d'apprentissage IoT ESP32 de SunFounder

Tutoriel ESP32 38/55 - Contrôle du LED RGB depuis votre téléphone mobile | Kit d'apprentissage IoT ESP32 de SunFounder

Dans ce tutoriel, nous allons explorer comment contrôler une LED RGB en utilisant un module ESP32 du kit d'apprentissage SunFounder ESP32. En envoyant des commandes depuis votre appareil mobile, vous pouvez changer la couleur de la LED ou l'éteindre complètement. Ce projet exploite les capacités de l'ESP32, tirant parti des fonctionnalités Wi-Fi et Bluetooth intégrées pour une connectivité et un contrôle sans effort.

Fils_LED_RGB_ESp32
ESP32_pin_rgb

La LED RGB se compose de trois LEDs individuelles : rouge, vert et bleu, qui peuvent être mélangées pour créer diverses couleurs. Dans ce projet, vous apprendrez à câbler correctement la LED RGB et à programmer l'ESP32 pour répondre aux commandes Bluetooth. Le tutoriel vous guidera également à travers les composants de code nécessaires pour réaliser cette fonctionnalité (dans la vidéo à 02:15).

Matériel expliqué

Les composants principaux de ce projet incluent le microcontrôleur ESP32 et la LED RGB. L'ESP32 est un module puissant avec Wi-Fi et Bluetooth intégrés, ce qui le rend idéal pour les applications IoT. Dans ce projet, il agira comme un serveur pour recevoir des commandes d'un appareil mobile et contrôler la LED RGB en conséquence.

LaLED RGB a quatre broches : une broche commune (soit l'anode, soit la cathode) et trois broches pour les couleurs individuelles. La broche commune se connecte soit à la source d'alimentation, soit à la terre, tandis que les trois autres broches se connectent aux broches GPIO de l'ESP32 via des résistances pour limiter le courant et protéger les LEDs. Ce dispositif permet un contrôle précis de la luminosité de chaque couleur, créant une large gamme de couleurs.

Détails de la fiche technique

Fabricant SunFounder
Numéro de pièce LED RGB
Type de broche commune Anode commune / Cathode commune
Tension directe (V) 2,0 - 3,2 V
Courant maximal de sortie (A) 20 mA
Courant typique (A) 15 mA
Résolution des couleurs 8 bits (0-255)
Colis Trou-à-travers / CMS

  • Assurez-vous des valeurs de résistance appropriées (typiquement 220 Ohm) pour limiter le courant dans chaque canal LED.
  • Vérifiez la configuration des broches communes (anode ou cathode) avant de câbler.
  • Utilisez le PWM pour atténuer et mélanger les couleurs en ajustant le signal envoyé à chaque LED.
  • Soyez prudent avec le câblage pour éviter les courts-circuits ; connectez une broche à la fois.
  • Testez chaque couleur individuellement après la configuration pour confirmer le câblage correct.

Instructions de câblage

ES32-38_RGB_LED-wiring

Pour câbler la LED RGB à l'ESP32, commencez par placer la LED RGB sur une plaque de montage. La broche la plus longue est la broche commune, que vous connecterez soit à la tension positive (pour l'anode commune), soit à la terre (pour la cathode commune). Si vous utilisez une anode commune, connectez la broche longue au pin 3,3V de l'ESP32. Pour la cathode commune, connectez-la au pin GND.

Ensuite, prenez trois résistances de 220 Ohms et connectez une extrémité de chaque résistance aux broches RGB correspondantes de la LED. Connectez les autres extrémités des résistances aux broches GPIO de l'ESP32 : connectez la broche rouge de la LED à la GPIO 27, la broche verte à la GPIO 26 et la broche bleue à la GPIO 25. Enfin, assurez-vous que la broche commune est correctement connectée en fonction de votre configuration (anode ou cathode).

Exemples de code et guide étape par étape

Le code de ce projet commence par définir les broches connectées à la LED RGB. L'extrait suivant montre comment les broches sont déclarées :

const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;

Ici,redPin,greenPin, etbluePinsont attribués des numéros GPIO spécifiques sur l'ESP32 pour chaque canal de couleur de la LED RGB.

Dans la fonction de configuration, le Bluetooth est initialisé et les paramètres PWM sont appliqués. Cet extrait démontre cette initialisation :

void setup() {
  Serial.begin(115200);      // Initialize the serial port
  setupBLE();                // Initialize the Bluetooth BLE

  ledcAttach(redPin, freq, resolution);
  ledcAttach(greenPin, freq, resolution);
  ledcAttach(bluePin, freq, resolution);
}

Ce code initialise la communication série et configure la fonctionnalité Bluetooth tout en attachant les broches LED RVB aux canaux PWM pour le contrôle.

Enfin, la fonction de boucle vérifie les messages Bluetooth reçus et ajuste la couleur des LED en conséquence :

if (value == "red") {
  setColor(255, 0, 0); // Red
  Serial.println("red");
}

Dans cette section, si la valeur reçue est "rouge", la LED sera réglée à la pleine luminosité rouge en utilisant lesetColorfonction.

Pour une compréhension complète du code, il est recommandé de regarder le tutoriel vidéo où le code complet est chargé sous l'article.

Démonstration / À quoi s'attendre

Une fois que tout est câblé et que le code est téléchargé, vous devriez être en mesure de contrôler la LED RGB depuis votre appareil mobile via Bluetooth. En envoyant des commandes comme "rouge", "vert", "bleu", etc., vous verrez la LED changer de couleur en conséquence. Si vous envoyez "LED_off", la LED RGB s'éteindra. Assurez-vous de vérifier le moniteur série pour tout message de débogage afin de confirmer que les commandes sont reçues correctement (dans la vidéo à 10:45).

Horodatage vidéo

  • 00:00 Début
  • 1:59 Qu'est-ce qu'un LED RGB ?
  • 6:01 Explication de la couleur RVB
  • 10:01 Page de documentation
  • 11:19 Explication du câblage
  • 13:34 Sélection de la carte ESP32 et du port COM dans l'IDE Arduino
  • 15:15 Code Arduino
  • 18:02 Démonstration de contrôle d'une LED RGB avec votre téléphone

Images

ESP32_rgb_pin
ESP32_rgb_pin
ESP32_RGB_led_wires
ESP32_RGB_led_wires
ES32-38_RGB_LED-wiring
ES32-38_RGB_LED-wiring
839-ESP32 Tutorial 38/55- Arduino code for controlling RGB LED using bluetooth app
Langue: C++
Copié !

Ressources et références

Fichiers📁

Aucun fichier disponible.