ESP32 - Capteur de lumière

Ce guide vous apprendra à utiliser un capteur de lumière LDR (également connu sous le nom de photoresistance, résistance dépendante de la lumière, photocellule) avec un microcontrôleur ESP32 et MicroPython. Nous aborderons les points suivants :

Capteur de lumière ESP32 MicroPython

Si vous cherchez un module avec un capteur de lumière, consultez le tutoriel ESP32 - Module LDR..

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×Capteur de lumière
1×10 kΩ Resistor
1×Plaque d'essai
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.

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 l'installation 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

Ce guide explique comment utiliser une photoresistance, également appelée résistance dépendante de la lumière (LDR), pour mesurer la luminosité de la lumière ambiante.

Schéma des broches

Une photorésistance a deux broches. Comme il s'agit d'une résistance, il n'est pas nécessaire de distinguer ces broches. Elles sont identiques.

Schéma des broches du capteur de lumière

Comment cela fonctionne

Une fotorésistance est une résistance qui varie en fonction de la lumière. Sa résistance diminue en présence de lumière vive et augmente dans l'obscurité ou en l'absence de lumière. En mesurant la résistance de la fotorésistance, on peut déterminer la luminosité ou l'obscurité de la lumière ambiante, ce qui la rend utile pour mesurer les niveaux de lumière dans différents environnements.

Comment fonctionne le capteur de lumière

WARNING

La valeur du capteur de lumière donne une indication générale de la luminosité, mais ce n'est pas une mesure précise. Utilisez-la lorsque des mesures exactes ne sont pas nécessaires.

Diagramme de câblage

Comment connecter l'ESP32 et un capteur de lumière

Schéma de câblage du capteur de lumière ESP32 MicroPython

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

Code MicroPython ESP32

Ce code vérifie la quantité de lumière à l'aide d'une cellule photoélectrique et décrit son niveau de luminosité.

/* * 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-light-sensor */ from machine import ADC, Pin import time # Initialize ADC (Analog to Digital Converter) adc = ADC(Pin(36)) # The ESP32 pin GPIO36 (ADC0) connected to the light sensor # Set the ADC width (resolution) to 12 bits adc.width(ADC.WIDTH_12BIT) # Set the attenuation to 11 dB, allowing input range up to ~3.3V adc.atten(ADC.ATTN_11DB) while True: # Read the input on analog pin ADC0 (value between 0 and 4095) value = adc.read() # Read the 12-bit ADC value directly description = "" # We'll have a few thresholds, qualitatively determined if value < 41: description = "Dark" elif value < 819: description = "Dim" elif value < 2048: description = "Light" elif value < 3277: description = "Bright" else: description = "Very bright" print(f"Analog reading: {value} - {description}") time.sleep(0.5) # delay for 500 milliseconds

É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 firmware 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 le capteur de lumière LDR à l'ESP32 selon le diagramme fourni.
  • Connectez la carte ESP32 à votre ordinateur avec un câble USB.
  • Ouvrez l'IDE Thonny sur votre ordinateur.
  • Dans l'IDE Thonny, 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é. L'IDE Thonny détecte généralement automatiquement, mais vous pourriez avoir à le sélectionner manuellement (comme COM12 sur Windows ou /dev/ttyACM0 sur 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 :
    • En cliquant sur le bouton Enregistrer ou en appuyant sur Ctrl+S.
    • Dans la boîte de dialogue d'enregistrement, choisissez périphique MicroPython.
    • Nommez le fichier main.py.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Dirigez la lumière sur le capteur.
  • Vérifiez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Analog reading: 652 - Dim Analog reading: 608 - Dim Analog reading: 748 - Dim Analog reading: 752 - Dim Analog reading: 3908 - Very bright Analog reading: 3952 - Very bright Analog reading: 3996 - Very bright
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

※ Note:

Ce tutoriel montre comment utiliser la fonction adc.read() pour lire les valeurs d'un ADC (convertisseur analogique-numérique) connecté à un capteur de lumière. L'ADC de l'ESP32 convient 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 elle peut ne pas toujours donner les résultats exacts que vous souhaitez.

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 dispose d'un ADC plus fiable. Si vous souhaitez toujours calibrer l'ADC de l'ESP32, reportez-vous au Pilote de calibration ADC ESP32.

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 !