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:38] – [Le protocole SPI] 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 +
-###+
  
-Le protocole SPI utilise 4 fils : 
  
-| Nom du fil      | Fonction                                                       | Correspondance sur le Raspberry Pi | +<code> 
-| --------------- | -------------------------------------------------------------- | ---------------------------------- | +#Importation des bibliothèques nécessaires 
-| `MOSI`          | Master Out Slave In : le Pi envoie les données vers le capteur | GPIO10 (Pin 19                   | +import time                           # Pour ajouter une pause entre deux lectures (temporisation
-| `MISO`          | Master In Slave Out : le Pi lit les données du capteur         | GPIO9 (Pin 21                    | +import busio                          # Pour initialiser et utiliser le bus SPI (communication avec le MCP3008
-| `SCLK` ou `CLK` | Clock : le signal d’horloge synchronise les échanges           | GPIO11 (Pin 23                   | +import digitalio                      # Pour gérer les entrées/sorties numériques (notamment la broche CS du SPI
-| `CS` ou `CE`    | Chip Select : active le capteur concerné                       | Par exemple GPIO5 (Pin 29)         |+import board                          # Pour accéder aux broches physiques du Raspberry Pi via des noms symboliques
  
-C’est un bus rapide, synchrone (horloge partagée), plein-duplex (on peut envoyer et recevoir en même temps).+# 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.SCKMISO=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.1753691898.txt.gz · Dernière modification : de admin