Outils pour utilisateurs

Outils du site


jardin_sonde_gravity

Ceci est une ancienne révision du document !


Présentation de la sonde d’humidité du sol Gravity SEN0193

Description

La Gravity SEN0193 est une sonde capacitive d’humidité du sol développée par DFRobot. Elle mesure l’humidité du sol de façon capacitive, ce qui est plus fiable et plus durable que les anciennes sondes résistives (qui s’oxydent avec le temps).

Avantages

  • 🌿 Capacitive : ne s’oxyde pas, dure plus longtemps que les modèles bas de gamme.
  • 📐 Compacte : facile à insérer dans un pot ou un bac.
  • 🔌 Compatible Raspberry Pi via convertisseur ADC.

Branchement de la sonde

Voici le schéma logique de câblage pour la sonde sur le MCP3008 déjà alimenté et installé :

Broche de la sonde À connecter sur…
—————— ——————————————————
`VCC` ligne 3,3V (pin 1 du Raspberry Pi) via breadboard
`GND` ligne GND (pin 6 du Raspberry Pi) via breadboard
`A0` (sortie) une des entrées CH0 à CH7 du MCP3008 (ex: CH0)

⚠️ Le MCP3008 doit être alimenté en 3,3V, pas 5V, pour correspondre au niveau logique du Pi.

Le protocole SPI

C’est un protocole de communication utilisé pour faire dialoguer un microcontrôleur (comme le Raspberry Pi) avec des composants externes

Le protocole SPI utilise 4 fils :

Nom du fil Fonction Correspondance sur le Raspberry Pi
————— ————————————————————– ———————————-
`MOSI` Master Out Slave In : le Pi envoie les données vers le capteur GPIO10 (Pin 19)
`MISO` Master In Slave Out : le Pi lit les données du capteur GPIO9 (Pin 21)
`SCLK` ou `CLK` Clock : le signal d’horloge synchronise les échanges GPIO11 (Pin 23)
`CS` ou `CE` Chip Select : active le capteur concerné Par exemple GPIO5 (Pin 29)

C’est un bus rapide, synchrone (horloge partagée), plein-duplex (on peut envoyer et recevoir en même temps).

Activer le protocole SPI

Aller dans l'interface d'administration du Raspberry Pi :

sudo raspi-config
  • Aller dans Interfaces
  • Activer SPI
  • Redémarrer

Test de la sonde en mode interractif

import time
import busio
import digitalio
import board
from adafruit_mcp3xxx.mcp3008 import MCP3008
from adafruit_mcp3xxx.analog_in import AnalogIn

# Initialisation SPI
spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI)

# Sélection de la puce (CS)
cs = digitalio.DigitalInOut(board.D5)  # à adapter si tu branches le CS ailleurs

# Initialisation du MCP3008
mcp = MCP3008(spi, cs)

# Lecture sur le canal CH0 (où est branchée la sonde Gravity)
canal_humidite = AnalogIn(mcp, MCP3008.P0)

# Boucle de lecture avec temporisation
while True:
    valeur = canal_humidite.value  # brut (entre 0 et 65535)
    tension = canal_humidite.voltage  # tension en volts

    print(f"Valeur brute : {valeur} | Tension : {tension:.2f} V")
    
    time.sleep(2)  # temporisation de 2 secondes
jardin_sonde_gravity.1753972703.txt.gz · Dernière modification : de admin