Outils pour utilisateurs

Outils du site


jardin_sonde_gravity

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
jardin_sonde_gravity [2025/07/28 08:36] – [Description] adminjardin_sonde_gravity [2025/08/01 07:03] (Version actuelle) admin
Ligne 26: Ligne 26:
 ⚠️ Le MCP3008 doit être alimenté en 3,3V, pas 5V, pour correspondre au niveau logique du Pi. ⚠️ Le MCP3008 doit être alimenté en 3,3V, pas 5V, pour correspondre au niveau logique du Pi.
  
-===== Le protocole SPI =====+===== Test de la sonde en mode interractif =====
  
-### +Installer la bibliothèque Adafruit_CircuitPython_MCP3xxx
-C’est un protocole de communication utilisé pour faire dialoguer un microcontrôleur (comme le Raspberry Pi) avec des composants externes +
-###+
  
 +
 +<code>
 +#Importation des bibliothèques nécessaires
 +import time                           # Pour ajouter une pause entre deux lectures (temporisation)
 +import busio                          # Pour initialiser et utiliser le bus SPI (communication avec le MCP3008)
 +import digitalio                      # Pour gérer les entrées/sorties numériques (notamment la broche CS du SPI)
 +import board                          # Pour accéder aux broches physiques du Raspberry Pi via des noms symboliques
 +
 +# Importation de la bibliothèque du convertisseur analogique/numérique MCP3008
 +import adafruit_mcp3xxx.mcp3008 as MCP
 +from adafruit_mcp3xxx.analog_in import AnalogIn
 +
 +#Initialisation du bus SPI matériel (horloge, entrée et sortie de données)
 +spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI)
 +
 +#Définir la broche utilisée pour sélectionner le MCP3008 (CS = Chip Select)
 +# Ici on utilise la broche physique D5 (GPIO5), mais on peut en choisir une autre
 +cs = digitalio.DigitalInOut(board.D5)
 +
 +#Création d’une instance du MCP3008 relié via SPI
 +mcp = MCP.MCP3008(spi, cs)
 +
 +#Définir une entrée analogique sur le canal CH0 (où est branchée la sonde d’humidité Gravity)
 +# Si tu veux ajouter d'autres sondes : tu peux aussi définir CH1, CH2, etc.
 +canal_humidite_1 = AnalogIn(mcp, MCP.P0)  # Capteur 1 branché sur CH0
 +# canal_humidite_2 = AnalogIn(mcp, MCP.P1)  # Capteur 2 (à décommenter si besoin)
 +# canal_humidite_3 = AnalogIn(mcp, MCP.P2)  # Capteur 3...
 +
 +#Boucle infinie pour lire les valeurs du capteur toutes les 2 secondes
 +while True:
 +    # Lecture de la valeur brute (entre 0 et 65535) pour le capteur 1
 +    valeur = canal_humidite_1.value
 +    # Lecture de la tension en volts (entre 0.0 et 3.3V)
 +    tension = canal_humidite_1.voltage
 +
 +    # Affichage dans le terminal
 +    print(f"Sonde 1 → Valeur brute : {valeur} | Tension : {tension:.2f} V")
 +
 +    # Si plusieurs sondes sont branchées sur d'autres canaux, tu peux aussi les lire :
 +    # valeur2 = canal_humidite_2.value
 +    # tension2 = canal_humidite_2.voltage
 +    # print(f"Sonde 2 → Valeur brute : {valeur2} | Tension : {tension2:.2f} V")
 +
 +    # Temporisation de 5 secondes avant la prochaine lecture
 +    time.sleep(5)
 +</code>
jardin_sonde_gravity.1753691784.txt.gz · Dernière modification : de admin