jardin_sonde_gravity
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
jardin_sonde_gravity [2025/07/28 08:42] – [Activer le protocole SPI] admin | jardin_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 | + | < |
- | | --------------- | -------------------------------------------------------------- | ---------------------------------- | | + | # |
- | | `MOSI` | + | import time # Pour ajouter une pause entre deux lectures |
- | | `MISO` | + | import busio # Pour initialiser et utiliser |
- | | `SCLK` ou `CLK` | Clock : le signal d’horloge synchronise | + | import digitalio |
- | | `CS` ou `CE` | Chip Select : active le capteur concerné | + | 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/ |
+ | import adafruit_mcp3xxx.mcp3008 as MCP | ||
+ | from adafruit_mcp3xxx.analog_in import AnalogIn | ||
- | ===== Activer le protocole | + | # |
+ | spi = busio.SPI(clock=board.SCK, MISO=board.MISO, MOSI=board.MOSI) | ||
- | Aller dans l' | + | #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, | ||
+ | |||
+ | #Définir une entrée analogique sur le canal CH0 (où est branchée la sonde d’humidité Gravity) | ||
+ | # Si tu veux ajouter d' | ||
+ | canal_humidite_1 = AnalogIn(mcp, | ||
+ | # canal_humidite_2 = AnalogIn(mcp, | ||
+ | # canal_humidite_3 = AnalogIn(mcp, | ||
+ | |||
+ | #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" | ||
+ | |||
+ | # Si plusieurs sondes sont branchées sur d' | ||
+ | # valeur2 = canal_humidite_2.value | ||
+ | # tension2 = canal_humidite_2.voltage | ||
+ | # print(f" | ||
+ | |||
+ | # Temporisation de 5 secondes avant la prochaine lecture | ||
+ | time.sleep(5) | ||
+ | </ |
jardin_sonde_gravity.1753692120.txt.gz · Dernière modification : de admin