Capteur d’humidité du pot de plante Raspberry Pi via des signaux analogiques
introduction
Avant de passer à ce didacticiel, il sera bon d’avoir une petite compréhension de la différence entre les signaux analogiques et numériques.
Les deux types de signaux peuvent être représentés comme des formes d’onde, la différence étant que les ondes analogiques sont lisses et sinueuses et ont une valeur infinie, tandis que les ondes numériques sont carrées et vont par étapes et ont un ensemble fini de valeurs, le plus souvent l’une des deux valeurs , on ou off, 1 ou 0.
Vague analogique
Digital Wave
Le principal avantage des signaux analogiques est qu’ils peuvent donner une valeur extrêmement précise, mais à cause de cela, ils sont également sujets à des interférences qui peuvent perturber le signal.
Le principal avantage des signaux numériques est que parce qu’ils sont soit une valeur ou une autre, ils sont beaucoup plus difficiles à perturber, l’inconvénient est bien sûr que leurs valeurs sont limitées, ce qui signifie des résultats moins précis.
Si vous souhaitez en savoir plus sur les différences, il existe de nombreuses informations sur le sujet. Utilisez simplement votre moteur de recherche préféré 🙂
configuration materielle
Alors, passons au didacticiel proprement dit….
L’année dernière, garçon qui sonne comme il y a longtemps, je vous ai montré comment câbler un capteur d’humidité à votre Raspberry Pi et à votre pot de plante pour surveiller les niveaux d’humidité du sol. C’était relativement simple à faire car la sortie du capteur était simplement 1 ou 0 (allumée ou éteinte).
Aujourd’hui, nous allons examiner une technique plus avancée pour obtenir des données de notre capteur, à savoir en utilisant la sortie analogique des capteurs d’humidité. En utilisant la sortie analogique, nous pouvons obtenir des données plus précises. Nous ne recevrons ni «oui je suis humide» ni «aide je suis sec!» mais plutôt une valeur basée sur l’humidité.
Le Raspberry Pi lui-même n’a pas de broche GPIO analogique, nous aurons donc besoin d’utiliser un convertisseur analogique-numérique ou ADC pour faire court.
Une fois que les données auront transité par notre ADC, elles deviendront une lecture numérique. Cette lecture sera simplement un nombre représentant la valeur analogique.
Voici une liste de choses dont vous aurez besoin pour suivre ce didacticiel:
- 1x Raspberry Pi – Tout modèle
- Capteur d’humidité
- Planche à pain – demi-taille ou pleine grandeur
- Cordonnier – T ou normal
- Conversion analogique-numérique
- Si vous utilisez un Pi Zero, vous aurez besoin d’une rallonge d’en-tête extra haute à 40 broches pour installer le câble ruban sur le cordonnier.
Commencez par connecter le Pi au cordonnier, à l’aide du câble ruban, puis branchez le cordonnier dans la planche à pain. Assurez-vous que chaque rangée de broches sur le cordonnier se trouve de chaque côté de l’écart qui descend au milieu de la planche à pain.
Maintenant, nous pouvons connecter notre capteur d’humidité à la planche à pain. Commencez par connecter la broche marquée VDD du capteur à la broche 3V3 de la planche à pain (GPIO Pin 1). Câblez maintenant la broche marquée GND sur le capteur à l’une des broches GND sur la planche à pain. Nous devons également fixer les broches du capteur à la carte du capteur. Sur le côté de la carte de capteur qui n’a que 2 broches, câblez chaque broche de la carte à la broche. Peu importe quelle broche sur la carte va à quelle broche sur la broche.
Il est temps de brancher l’ADC. Comme le capteur, connectez les broches VDD et GND à la platine (VDD -> 3V3, GND -> GND). Câblez ensuite les broches SCL et SDA aux broches correspondantes de la platine (SCL – GPIO Pin 5, SDA – GPIO Pin 3).
Nous devons maintenant connecter la sortie analogique de notre capteur à l’entrée de l’ADC. Connectez donc A0 de notre capteur à A0 sur notre ADC. (L’ADC que nous utilisons a plusieurs entrées analogiques, mais nous avons juste besoin de celle pour ce tutoriel)
Maintenant que tout est câblé, allez attraper votre plante et enfoncez les dents de notre capteur d’humidité dans le sol.
C’est tout pour la configuration matérielle, passons maintenant au codage !!
Configuration du logiciel
Pour commencer, nous devons télécharger du code python d’Adafruit qui nous permettra d’utiliser facilement leur ADC.
Adafruit a tout son exemple de code dans un seul référentiel Git, nous devons donc tout télécharger, puis trouver le code dont nous avons réellement besoin pour notre ADC.
Commencez par vous assurer que git est installé sur votre Raspberry Pi
sudo apt-get install git
Maintenant, nous pouvons télécharger ou «cloner» le référentiel sur notre Pi (cela télécharge simplement tous les fichiers du référentiel, sur notre Pi)
git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
Maintenant que nous avons téléchargé tout le code d’Adafruit, nous devons trouver le code de notre ADC. Accédez au répertoire nouvellement téléchargé
cd Adafruit-Raspberry-Pi-Python-Code
Ensuite, à partir d’ici, si nous listons le contenu du répertoire, nous devrions être en mesure de trouver ce que nous recherchons
ls
L’ADC d’Adafruit que nous utilisons dans ce tutoriel est un ADS1015. Le premier répertoire de la liste est «Adafruit_ADS1x15». C’est celui que nous voulons! Alors maintenant, nous devons sauter dans ce répertoire pour voir le code fourni
cd Adafruit_ADS1x15
ls
Dans ce répertoire, nous pouvons voir quelques scripts python différents. Celui qui nous intéresse s’appelle:
ads1x15_ex_singleended.py
Nous allons utiliser cela comme point de départ pour écrire notre propre script. Si nous exécutons ce script, nous devrions pouvoir voir la tension signalée par notre capteur d’humidité. Pour exécuter le script, entrez simplement
sudo python ads1x15_ex_singleended.py
Pour vérifier que tout fonctionne, nous pouvons tester le capteur d’humidité dans les deux extrêmes. Sec et humide.
Commencez par retirer les sondes du capteur de notre usine et suspendez-les dans les airs pour que rien ne les touche. Exécutez maintenant le script ci-dessus. Vous devriez obtenir une valeur> 3,00
Prenez maintenant un verre d’eau et placez soigneusement la sonde du capteur dans l’eau. NE SUBMERGEZ PAS TOUTE LA CHOSE. Assurez-vous simplement qu’au moins la moitié des deux broches sont immergées. Exécutez à nouveau le script ci-dessus et vous devriez obtenir une valeur <0,50
J’espère que vous avez des lectures similaires. Si vous ne vous contentez pas de revenir en arrière et de vérifier toutes les connexions sont sécurisées et correctes.
Si vous l’avez fait, tout est correctement configuré et vous êtes prêt à développer l’exemple de script pour répondre à vos besoins.
Que diriez-vous d’adapter le capteur d’humidité numérique pour envoyer les alertes par e-mail en fonction de la valeur de la lecture analogique?