4.4 KiB
Construire une veilleuse - Raspberry Pi
Dans cette partie de la leçon, vous allez ajouter un capteur de lumière à votre Raspberry Pi.
Matériel
Le capteur utilisé pour cette leçon est un capteur de lumière qui utilise une photodiode pour convertir la lumière en un signal électrique. Il s'agit d'un capteur analogique qui envoie une valeur entière de 0 à 1000 indiquant une quantité relative de lumière qui ne correspond à aucune unité de mesure standard telle que le lux.
Le capteur de lumière est un capteur Grove et doit être connecté au chapeau de base Grove sur le Raspberry Pi.
Connecter le capteur de lumière
Le capteur de lumière Grove utilisé pour détecter les niveaux de lumière doit être connecté au Raspberry Pi.
Tâche - connecter le capteur de lumière
Connecter le capteur de lumière
-
Insérez une extrémité d'un câble Grove dans la prise du module du capteur de lumière. Il ne peut être inséré que dans un seul sens.
-
Le Raspberry Pi étant éteint, connectez l'autre extrémité du câble Grove à la prise analogique marquée A0 sur le chapeau de base Grove fixé au Pi. Cette prise est la deuxième en partant de la droite, sur la rangée de prises à côté des broches GPIO.
Programmer le capteur de lumière
L'appareil peut maintenant être programmé à l'aide du capteur de lumière Grove.
Tâche - programmer le capteur de lumière
Programmez l'appareil.
-
Allumez le Pi et attendez qu'il démarre
-
Ouvrez le projet nightlight dans VS Code que vous avez créé dans la partie précédente de ce travail, soit en l'exécutant directement sur le Pi, soit en le connectant à l'aide de l'extension Remote SSH.
-
Ouvrez le fichier
app.py
et supprimez tout le code qu'il contient. -
Ajoutez le code suivant au fichier
app.py
pour importer certaines bibliothèques nécessaires :import time from grove.grove_light_sensor_v1_2 import GroveLightSensor
L'instruction
import time
importe le moduletime
qui sera utilisé plus tard dans ce travail.L'instruction
from grove.grove_light_sensor_v1_2 import GroveLightSensor
importe le moduleGroveLightSensor
des bibliothèques Grove Python. Cette bibliothèque contient du code pour interagir avec un capteur de lumière Grove, et a été installée globalement lors de l'installation du Pi. -
Ajoutez le code suivant après le code ci-dessus pour créer une instance de la classe qui gère le capteur de lumière :
light_sensor = GroveLightSensor(0)
La ligne
light_sensor = GroveLightSensor(0)
crée une instance de la classeGroveLightSensor
se connectant à la broche A0 - la broche analogique Grove à laquelle le capteur de lumière est connecté. -
Ajoutez une boucle infinie après le code ci-dessus pour interroger la valeur du capteur de lumière et l'imprimer sur la console :
while True: light = light_sensor.light print('Light level:', light)
Ceci va lire le niveau de lumière actuel sur une échelle de 0-1023 en utilisant la propriété
light
de la classeGroveLightSensor
. Cette propriété lit la valeur analogique de la broche. Cette valeur est ensuite imprimée sur la console. -
Ajoutez une petite mise en veille d'une seconde à la fin de la
boucle
(loop
) car les niveaux de lumière n'ont pas besoin d'être vérifiés en permanence. Une mise en veille réduit la consommation d'énergie de l'appareil.time.sleep(1)
-
Depuis le terminal VS Code, exécutez la commande suivante pour lancer votre application Python :
python3 app.py
Les valeurs lumineuses sont transmises à la console. Couvrez et découvrez le capteur de lumière, et les valeurs changeront :
```output
pi@raspberrypi:~/nightlight $ python3 app.py
Light level: 634
Light level: 634
Light level: 634
Light level: 230
Light level: 104
Light level: 290
```
💁 Vous trouverez ce code dans le dossier code-sensor/pi.
😀 L'ajout d'un capteur à votre programme de veilleuse a été un succès!