• Première étape
  • Matériel et accessoires ; GPIO
  • Projets
  • Logiciel
    • Serveur Web
  • Arduino & ESP8266
  • Automatisation de la maison
  • Sonstiges
    • News
Facebook Twitter YouTube
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
  • Matériel et accessoires ; GPIO
  • Projets
  • Logiciel
  • Serveur Web
  • Première étape
  • Automatisation de la maison
  • Anglais
  • Allemand
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
Home»Matériel et accessoires ; GPIO»Evaluation de l’humidité du sol avec le Raspberry Pi

Evaluation de l’humidité du sol avec le Raspberry Pi

Facebook Twitter LinkedIn Tumblr Email Reddit
Easpberry Pi Soil Sensor
Resisitive Erdfeuchtigkeitssensoren sind oft nicht von Dauer.
Share
Facebook Twitter LinkedIn Email Tumblr Reddit Telegram WhatsApp

Il existe des capteurs pour le Raspberry Pi qui peuvent mesurer l’humidité, la température et d’autres valeurs. Néanmoins, ces modules sont presqu’exclusivement adaptés à l’air et ne sont pas destinés à être utilisés dans la terre.
Pour certains projets, tels que l’alimentation automatique des plantes, il faut mesurer l’humidité du sol, puis, par exemple, le remplir d’eau.

Dans ce tutoriel, je vais vous montrer comment ignorer la lecture (analogique) de l’humidité avec un capteur et la convertir en une valeur numérique afin que le Pi de la framboise puisse l’interpréter.

Pièces de matériel nécessaires

Voici les pièces de matériel que j’ai utilisées:

  • Capteur d’humidité du sol
  • MCP3008
  • Câble de démarrage femelle-femelle
  • Breadboard

 

Installation

Le MCP3008 IC est un convertisseur analogique/numérique. Comme le Raspberry Pi ne peut pas détecter les signaux intrinsèquement analogiques, vous avez besoin d’un convertisseur comme le MCP3008.

Bien que ce capteur fournisse également une broche numérique qui peut envoyer un signal dès qu’un seuil est dépassé, il n’est cependant pas exactement déterminable. Le seuil peut être modifié en tournant la roue (s’il a été atteint, le feu vert s’allume).

Pour lire la broche analogique, nous la connectons comme suit:

 

hygrometer_breadboard

mcp3008-e1397762478714

Voici les connexions au MCP3008 :

RaspberryPi MCP3008
Broche 1 (3.3V) Broche 16 (VDD)
Broche 1 (3.3V) Broche 15 (VREF)
Broche 6 (GND) Broche 14 (AGND)
Broche 23 (SCLK) Broche 13 (CLK)
Broche 21 (MISO) Broche 12 (DOUT)
Broche 19 (MOSI) Broche 11 (DIN)
Broche 24 (CE0) Broche 10 (CS/SHDN)
Broche 6 (GND) Broche 9 (DGND)

Le VCC du capteur est également connecté à 3,3V (broche 1) du Raspberry Pi, GND et broche 6 (GND) et A0 vient à CH0 du MCP3008.

 

Logiciel

Afin de pouvoir accéder au MCP3008, le SPI doit être activé. Cela fonctionne comme suit:

sudo raspi-config

« 8 Options avancées » -> « A6 SPI » -> « Oui ».
Confirmez ensuite le redémarrage.

Vous pouvez maintenant installer la bibliothèque spidev si vous ne l’avez pas encore fait:

sudo apt-get install git python-dev
git clone git://github.com/doceme/py-spidev
cd py-spidev/
sudo python setup.py install

Avec le script suivant, vous pouvez alors accéder au capteur (sudo nano humidity.py):

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/python
import spidev
import os
import time
 
delay = 0.2
 
spi = spidev.SpiDev()
spi.open(0,0)
spi.max_speed_hz=1000000
 
def readChannel(channel):
  val = spi.xfer2([1,(8+channel)<<4,0])
  data = ((val[1]&3) << 8) + val[2]
  return data
 
if __name__ == "__main__":
  try:
    while True:
      val = readChannel(0)
      if (val != 0):
        print(val)
      time.sleep(delay)
      
  except KeyboardInterrupt:
    print "Cancel."

Une valeur comprise entre 0 et 1023 est indiquée. Dans mon test, le capteur a souvent renvoyé un 0, ce qui signifierait une humidité totale (conductivité). Mais comme seules les valeurs autour de 100-200 apparaissent, si le capteur est complètement submergé dans l’eau, une valeur de 0 est évidemment fausse, alors je filtre cette valeur dans le script. De plus, des valeurs apparaissent autour de ~ 1000 s’il n’y a rien de conducteur (air) entre les plaques du capteur.

En fonction du matériau (terre, eau, sable, etc.), qui se trouve entre les plaques, d’autres valeurs sortent à l’état sec/humide. Il est donc logique de prendre plusieurs mesures et d’ajuster le seuil analogique en fonction de votre application.

humidité Humidité du sol Hygromètre MCP3008 Mesure de l'humidité Module de détection
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
Previous ArticleRaspberry Pi vs. Arduino: Which One is Best (for Beginners)?
Next Article Comment réaliser un émetteur radio Raspberry Pi

Related Posts

Connecter un clavier Raspberry Pi – Code Lock

Construire un capteur de porte / fenêtre Raspberry Pi avec Reed Relais

MCP3008 : Lire des signaux analogiques sur le Raspberry Pi

Contrôler le module RTC de Raspberry Pi – Horloge temps réel I2C

Leave A Reply Cancel Reply

Utiliser Raspberry Pi comme récepteur radio (autoradio FM, PC de voiture)

Comment configurer un serveur FTP Raspberry Pi – Installation du serveur Web

Mesure de la température avec un capteur de température Raspberry Pi (1-Wire)

Caméra de sécurité Raspberry Pi avec webcam

Contrôlez votre Raspberry Pi à l’aide d’une manette Xbox 360 sans fil

Mesure de la distance infrarouge avec Raspberry Pi (Sharp GP2Y0A02YK0F)

ABONNEZ-VOUS MAINTENANT
Et recevez de nouveaux tutoriels dans votre boîte de réception.
Cliquez ici pour soumettre!

Merci!

Nous vous contacterons bientôt.

Tutorials for Raspberry Pi
Facebook Twitter YouTube
  • Politique de confidentialité
  • Conditions de service & Politique sur les cookies

Type above and press Enter to search. Press Esc to cancel.