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 22/55 - Ressentir la lumière avec un LED Arduino | Kit d'apprentissage IoT ESP32 de SunFounder
Dans ce tutoriel, nous allons explorer comment utiliser un résistor dépendant de la lumière (LDR) avec le microcontrôleur ESP32 pour mesurer l'intensité lumineuse. En lisant la résistance du LDR, nous pouvons déclencher des actions, comme allumer un buzzer lorsque le niveau de lumière dépasse un certain seuil. Ce projet démontrera l'interaction entre les niveaux de lumière et les capacités de lecture analogique de l'ESP32, nous permettant de créer des applications réactives basées sur la lumière ambiante. (dans la vidéo à 5:30)
Matériel expliqué
Les principaux composants que nous utiliserons dans ce projet comprennent le microcontrôleur ESP32, un LDR et une résistance de 10 kΩ. Le LDR change sa résistance en fonction de l'intensité de la lumière frappant sa surface : plus il y a de lumière, moins la résistance est faible, tandis que moins il y a de lumière, plus la résistance est élevée. Cette propriété nous permet de mesurer des niveaux de lumière variés en connectant le LDR dans une configuration de diviseur de tension avec la résistance.
Le microcontrôleur ESP32 dispose de Wi-Fi et de Bluetooth intégrés, ce qui le rend idéal pour les projets IoT. Il possède plusieurs broches analogiques capables de lire différents niveaux de tension, que nous utiliserons pour surveiller la tension à travers la LDR. Cette tension sera convertie en une valeur analogique que l'ESP32 pourra traiter et utiliser pour déclencher des actions comme activer un buzzer.
Détails de la fiche technique
Fabricant
Espressif Systems
Numéro de pièce
ESP32
Tension logique/IO
3,3 V
Tension d'alimentation
3,0 - 3,6 V
Courant de sortie (par GPIO)
40 mA max
Directives sur la fréquence PWM
1 kHz - 40 kHz
Seuils de logique d'entrée
Haute : 2,0 V min, Basse : 0,8 V max
Chute de tension / RDS(on)/ saturation
0,3 V max
Limites thermiques
-40 °C à 125 °C
Colis
QFN48
Notes / variantes
Prend en charge plusieurs protocoles Wi-Fi et Bluetooth.
Utilisez une résistance de 10 kΩ en série avec le LDR pour le division de tension.
Assurez-vous que l'ESP32 est alimenté en 3,3 V pour éviter d'endommager.
Connectez correctement le LDR et la résistance pour mesurer l'intensité lumineuse.
Utilisez un condensateur pour le découplage si nécessaire pour stabiliser l'alimentation.
Vérifiez les valeurs de lecture analogiques pour vous assurer qu'elles se situent dans les plages attendues.
Instructions de câblage
ESP32-22_light_sensor-wiring
Pour câbler le LDR et la résistance à l'ESP32, commencez par connecter une borne du LDR à la broche d'alimentation 3,3 V sur l'ESP32. L'autre borne du LDR doit être connectée à une borne de la résistance de 10 kΩ. Connectez l'autre borne de la résistance à la masse.
Ensuite, connectez un câble de pont entre le point de jonction entre la LDR et la résistance à la broche35sur l'ESP32. Ce montage crée un diviseur de tension, permettant à l'ESP32 de lire la tension variable en fonction de l'intensité lumineuse frappant le LDR. Assurez-vous que toutes les connexions sont sécurisées et que le LDR est positionné de manière à pouvoir détecter avec précision les changements de lumière.
Exemples de code et guide étape par étape
Dans le code, nous commençons par initialiser la communication série pour surveiller les lectures du LDR. L'identifiant clé ici estanalogValue, qui stocke la lecture du pin35.
void setup() {
Serial.begin(115200);
}
void loop() {
int analogValue = analogRead(35);
Serial.printf("ADC analog value = %d\n",analogValue);
delay(100);
}
Ce extrait de code initialise le moniteur série à une vitesse de transmission de 115200 bauds et lit en continu la valeur analogique du pin.35La valeur est imprimée sur le moniteur série, ce qui nous permet d'observer comment elle change avec des niveaux de lumière variés.
Lorsque l'intensité lumineuse change, la résistance du LDR varie, et donc la tension mesurée par l'ESP32 va également changer, reflétant les conditions de lumière (dans la vidéo à 12:45).
Démonstration / À quoi s'attendre
Lorsque vous exécutez le programme et observez le moniteur série, vous devriez voir leADC analog valuefluctuer en fonction des conditions lumineuses ambiantes. Lorsque vous couvrez le LDR, la valeur devrait augmenter, indiquant une résistance plus élevée, tandis que l'exposer à une lumière vive devrait faire baisser la valeur de manière significative. Ce comportement peut être utilisé pour déclencher un buzzer ou toute autre action en fonction des seuils prédéfinis.
Si les lectures ne changent pas comme prévu, vérifiez les problèmes de câblage, assurez-vous que le LDR n'est pas flottant et confirmez que l'ESP32 est correctement alimenté. Cela aidera à éviter les pièges courants et à garantir un fonctionnement fluide (dans la vidéo à 15:30).
Horodatages vidéo
00:00 Début
1:48 Introduction à LDR
8:33 Câblage expliqué
11:07 Code Arduino expliqué
13:07 Sélection de la carte ESP32 et du port COM dans Arduino IDE