ESP32 S3 - Capteur de Lumière

Apprenez à connecter un capteur de lumière (photorésistance/LDR) à votre ESP32 S3 et à lire les niveaux de lumière dans vos projets Arduino. Ce guide pour débutants couvre tout, du câblage au code, vous aidant à construire votre premier système de détection de lumière ambiante avec l'ESP32 S3.

Ce que vous allez construire :

  1. Un circuit de capteur de lumière connecté à l'entrée analogique de l'ESP32 S3
  2. Un code Arduino qui lit et catégorise les niveaux de lumière ambiante
  3. Un affichage sur le Serial Monitor montrant les valeurs de luminosité en temps réel
  4. Un contrôleur de LED automatique qui répond aux conditions de lumière changeantes
ESP32 S3 - Capteur de Lumière

Matériel Requis

1×ESP32 S3 WROOM N16R8
1×Alternativement: ESP32 S3 SuperMini Dev Module
1×Alternativement: ESP32 S3 Uno-form Board
1×Alternativement: ESP32 S3 Camera Board
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Capteur de lumière
1×10 kΩ Resistor
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: Connecteur d'alimentation DC
1×Recommandé: Screw Terminal Expansion Board for ESP32 S3
1×Recommandé: Breakout Expansion Board for ESP32 S3
1×Recommandé: Power Splitter for ESP32 S3

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
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.

Options de Composants :

Le capteur de lumière LDR est très abordable, mais il nécessite une résistance pour le câblage, ce qui peut rendre le montage plus complexe. Pour simplifier le câblage, vous pouvez utiliser un module capteur de lumière LDR comme alternative.

À propos du Capteur de Lumière

Un capteur de lumière (photorésistance) est un composant analogique qui change sa résistance en fonction de la quantité de lumière frappant sa surface. C'est l'un des capteurs les plus simples et les plus abordables que vous pouvez utiliser avec un microcontrôleur comme l'ESP32 S3, ce qui en fait un choix idéal pour les projets de débutants. Les applications courantes vont des veilleuses automatiques aux moniteurs de lumière pour plantes et aux systèmes de maison intelligente.

Spécifications Clés

La photorésistance est aussi connue comme une photocellule ou résistance dépendante de la lumière (LDR). Sa résistance varie typiquement d'environ 200 Ω dans des conditions de lumière vive jusqu'à aussi bas que 200 Ω, et grimpe jusqu'à 10 MΩ dans l'obscurité complète. Le temps de réponse est d'environ 20–30 ms, ce qui la rend bien adaptée pour détecter les changements progressifs de lumière ambiante. Elle fonctionne en utilisant un circuit diviseur de tension simple et délivre un signal analogique que l'ESP32 S3 peut lire directement via ses broches ADC.

Brochage du Capteur de Lumière

La photorésistance a deux broches non polarisées qui peuvent être connectées dans n'importe quelle orientation.

  1. Broche 1 : Connectez à l'un ou l'autre côté du diviseur de tension
  2. Broche 2 : Connectez à l'un ou l'autre côté du diviseur de tension

Remarque : Contrairement aux LED ou aux diodes, les broches du capteur de lumière sont interchangeables — vous n'avez pas à vous soucier de la polarité.

Brochage du Capteur de Lumière

Comment Fonctionne le Capteur de Lumière

La résistance de la photorésistance change inversement avec l'intensité de la lumière — plus de lumière signifie moins de résistance, ce qui produit une tension plus élevée à la broche analogique de l'ESP32 S3. L'ESP32 S3 lit cette tension et la convertit en une valeur numérique entre 0 et 4095 en utilisant son ADC intégré. Des valeurs analogiques plus élevées indiquent des conditions plus lumineuses, tandis que des valeurs plus basses indiquent des environnements plus sombres.

Comment Fonctionne le Capteur de Lumière

WARNING

La valeur mesurée par la photorésistance reflète la tendance approximative de l'intensité de la lumière, elle ne représente PAS exactement le flux lumineux. Par conséquent, la photorésistance ne devrait pas être utilisée dans une application nécessitant une haute précision. Un étalonnage est également nécessaire pour certains types d'applications.

ESP32 S3 - Capteur de Lumière

L'ESP32 S3 lit les valeurs du capteur de lumière via ses broches d'entrée analogique. L'ADC de l'ESP32 S3 convertit une tension d'entrée allant de 0 V à 3,3 V en une valeur entière entre 0 et 4095, connue comme la valeur ADC. Vous utilisez la fonction analogRead() pour récupérer cette valeur — des lectures ADC plus élevées correspondent à des conditions de lumière plus vive, tandis que des lectures plus basses indiquent des environnements plus sombres.

Schéma de Câblage entre le Capteur de Lumière et l'ESP32 S3

Connectez le capteur de lumière à votre ESP32 S3 en utilisant un circuit diviseur de tension avec une résistance de 10 kΩ. Une patte de la photorésistance se connecte à 3,3 V, tandis que l'autre patte se connecte à la fois à une broche analogique GPIO et à une extrémité de la résistance de 10 kΩ, l'autre extrémité de la résistance allant à GND.

Notes de Sécurité

Vérifiez toujours deux fois vos connexions avant de mettre la carte sous tension. Assurez-vous que la valeur de la résistance est de 10 kΩ, car utiliser la mauvaise valeur de résistance affectera le rapport du diviseur de tension et produira des lectures ADC inexactes.

Schéma de Câblage Capteur de Lumière ESP32 S3

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Broche 1 du Capteur de Lumière 3.3V
Broche 2 du Capteur de Lumière GPIO6 (Broche Analogique) + Résistance 10kΩ
Résistance 10kΩ (Autre Extrémité) GND

Code ESP32 S3

Le code suivant lit la valeur analogique du capteur de lumière connecté à GPIO6 sur l'ESP32 S3 et catégorise la luminosité en l'un de quatre niveaux. Il affiche à la fois la valeur ADC brute et l'étiquette correspondante sur le Serial Monitor toutes les 500 millisecondes, ce qui permet d'observer facilement comment le capteur répond aux conditions de lumière changeantes en temps réel.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 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/esp32-s3/esp32-s3-light-sensor */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-light-sensor */ #define LIGHT_SENSOR_PIN 6 // ESP32-S3 pin GPIO6 (ADC1_CH5) void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { // reads the input on analog pin (value between 0 and 4095) int analogValue = analogRead(LIGHT_SENSOR_PIN); Serial.print("Analog Value = "); Serial.print(analogValue); // the raw analog reading // We'll have a few threshholds, qualitatively determined if (analogValue < 40) { Serial.println(" => Dark"); } else if (analogValue < 800) { Serial.println(" => Dim"); } else if (analogValue < 2000) { Serial.println(" => Light"); } else if (analogValue < 3200) { Serial.println(" => Bright"); } else { Serial.println(" => Very bright"); } delay(500); }

Étapes Rapides

  1. Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Copiez le Code : Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
  3. Sélectionnez la Carte : Assurez-vous que l'ESP32 S3 est sélectionné dans Tools > Board.
  4. Connectez l'ESP32 : Branchez votre ESP32 S3 dans votre ordinateur via un câble USB Type-C.
  5. Téléversez le Code : Cliquez sur le bouton Upload dans l'Arduino IDE.
  6. Ouvrez le Serial Monitor : Cliquez sur l'icône Serial Monitor ou appuyez sur Ctrl+Shift+M.
  7. Réglez le Débit en Bauds : Réglez le Serial Monitor à 115200 bauds.
  8. Testez le Capteur : Couvrez le capteur de lumière avec votre main, puis exposez-le à une lumière vive.
  9. Observez les Résultats : Regardez les valeurs analogiques et les descriptions de niveau de lumière changer en temps réel.
  10. Astuce : Les valeurs de seuil (1000, 2000, 3000) peuvent être ajustées selon vos conditions de lumière ambiante pour des lectures plus précises.
Comment ouvrir le Serial Monitor sur Arduino IDE

Sortie Attendue du Serial Monitor :

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[2026-01-15 08:32:11] Analog Value = 3845 => Very bright [2026-01-15 08:32:11] Analog Value = 3921 => Very bright [2026-01-15 08:32:12] Analog Value = 3887 => Very bright [2026-01-15 08:32:12] Analog Value = 2456 => Medium [2026-01-15 08:32:13] Analog Value = 2398 => Medium [2026-01-15 08:32:13] Analog Value = 892 => Dim [2026-01-15 08:32:14] Analog Value = 845 => Dim [2026-01-15 08:32:14] Analog Value = 312 => Dark [2026-01-15 08:32:15] Analog Value = 289 => Dark
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Capteur de Lumière et LED

Créons maintenant un système d'éclairage automatique qui allume une LED quand il fait sombre.

Schéma de Câblage

Ajoutez une LED à votre circuit pour créer un interrupteur activé par la lumière.

Schéma de Câblage Capteur de Lumière LED ESP32 S3

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Connexions Supplémentaires :

Anode LED (Patte Longue) GPIO8 (via résistance 220Ω)
Cathode LED (Patte Courte) GND

Code ESP32 S3

Le code suivant lit le capteur de lumière en continu et compare chaque lecture à un seuil fixe. Quand la lumière ambiante descend sous le seuil, l'ESP32 S3 allume automatiquement la LED ; quand suffisamment de lumière revient, il l'éteint — créant une veilleuse automatique simple et efficace.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 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/esp32-s3/esp32-s3-light-sensor */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-light-sensor */ // constants won't change #define LIGHT_SENSOR_PIN 6 // ESP32-S3 pin GPIO6 (ADC1_CH5) connected to light sensor #define LED_PIN 4 // ESP32-S3 pin GPIO4 connected to LED #define ANALOG_THRESHOLD 500 void setup() { // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(LED_PIN, OUTPUT); // set ESP32-S3 pin to output mode } void loop() { int analogValue = analogRead(LIGHT_SENSOR_PIN); // read the value on analog pin if (analogValue < ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }

※ Note:

Ce tutoriel utilise la fonction analogRead() pour lire des valeurs depuis un ADC (Convertisseur Analogique-Numérique) connecté à un capteur ou composant. L'ADC de l'ESP32 S3 convient aux projets qui ne nécessitent pas une haute précision. Cependant, pour les projets nécessitant des mesures précises, gardez ceci à l'esprit :

  • L'ADC de l'ESP32 S3 n'est pas parfaitement précis et pourrait nécessiter un étalonnage pour des résultats corrects. Chaque carte ESP32 S3 peut varier légèrement, donc un étalonnage est nécessaire pour chaque carte individuelle.
  • L'étalonnage peut être difficile, surtout pour les débutants, et pourrait ne pas toujours donner exactement les résultats que vous voulez.

Pour les projets nécessitant une haute précision, envisagez d'utiliser un ADC externe (par exemple ADS1115) avec l'ESP32 S3 ou d'utiliser un autre Arduino, comme l'Arduino Uno R4 WiFi, qui a un ADC plus fiable. Si vous voulez toujours étalonner l'ADC de l'ESP32 S3, consultez le Pilote d'Étalonnage ADC ESP32.

Applications et Idées de Projets

Maintenant que vous savez utiliser un capteur de lumière avec l'ESP32 S3, il existe de nombreuses façons pratiques de mettre cette connaissance au travail dans des projets réels.

  1. Veilleuse Automatique : La LED s'allume automatiquement quand la pièce devient sombre.
  2. Moniteur Intelligent de Plante : Suivez l'exposition au soleil de vos plantes d'intérieur au cours de la journée.
  3. Système de Sécurité : Détectez quand les lumières s'allument ou s'éteignent dans une pièce pour déclencher des alertes.
  4. Station Météo : Surveillez les heures de lumière du jour et la couverture nuageuse dans le cadre d'un réseau de capteurs plus large.
  5. Économiseur d'Énergie : Contrôlez automatiquement les stores de fenêtre en fonction de l'intensité de la lumière du soleil.
  6. Posemètre de Photographie : Mesurez les niveaux de lumière ambiante pour aider avec les réglages de l'appareil photo.

Tutoriel Vidéo

Regardez la vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.

Défiez-vous

Une fois que le capteur de lumière de base fonctionne avec votre ESP32 S3, essayez de repousser vos compétences plus loin avec ces défis progressifs.

  1. Débutant : Ajoutez un buzzer qui bipe une fois quand le niveau de lumière passe de vif à sombre.
  2. Débutant : Affichez « Good morning! » sur le Serial Monitor quand la lumière est détectée et « Good night! » quand il fait sombre.
  3. Intermédiaire : Créez un enregistreur de données qui enregistre les niveaux de lumière chaque minute et les stocke sur une carte SD.
  4. Intermédiaire : Construisez un contrôleur de rideau intelligent qui s'ouvre ou se ferme en fonction de seuils de lever et de coucher du soleil simulés.
  5. Avancé : Implémentez un traqueur de panneau solaire qui surveille l'intensité de la lumière depuis plusieurs capteurs et fait tourner un servomoteur pour suivre la source de lumière.
  6. Avancé : Créez un système d'automatisation de serre qui utilise une logique basée sur la lumière pour contrôler les horaires d'arrosage et les ventilateurs de ventilation.

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !