Raspberry Pi - Module LDR

Le module de capteur de lumière LDR peut déterminer la quantité de lumière qui l'entoure. Il a deux sorties : une sortie numérique qui peut être soit basse soit haute, et une sortie analogique.

Ce tutoriel vous explique comment utiliser un Raspberry Pi et un module capteur de lumière LDR pour déterminer la quantité de lumière dans une zone. Nous aborderons les étapes suivantes :

Module de Capteur de Lumière LDR
image source: diyables.io

Plus tard, vous pouvez modifier le code pour allumer une LED ou une ampoule (en utilisant un relais) lorsqu'elle détecte de la lumière.

Si vous préférez un capteur de lumière sous sa forme brute, je vous suggère d'explorer le tutoriel sur le Raspberry Pi - Capteur de lumière..

Préparation du matériel

1×Raspberry Pi 4 Model B
1×LDR Light Sensor Module
1×Jumper Wires
1×(Optional) Screw Terminal Block Shield for Raspberry Pi
1×(Optional) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B
1×(Optional) Plastic Case and Cooling Fan for Raspberry Pi 4B
1×(Optional) HDMI Touch Screen Monitor for Raspberry Pi

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
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 de capteur de lumière LDR peut être utilisé pour déterminer s'il y a de la lumière ou mesurer la quantité de lumière présente dans l'environnement. Il dispose de deux options : une broche de sortie numérique et une broche de sortie analogique.

Brochage

Le module de capteur de lumière LDR possède quatre broches aux fonctions différentes :

  • Broche VCC : Connectez-la à une source d'alimentation (entre 3,3V et 5V).
  • Broche GND : Connectez-la à la terre (0V).
  • Broche DO : Il s'agit d'une broche de sortie numérique. Elle passe à l'état HAUT lorsqu'il fait sombre et à l'état BAS lorsqu'il fait clair. Vous pouvez ajuster le seuil entre l'obscurité et la lumière à l'aide d'un potentiomètre intégré.
  • Broche AO : Il s'agit d'une broche de sortie analogique. La valeur de sortie diminue à mesure que la lumière devient plus éclatante et augmente à mesure que la lumière devient plus sombre.
Brochage du module capteur de lumière LDR
image source: diyables.io

De plus, le module capteur de lumière LDR dispose de deux indicateurs LED :

  • L'indicateur PWR-LED montre l'état de l'alimentation.
  • L'indicateur DO-LED montre l'état de la lumière sur la broche DO. Il est allumé lorsqu'il y a de la lumière et éteint lorsqu'il fait sombre.

Comment ça marche

Concernant la broche DO :

  • Le module capteur de lumière LDR possède un potentiomètre intégré qui vous permet d'ajuster la sensibilité ou le seuil de détection de la lumière.
  • Lorsque l'intensité lumineuse ambiante est supérieure au seuil défini (considérée comme lumineuse), la broche de sortie du capteur est réglée sur LOW, et l'indicateur DO-LED s'allume.
  • Lorsque l'intensité lumineuse ambiante est inférieure au seuil défini (considérée comme sombre), la broche de sortie du capteur est réglée sur HIGH, et l'indicateur DO-LED s'éteint.

Concernant la broche AO :

  • La valeur lue à partir de la broche AO diminue à mesure que l'intensité lumineuse ambiante augmente (considérée comme lumière).
  • La valeur lue à partir de la broche AO augmente à mesure que l'intensité lumineuse ambiante diminue (considérée comme obscurité).

Il est important de noter que le réglage du potentiomètre n'affecte pas la valeur lue depuis la broche AO.

Diagramme de câblage

Étant donné que le module de capteur de lumière possède deux sorties, vous pouvez choisir d'utiliser l'une ou les deux, selon vos besoins. Cependant, le Raspberry Pi n'a pas de broche ADC. Si vous souhaitez lire la valeur analogique de la broche AO, vous devez utiliser un module ADC externe. Pour des raisons de simplicité, ce tutoriel montre uniquement comment lire la valeur numérique de la broche DO.

  • Le schéma de câblage entre le Raspberry Pi et le module capteur de lumière LDR.
Schéma de câblage du module capteur de lumière LDR pour Raspberry Pi

This image is created using Fritzing. Click to enlarge image

Pour simplifier et organiser votre câblage, nous vous recommandons d'utiliser un Screw Terminal Block Shield pour Raspberry Pi. Ce shield garantit des connexions plus sûres et plus faciles à gérer, comme illustré ci-dessous :

Raspberry Pi Screw Terminal Block Shield

Code Raspberry Pi - Lire la valeur de la broche DO

Étapes rapides

  • Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible avec Raspberry Pi installé sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à Internet si vous avez besoin d'installer des bibliothèques.
  • Si c'est la première fois que vous utilisez un Raspberry Pi, consultez Installation du logiciel - Raspberry Pi.
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Voir comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous d'avoir installé la bibliothèque RPi.GPIO. Sinon, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Créer un fichier de script Python ldr_module.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi 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/raspberry-pi/raspberry-pi-ldr-module import RPi.GPIO as GPIO from time import sleep # Set the Raspberry Pi GPIO pin number connected to the DO pin of the ldr light sensor module DO_PIN = 7 # Set the GPIO mode and configure the ldr light sensor module pin as INPUT GPIO.setmode(GPIO.BCM) GPIO.setup(DO_PIN, GPIO.IN) try: while True: # Read the current state of the ldr light sensor module light_state = GPIO.input(DO_PIN) # Print whether the light is present or not if light_state == GPIO.LOW: print("The light is present!") else: print("The light is NOT present!") # Add a small delay to prevent continuous readings sleep(0.1) except KeyboardInterrupt: # Clean up GPIO settings when Ctrl+C is pressed GPIO.cleanup() print("\nExiting the program.")
  • Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
python3 ldr_module.py
  • Couvrez et découvrez le module du capteur de lumière LDR avec votre main ou quelque chose d'autre.
  • Voyez le résultat sur le Terminal.
PuTTY - Raspberry Pi
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

Le script s'exécute dans une boucle infinie jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.

Si vous observez que le statut du LED reste constamment allumé ou éteint, même lorsqu'il y a de la lumière, vous avez la possibilité d'ajuster le potentiomètre. Cet ajustement vous permet d'affiner la sensibilité à la lumière du capteur.

De plus, il est possible de modifier le code pour activer une LED ou une lumière lorsqu'une lumière est détectée, voire pour permettre la rotation d'un servomoteur. Des informations détaillées et des instructions étape par étape sont disponibles dans les tutoriels fournis à la fin de ce guide.

Code Raspberry Pi - Détection de la Lumière

Modifions le code ci-dessus pour détecter le changement d'état de la lumière.

Étapes rapides

  • Créez un fichier de script Python ldr_module.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi 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/raspberry-pi/raspberry-pi-ldr-module import RPi.GPIO as GPIO from time import sleep # Set the Raspberry Pi GPIO pin number connected to the DO pin of the ldr light sensor module DO_PIN = 7 # Set the GPIO mode and configure the ldr light sensor module pin as INPUT GPIO.setmode(GPIO.BCM) GPIO.setup(DO_PIN, GPIO.IN) # Initialize the previous state variable with the current state prev_light_state = GPIO.input(DO_PIN) try: while True: # Read the current state of the ldr light sensor module light_state = GPIO.input(DO_PIN) # Check for a state change (LOW to HIGH or HIGH to LOW) if light_state != prev_light_state: if light_state == GPIO.LOW: print("Light detected!") else: print("Light is gone!") # Update the previous state variable prev_light_state = light_state # Add a small delay to prevent continuous readings sleep(0.1) except KeyboardInterrupt: # Clean up GPIO settings when Ctrl+C is pressed GPIO.cleanup() print("\nExiting the program.")
  • Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
python3 ldr_module.py
  • Couvrez et découvrez le module de capteur de lumière LDR avec votre main ou quelque chose.
  • Voyez le résultat sur le terminal.
PuTTY - Raspberry Pi
Light detected! Light is gone!

Code Raspberry Pi - Lire la valeur depuis la broche AO

Pour lire la valeur de la broche AO, vous devez utiliser le module ADC ADS1115 car le Raspberry Pi n'a pas de broche ADC. Consultez comment utiliser le module ADC ADS1115 avec Raspberry Pi.

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!