5.6 KiB
Mesurer l'humidité du sol - Raspberry Pi
Dans cette partie de la leçon, vous allez ajouter un capteur d'humidité du sol capacitif à votre Raspberry Pi et lire les valeurs qu'il fournit.
Matériel
Le Raspberry Pi nécessite un capteur d'humidité du sol capacitif.
Le capteur que vous utiliserez est un Capteur d'humidité du sol capacitif, qui mesure l'humidité du sol en détectant la capacitance du sol, une propriété qui change en fonction de l'humidité. Lorsque l'humidité du sol augmente, la tension diminue.
C'est un capteur analogique, il utilise donc une broche analogique et le convertisseur analogique-numérique (ADC) 10 bits du Grove Base Hat sur le Pi pour convertir la tension en un signal numérique compris entre 1 et 1 023. Ce signal est ensuite envoyé via les broches GPIO du Pi.
Connecter le capteur d'humidité du sol
Le capteur d'humidité du sol Grove peut être connecté au Raspberry Pi.
Tâche - connecter le capteur d'humidité du sol
Connectez le capteur d'humidité du sol.
-
Insérez une extrémité d'un câble Grove dans la prise du capteur d'humidité du sol. Il ne peut être inséré que dans un seul sens.
-
Avec le Raspberry Pi éteint, connectez l'autre extrémité du câble Grove à la prise analogique marquée A0 sur le Grove Base Hat attaché au Pi. Cette prise est la deuxième à partir de la droite, sur la rangée de prises à côté des broches GPIO.
- Insérez le capteur d'humidité du sol dans le sol. Il comporte une "ligne de position maximale" - une ligne blanche traversant le capteur. Insérez le capteur jusqu'à cette ligne, mais pas au-delà.
Programmer le capteur d'humidité du sol
Le Raspberry Pi peut maintenant être programmé pour utiliser le capteur d'humidité du sol connecté.
Tâche - programmer le capteur d'humidité du sol
Programmez l'appareil.
-
Allumez le Pi et attendez qu'il démarre.
-
Lancez VS Code, soit directement sur le Pi, soit en vous connectant via l'extension Remote SSH.
⚠️ Vous pouvez vous référer aux instructions pour configurer et lancer VS Code dans nightlight - leçon 1 si nécessaire.
-
Depuis le terminal, créez un nouveau dossier dans le répertoire personnel de l'utilisateur
pi
appelésoil-moisture-sensor
. Créez un fichier dans ce dossier appeléapp.py
. -
Ouvrez ce dossier dans VS Code.
-
Ajoutez le code suivant au fichier
app.py
pour importer les bibliothèques nécessaires :import time from grove.adc import ADC
L'instruction
import time
importe le moduletime
qui sera utilisé plus tard dans cet exercice.L'instruction
from grove.adc import ADC
importe l'ADC
des bibliothèques Python Grove. Cette bibliothèque contient du code pour interagir avec le convertisseur analogique-numérique sur le Pi Base Hat et lire les tensions des capteurs analogiques. -
Ajoutez le code suivant en dessous pour créer une instance de la classe
ADC
:adc = ADC()
-
Ajoutez une boucle infinie qui lit les données de cet ADC sur la broche A0 et écrit le résultat dans la console. Cette boucle peut ensuite attendre 10 secondes entre chaque lecture.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
Exécutez l'application Python. Vous verrez les mesures d'humidité du sol s'afficher dans la console. Ajoutez de l'eau au sol ou retirez le capteur du sol et observez la variation des valeurs.
pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py Soil moisture: 615 Soil moisture: 612 Soil moisture: 498 Soil moisture: 493 Soil moisture: 490 Soil Moisture: 388
Dans l'exemple de sortie ci-dessus, vous pouvez voir la tension diminuer lorsque de l'eau est ajoutée.
💁 Vous pouvez trouver ce code dans le dossier code/pi.
😀 Votre programme pour le capteur d'humidité du sol a été un succès !
Avertissement :
Ce document a été traduit à l'aide du service de traduction automatique Co-op Translator. Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de recourir à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.