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 34/55 - Dégradé de couleurs avec LED RGB et potentiomètre | Kit d'apprentissage IoT ESP32 de SunFounder
Dans ce tutoriel, nous allons créer un effet de dégradé de couleurs en utilisant une LED RVB qui s'ajuste en fonction de la position d'un potentiomètre (molette). Le projet utilise un microcontrôleur ESP32, qui offre des capacités Wi-Fi et Bluetooth intégrées, ce qui en fait un choix polyvalent pour les projets IoT. En tournant le potentiomètre, nous pouvons passer en douceur entre différentes couleurs, démontrant à la fois la fonctionnalité de la LED RVB et la capacité de lire des valeurs analogiques à partir du potentiomètre.
ESO32-34_-Dégradé de Couleur-principal
Ce projet est idéal pour apprendre sur la PWM (Modulation de Largeur d'Hermite) et comment contrôler des dispositifs analogiques avec un microcontrôleur. Tout au long de ce tutoriel, nous discuterons des composants matériels nécessaires, des instructions de câblage et fournirons des extraits de code pour vous aider à réaliser le projet. Pour une explication plus visuelle, n'oubliez pas de consulter la vidéo associée (dans la vidéo à 02:15).
Matériel expliquée
ESO32-34_-Schéma-de-dégradé-de-couleur
Les principaux composants utilisés dans ce projet comprennent le microcontrôleur ESP32, une LED RGB et un potentiomètre. L'ESP32 est un microcontrôleur puissant capable de gérer diverses tâches, y compris la communication sans fil, ce qui le rend adapté aux applications IoT. La LED RGB se compose de trois LED individuelles (rouge, verte et bleue) qui peuvent être mélangées pour produire une large gamme de couleurs. Le potentiomètre agit comme une résistance variable qui fournit une sortie de tension variable en fonction de sa position.
ESP32_rgb_pin
La LED RGB peut être connectée dans deux configurations : anode commune ou cathode commune. Dans ce projet, nous utiliserons une configuration à anode commune, où toutes les anodes sont reliées ensemble à une tension positive, ce qui nous permet de contrôler la luminosité de chaque LED individuellement avec PWM. Le potentiomètre sera connecté à une entrée analogique sur l'ESP32 pour lire sa position et ajuster les valeurs RGB en conséquence.
Détails de la fiche technique
Fabricant
SunFounder
Numéro de pièce
LED RGB
Tension logique/IO
3,3 V
Tension d'alimentation
5 V
Courant de sortie (par canal)
20 mA
Courant de crête (par canal)
30 mA
Directives de fréquence PWM
5 kHz
Seuils de logique d'entrée
0,3 V (faible) / 2,7 V (élevé)
Chute de tension / RDS(on)/ saturation
1,8 V (typ.)
Limites thermiques
Température de fonctionnement : -40°C à +85°C
Paquet
Trou-à-travers
Notes / variantes
Configuration d'anode commune
Utilisez une résistance de 220 Ohms pour chaque canal LED afin de limiter le courant.
Assurez-vous d'une tension d'alimentation correcte (5V) pour la LED RGB.
Connectez l'anode commune à l'alimentation en tension positive.
Utilisez la modulation de largeur d'impulsion (PWM) pour contrôler la luminosité de chaque couleur de LED.
Soyez prudent avec la connexion du potentiomètre pour éviter les entrées flottantes.
Vérifiez que l'ESP32 est correctement alimenté avant de télécharger le code.
Instructions de câblage
Pour câbler la LED RGB et le potentiomètre à l'ESP32, commencez par connecter la broche d'anode commune de la LED RGB à la broche d'alimentation de 3,3 V sur l'ESP32. Les broches rouge, verte et bleue de la LED RGB se connecteront aux broches27,26, et25respectivement. Assurez-vous de placer une résistance de 220 Ohms en série avec chaque broche de couleur LED pour limiter le courant et protéger la LED.
Ensuite, connectez le potentiomètre à l'ESP32 en reliant la broche gauche à la broche d'alimentation 3,3V, la broche droite à la masse et la broche du milieu à14sur l'ESP32. Cette configuration permet à l'ESP32 de lire la tension analogique du potentiomètre, qui sera utilisée pour ajuster la couleur de la LED RGB en fonction de sa position.
Exemples de code et guide étape par étape
Dans la fonction de configuration, nous définissons les broches pour la LED RGB et le potentiomètre, ainsi que nous initialisons les réglages PWM. Le code suivant montre comment nous configurons les broches de la LED RGB :
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;
void setup() {
ledcAttach(redPin, freq, resolution);
ledcAttach(greenPin, freq, resolution);
ledcAttach(bluePin, freq, resolution);
}
Dans cet extrait, nous définissons les broches pour les LED rouge, verte et bleue, et les connectons à des canaux PWM avec une fréquence et une résolution définies.
La fonction boucle lit la valeur du potentiomètre et la convertit en une valeur de teinte, qui est ensuite utilisée pour déterminer les valeurs RGB. L'extrait suivant illustre ce processus :
Ce code lit la valeur analogique du potentiomètre, la normalise et calcule la teinte correspondante. Il appelle ensuite leHUEtoRGBfonction pour convertir la teinte en valeurs RGB, qui sont transmises ausetColorfonction pour mettre à jour la LED.
Démonstration / À quoi s'attendre
Une fois le câblage terminé et le code téléchargé, vous devriez pouvoir tourner le potentiomètre pour changer la couleur de la LED RGB de manière fluide. En tournant le bouton, la LED passera par différentes couleurs en fonction de la valeur de teinte calculée à partir de la position du bouton. Si la LED ne s'allume pas ou se comporte de manière inattendue, vérifiez le câblage et assurez-vous que le potentiomètre est correctement connecté (dans la vidéo à 10:45).
Horodatages vidéo
00:00 Début
2:11 Introduction au projet
4:31 LED RGB
8:18 Couleur RVB
12:18 Explication du câblage
17:59 Code Arduino expliqué
24:12 Sélection de la carte ESP32 et du port COM dans l'Arduino IDE
25:54 Démonstration
Images
ESP32_rgb_pin
ESP32_RGB_led_wires
potentiometer
ESO32-34_-Color-Gradient-wiring
ESO32-34_-Color-Gradient-schematic
ESO32-34_-Color-Gradient-main
ESP32_rgb_pin
ESP32_RGB_led_wires
potentiometer
ESO32-34_-Color-Gradient-wiring
ESO32-34_-Color-Gradient-schematic
ESO32-34_-Color-Gradient-main
835-ESP32 Tutorial 34/55- Arduino code for color gradient