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/31 14:37] – [Test de la sonde en mode interractif] adminjardin_sonde_gravity [2025/08/01 12:26] (Version actuelle) – [Test de la sonde en mode interractif] 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 =====
  
-### +<code> 
-C’est un **protocole de communication** utilisé pour faire dialoguer un microcontrôleur (comme le Raspberry Pi) avec des composants externes +#Importation des bibliothèques nécessaires 
-### +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
-Le protocole SPI utilise 4 fils : +import board  # Pour accéder aux broches physiques du Raspberry Pi via des noms symboliques
- +
-| 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 +
- +
-<code>sudo raspi-config</code> +
- +
-  * Aller dans Interfaces +
-  * Activer SPI +
-  * Redémarrer +
- +
-===== Test de la sonde en mode interractif =====+
  
-import time +# Importation de la bibliothèque du convertisseur analogique/numérique MCP3008 
-import busio +import adafruit_mcp3xxx.mcp3008 as MCP
-import digitalio +
-import board +
-from adafruit_mcp3xxx.mcp3008 import MCP3008+
 from adafruit_mcp3xxx.analog_in import AnalogIn from adafruit_mcp3xxx.analog_in import AnalogIn
  
-# Initialisation SPI+#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) spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI)
  
-Sélection de la puce (CS) +#Définir la broche utilisée pour sélectionner le MCP3008 (CS = Chip Select) 
-cs = digitalio.DigitalInOut(board.D5)  # à adapter si tu branches le CS ailleurs+# Ici on utilise la broche physique D5 (GPIO5), mais on peut en choisir une autre 
 +cs = digitalio.DigitalInOut(board.D5)
  
-Initialisation du MCP3008 +#Création d’une instance du MCP3008 relié via SPI 
-mcp = MCP3008(spi, cs)+mcp = MCP.MCP3008(spi, cs)
  
-Lecture sur le canal CH0 (où est branchée la sonde Gravity) +#Définir une entrée analogique sur le canal CH0 (où est branchée la sonde d’humidité Gravity) 
-canal_humidite = AnalogIn(mcp, MCP3008.P0)+capteur_1 = AnalogIn(mcp, MCP.P0)  # Capteur 1 branché sur CH0 
 +# capteur_2 = AnalogIn(mcp, MCP.P1)  # Capteur 2 (à décommenter si besoin) 
 +# capteur_3 = AnalogIn(mcp, MCP.P2)  # Capteur 3...
  
-Boucle de lecture avec temporisation +#Affichage des valeurs 
-while True: +capteur_1.value 
-    valeur = canal_humidite.value  # brut (entre 0 et 65535) +capteur_1.voltage
-    tension = canal_humidite.voltage  # tension en volts+
  
-    print(f"Valeur brute : {valeur} | Tension : {tension:.2f} V") +</code>
-     +
-    time.sleep(2)  # temporisation de 2 secondes+
jardin_sonde_gravity.1753972663.txt.gz · Dernière modification : de admin