ESP32 S3 - Un capteur de lumière déclenche une LED

Ce tutoriel vous montre comment utiliser l'ESP32 S3 avec un capteur de lumière (LDR) pour contrôler automatiquement une LED en fonction du niveau de lumière ambiante dans l'environnement. En lisant la tension analogique produite par une résistance dépendante de la lumière et en la comparant à un seuil défini, vous verrez un exemple pratique de la façon dont les données de capteur analogique peuvent piloter des sorties GPIO numériques sur l'ESP32 S3.

Ce que vous allez construire :

  1. Un circuit connectant un capteur de lumière LDR et une LED à l'ESP32 S3
  2. Un croquis qui lit en continu la valeur analogique du capteur de lumière via l'ADC de l'ESP32 S3
  3. Un système qui allume automatiquement la LED quand le niveau de lumière mesuré descend sous un seuil (c'est-à-dire qu'il fait sombre)
  4. Une base pour construire des veilleuses automatiques, des relais contrôlés par la lumière du jour, et des projets de surveillance de lumière ambiante

Matériel nécessaire

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×LED Kit
1×LED (red)
1×LED Module
1×Alternativement: Button and LED Kit
1×220Ω Resistor
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.

Note d'achat: Pour simplifier le processus de câblage, nous recommandons d'utiliser le LED Module, qui est livré avec une résistance intégrée.

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

À propos de la LED et du capteur de lumière

Le capteur de lumière LDR et la LED forment une association intuitive pour construire des projets contrôlés par la lumière ambiante avec l'ESP32 S3. Quand l'intensité lumineuse diminue, la résistance de la LDR augmente, ce qui change la tension sur la broche d'entrée analogique ; l'ESP32 S3 lit cette tension via son ADC et la compare à un seuil pour décider d'allumer ou d'éteindre la LED via une sortie GPIO.

Spécifications clés

Nous avons des tutoriels dédiés couvrant chaque composant en détail. Chaque tutoriel contient des informations détaillées et des instructions étape par étape sur le brochage matériel, le principe de fonctionnement, le câblage vers l'ESP32 S3, et le code Arduino. Apprenez-en davantage via les liens suivants :

Schéma de câblage

Connectez le capteur de lumière et la LED à votre ESP32 S3 en suivant le schéma ci-dessous. Vérifiez toutes les connexions avant de mettre sous tension, en faisant particulièrement attention à la polarité de la LED, à la résistance de limitation de courant de 220 ohms, et à la résistance de tirage (pull-down) de 10 kΩ utilisée pour former un pont diviseur de tension avec la LDR.

ESP32 S3 Light Sensor LED Wiring Diagram

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

Vous pouvez aussi monter ce circuit sans plaque d'essai. Voici le même câblage :

ESP32 S3 Light Sensor LED Wiring Diagram (sans plaque d'essai)

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

Notes de sécurité

Incluez toujours la résistance de limitation de courant de 220 ohms en série avec la LED pour éviter de tirer un courant excessif via la broche GPIO de l'ESP32 S3, ce qui pourrait endommager définitivement le microcontrôleur. La LDR et la résistance de 10 kΩ forment un pont diviseur de tension qui maintient le signal analogique dans la plage d'entrée sûre de 0 à 3,3V attendue par l'ADC de l'ESP32 S3 — ne connectez jamais la sortie de la LDR directement à une source 5V sans diviseur.

Composant Broche Broche ESP32 S3
Light Sensor (LDR) Une patte 3.3V
Light Sensor (LDR) Autre patte GPIO6 (et 10kΩ vers GND)
LED Anode (+) GPIO4 (via une résistance de 220Ω)
LED Cathode (-) GND

Code ESP32 S3

Le code suivant lit la valeur analogique du capteur de lumière sur l'ESP32 S3, la compare à un seuil prédéfini, et allume la LED quand la valeur mesurée descend sous ce seuil — indiquant une faible lumière ambiante. Le seuil peut être ajusté directement dans le code pour calibrer le point de déclenchement selon votre environnement lumineux spécifique.

/* * 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-triggers-led */ /* * 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 }

Étapes rapides

  1. Nouveau sur l'ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Câblez les composants en suivant le schéma de câblage montré ci-dessus.
  3. Connectez la carte ESP32 S3 à votre PC avec un câble USB Type-C.
  4. Ouvrez l'Arduino IDE sur votre PC.
  5. Sélectionnez la bonne carte ESP32 S3 et le bon port COM dans le menu Tools.
  6. Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
  7. Cliquez sur le bouton Upload pour compiler et téléverser le code vers l'ESP32 S3.
Arduino IDE Upload Code
  1. Ouvrez le moniteur série à 115200 bauds.
  2. Éclairez directement le capteur de lumière avec une lumière vive et observez la LED s'éteindre.
  3. Couvrez le capteur de lumière avec votre main pour bloquer la lumière et observez la LED s'allumer.
  4. Consultez le moniteur série pour voir les relevés analogiques en direct affichés en temps réel.
  5. Astuce : Essayez d'ajuster la valeur du seuil dans le code pour affiner le point de déclenchement selon les conditions de lumière ambiante de votre pièce — affichez d'abord la valeur ADC brute dans le moniteur série pour déterminer le meilleur seuil avant de le fixer en dur dans le code.

Sortie du moniteur série

La sortie du moniteur série suivante montre l'ESP32 S3 lisant les données analogiques du capteur de lumière en temps réel. Chaque ligne affiche la valeur ADC actuelle et l'état de LED correspondant déclenché par le seuil de lumière.

∞
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-06-16 10:22:01] Light value: 3120 | LED: OFF [2026-06-16 10:22:02] Light value: 1854 | LED: OFF [2026-06-16 10:22:03] Light value: 612 | LED: ON [2026-06-16 10:22:04] Light value: 205 | LED: ON
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Applications et idées de projets

Une fois que vous pouvez déclencher une LED à partir d'une lecture de capteur de lumière sur l'ESP32 S3, vous pouvez étendre ce modèle à un large éventail de projets d'automatisation sensibles à la lumière.

  1. Veilleuse automatique : Allumez automatiquement une lumière de pièce ou un ruban LED quand la lumière ambiante descend sous un seuil au crépuscule ou quand une pièce est obscurcie.
  2. Relais contrôlé par la lumière du jour : Commutez un relais (et donc une lampe ou un appareil alimenté par le secteur) en fonction des niveaux de lumière naturelle au lieu d'un interrupteur manuel.
  3. Contrôleur d'éclairage de serre : Maintenez un niveau de lumière minimal pour les plantes en activant des lampes de croissance chaque fois que le capteur détecte une lumière naturelle insuffisante.
  4. Éclairage de sécurité : Déclenchez des LED vives ou une caméra quand une zone devient soudainement sombre, par exemple quand une lumière est éteinte dans une zone surveillée.
  5. Moniteur de charge solaire : Utilisez le capteur de lumière pour détecter si la lumière du soleil est disponible et acheminez le signal vers un circuit de contrôle de charge.
  6. Contrôleur de rideau intelligent : Combinez le capteur de lumière avec un servomoteur ou un moteur pas à pas pour ouvrir ou fermer les rideaux automatiquement selon l'heure de la journée et la luminosité.

Tutoriel vidéo

Regardez la vidéo pas à pas pour ce projet ESP32 S3 ci-dessous.

Relevez le défi

Maintenant que vous pouvez contrôler une LED avec un capteur de lumière sur l'ESP32 S3, essayez ces extensions progressivement plus difficiles pour approfondir votre compréhension et créer des systèmes de détection de lumière ambiante plus performants.

  1. Débutant : Modifiez la valeur du seuil dans le code et observez comment cela change le niveau de lumière auquel la LED s'allume, puis affichez un message dans le moniteur série confirmant le seuil actif.
  2. Débutant : Ajoutez une deuxième LED câblée à une broche GPIO différente et faites-la s'allumer à un seuil différent (valeur ADC plus élevée), afin d'avoir deux zones de lumière avec des indicateurs visuels séparés.
  3. Intermédiaire : Remplacez le comportement simple marche/arrêt de la LED par un contrôle de luminosité PWM afin que la LED s'éclaircisse progressivement quand l'environnement s'assombrit et s'assombrisse quand il s'éclaircit.
  4. Intermédiaire : Ajoutez un écran OLED I2C pour afficher la lecture ADC en direct et l'état de la LED dans un affichage formaté, supprimant la dépendance au moniteur série.
  5. Avancé : Stockez une valeur de seuil configurable dans le stockage non volatile de l'ESP32 S3 (bibliothèque Preferences) afin que le réglage persiste après une coupure d'alimentation sans réenvoyer le code.
  6. Avancé : Diffusez les relevés du capteur de lumière via WiFi vers une page Web simple servie par l'ESP32 S3, et contrôlez le seuil de détection à distance depuis un curseur du navigateur.

Commentaires

※ 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 !