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 16:23] – [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 25: Ligne 25:
  
 ⚠️ 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 ===== 
- 
-### 
-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 : 
- 
-<code>sudo raspi-config</code> 
- 
-  * Aller dans Interfaces 
-  * Activer SPI 
-  * Redémarrer 
  
 ===== Test de la sonde en mode interractif ===== ===== Test de la sonde en mode interractif =====
- 
-Installer la bibliothèque Adafruit_CircuitPython_MCP3xxx 
  
 <code> <code>
 #Importation des bibliothèques nécessaires #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 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 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
-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 # Importation de la bibliothèque du convertisseur analogique/numérique MCP3008
-from adafruit_mcp3xxx.mcp3008 import MCP3008+import adafruit_mcp3xxx.mcp3008 as MCP
 from adafruit_mcp3xxx.analog_in import AnalogIn from adafruit_mcp3xxx.analog_in import AnalogIn
  
Ligne 76: Ligne 46:
  
 #Création d’une instance du MCP3008 relié via SPI #Création d’une instance du MCP3008 relié via SPI
-mcp = MCP3008(spi, cs)+mcp = MCP.MCP3008(spi, cs)
  
 #Définir une entrée analogique sur le canal CH0 (où est branchée la sonde d’humidité Gravity) #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. +capteur_1 = AnalogIn(mcp, MCP.P0)  # Capteur 1 branché sur CH0 
-canal_humidite_1 = AnalogIn(mcp, MCP3008.P0)  # Capteur 1 branché sur CH0 +capteur_2 = AnalogIn(mcp, MCP.P1)  # Capteur 2 (à décommenter si besoin) 
-canal_humidite_2 = AnalogIn(mcp, MCP3008.P1)  # Capteur 2 (à décommenter si besoin) +capteur_3 = AnalogIn(mcp, MCP.P2)  # Capteur 3...
-canal_humidite_3 = AnalogIn(mcp, MCP3008.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 : +#Affichage des valeurs 
-    # valeur2 = canal_humidite_2.value +capteur_1.value 
-    # tension2 = canal_humidite_2.voltage +capteur_1.voltage
-    # print(f"Sonde 2 → Valeur brute : {valeur2} | Tension : {tension2:.2f} V")+
  
-    # Temporisation de 5 secondes avant la prochaine lecture 
-    time.sleep(5) 
 </code> </code>
jardin_sonde_gravity.1753979017.txt.gz · Dernière modification : de admin