ESP32 - Module LDR

Ce tutoriel vous explique comment utiliser un ESP32 et un module capteur de lumière LDR pour surveiller et mesurer les niveaux de lumière. En détail, nous apprendrons :

Module capteur de lumière LDR MicroPython pour ESP32

Préparation du matériel

1×Module de développement ESP32 ESP-WROOM-32
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×Module capteur de lumière LDR
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour ESP32
1×Recommandé: Breakout Expansion Board for ESP32
1×Recommandé: Répartiteur d'alimentation pour ESP32

Ou vous pouvez acheter les kits suivants:

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

À propos du module capteur de lumière LDR

Le module capteur de lumière LDR aide à détecter la lumière ou à mesurer la quantité de lumière qui l'entoure. Il offre deux options : une sortie numérique et une sortie analogique.

Schéma des broches

Le module de capteur de lumière LDR est livré avec quatre broches :

  • Broche VCC : Reliez cette broche à VCC (3,3 V à 5 V).
  • Broche GND : Reliez cette broche à GND (0 V).
  • Broche DO : Il s'agit d'une broche de sortie numérique. Elle affiche un niveau haut dans l'obscurité et un niveau bas dans la lumière. Ajustez le potentiomètre pour modifier la sensibilité à la lumière et à l'obscurité.
  • Broche AO : Il s'agit d'une broche de sortie analogique. La valeur de sortie diminue dans des conditions lumineuses et augmente dans l'obscurité.
Plan de brochage du module capteur de lumière LDR
image source: diyables.io

Il est également équipé de deux lampes LED :

  • Une LED d'alimentation s'allume pour indiquer que l'alimentation est sous tension.
  • Une LED DO indique l'état lumineux sur la broche DO : elle s'allume lorsqu'il y a de la lumière et s'éteint dans l'obscurité.

Comment cela fonctionne

Code PIN :

  • Le potentiomètre règle le seuil lumineux.
  • La broche DO est au niveau bas (DO-LED éteinte) lorsque la lumière est plus lumineuse que le seuil.
  • La broche DO est au niveau haut (DO-LED allumée) lorsque la lumière est plus faible que le seuil.

Code PIN AO :

  • La lecture de la broche AO varie en fonction de l’intensité lumineuse.
  • Une lecture plus faible signifie plus de lumière.
  • Une lecture plus élevée signifie des conditions plus sombres.
  • Le potentiomètre n'affecte pas la valeur de la broche AO.

Cette méthode vous permet d'ajuster la sensibilité de la broche DO à l'aide du potentiomètre tout en obtenant des mesures de lumière précises à partir de la broche AO.

Diagramme de câblage

Le module de capteur de lumière offre deux sorties, DO et AO, qui peuvent être utilisées séparément ou ensemble.

  • Comment connecter l'ESP32 et le module LDR en utilisant breadboard
Schéma de câblage du module capteur de lumière LDR ESP32 MicroPython

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

Comment connecter l'ESP32 et le module LDR

Code MicroPython ESP32 - Lire la valeur de la broche DO

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython 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-micropython/esp32-micropython-ldr-module */ from machine import Pin import utime # For timing functions DO_PIN = Pin(13, Pin.IN) # The ESP32 pin GPIO13 connected to the DO pin of the LDR module while True: light_state = DO_PIN.value() # Read the digital value from the pin if light_state == 1: print("The light is NOT present") else: print("The light is present") utime.sleep(0.5) # Add a small delay to avoid spamming the output

Étapes rapides

Voici les instructions pour configurer et exécuter votre code MicroPython sur l'ESP32 en utilisant l'IDE Thonny :

  • Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
  • Confirmez que le micrologiciel MicroPython est chargé sur votre carte ESP32.
  • Si c'est la première fois que vous utilisez un ESP32 avec MicroPython, consultez le guide ESP32 - Premiers pas. pour des instructions étape par étape.
  • Connectez l'ESP32 au module LDR selon le schéma fourni.
  • Connectez la carte ESP32 à votre ordinateur avec un câble USB.
  • Ouvrez l'IDE Thonny sur votre ordinateur.
  • Dans Thonny IDE, allez dans Outils Options.
  • Sous l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
  • Assurez-vous que le bon port est sélectionné. Thonny IDE le détecte généralement automatiquement, mais vous devrez peut-être le sélectionner manuellement (comme COM12 sous Windows ou /dev/ttyACM0 sous Linux).
  • Copiez le code MicroPython fourni et collez-le dans l'éditeur de Thonny.
  • Enregistrez le code sur votre ESP32 en procédant comme suit :
    • Cliquez sur le bouton Enregistrer ou appuyez sur Ctrl+S.
    • Dans la boîte de dialogue d'enregistrement, choisissez périphérique MicroPython.
    • Nommez le fichier main.py.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Utilisez votre main ou un objet pour bloquer puis débloquer la lumière sur le module capteur LDR.
  • Consultez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The light is present The light is present The light is NOT present The light is NOT present The light is NOT present The light is present The light is present The light is present
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Si la LED est toujours allumée ou éteinte, ajustez la sensibilité à la lumière à l'aide du potentiomètre. Vous pouvez désormais modifier le code pour contrôler une LED, un interrupteur ou un servomoteur en fonction de la détection de la lumière. Pour des instructions détaillées, reportez-vous aux tutoriels à la fin de ce document.

※ Note:

Ce tutoriel montre comment utiliser la fonction adc.read() pour lire des valeurs à partir d'un ADC (convertisseur analogique-numérique) connecté à un module LDR. L'ADC de l'ESP32 est adapté pour des projets qui ne nécessitent pas une grande précision. Cependant, si votre projet nécessite des mesures précises, gardez à l'esprit ce qui suit:

  • L'ADC de l'ESP32 n'est pas parfaitement précis et peut nécessiter une calibration pour obtenir des résultats précis. Chaque carte ESP32 peut varier légèrement, il est donc nécessaire de calibrer chaque carte individuellement.
  • La calibration peut être difficile, surtout pour les débutants, et pourrait ne pas toujours donner exactement les résultats souhaités.

Pour les projets nécessitant une grande précision, envisagez d'utiliser un ADC externe (par exemple ADS1115) avec l'ESP32 ou optez pour un Arduino, qui possède un ADC plus fiable. Si vous souhaitez toujours calibrer l'ADC de l'ESP32, reportez-vous au Pilote de calibration ADC ESP32.

Code MicroPython ESP32 - Lire la valeur de la broche AO

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython 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-micropython/esp32-micropython-ldr-module */ from machine import ADC, Pin import utime # For timing functions AO_PIN = ADC(Pin(36)) # The ESP32 pin GPIO36 (ADC0) connected to the AO pin of the LDR module # Set the ADC width (resolution) to 12 bits AO_PIN.width(ADC.WIDTH_12BIT) # Set the attenuation to 11 dB, allowing input range up to ~3.3V AO_PIN.atten(ADC.ATTN_11DB) while True: light_value = AO_PIN.read() # Read the analog value (0-4095) print(light_value) # Print the analog value utime.sleep(1) # Add a small delay to avoid spamming the output

Étapes rapides

Veuillez suivre ces instructions une par une.

  • Copiez le code ci-dessus et ouvrez-le dans l'IDE Thonny.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script. Le script s'exécutera.
  • Utilisez votre main ou un objet pour bloquer et débloquer la lumière sur le module capteur LDR.
  • Consultez le message dans la Shell située en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot 580 584 584 2289 2713 3782 3826 4006 4010 4050 4054 2581 2185 1385 688
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Vidéo

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 !