Partie XII
À quoi sert un convertisseur analogique-numérique (ADC) ?
Le Raspberry Pi, contrairement à un Arduino, n’a pas d’entrée analogique. Il ne peut lire que des valeurs numériques (0 ou 1, HIGH ou LOW). Or, certains capteurs, comme la sonde d’humidité du sol Gravity SEN0193, peuvent envoyer une tension variable représentant un niveau d’humidité, et non un simple “sec” ou “humide”.
👉 C’est là qu’intervient le convertisseur analogique-numérique (ADC), comme le MCP3008.
Pourquoi préférer une lecture analogique pour la sonde SEN0193 ?
La sonde Gravity SEN0193, selon le modèle peut fonctionner en deux modes :
- Numérique : elle renvoie simplement 1 (sol sec) ou 0 (sol humide). C’est tout.
- Analogique : elle renvoie une valeur continue entre 0 et 3.3V, que le MCP3008 convertit en une valeur entre 0 et 1023.
Avantages de l’analogique :
- Permet un suivi plus fin et progressif de l’humidité (utile pour déclencher l’arrosage à un seuil précis).
- Donne la possibilité de créer des graphiques, des seuils personnalisés, des alertes…
- Ouvre la voie à une gestion intelligente et économe de l’eau.
Présentation du MCP3008
Le MCP3008 est une petite puce qui permet de convertir jusqu’à 8 signaux analogiques en valeurs numériques que le Raspberry Pi peut comprendre, via le protocole SPI.
Il se connecte au Raspberry Pi via la breadboard pour simplifier les branchements.
Branchement du MCP3008
La puce MCP3008 doit être placée sur le breadboard à cheval sur la “tranchée centrale”, de manière à ce que chaque broche soit positionnée sur une rangée indépendante, ce qui permet un câblage propre et organisé.
| MCP3008 | Fonction | Branchement sur la breadboard |
| 16 (VDD) | Alimentation | Jumper vers la ligne rouge (3.3V) |
| 15 (VREF) | Référence | Jumper vers la ligne rouge (3,3V) |
| 14 (AGND) | Masse analogique | Jumper vers la ligne noire (GND) |
| 13 (CLK) | Horloge SPI | GPIO11 du Raspberry Pi |
| 12 (DOUT) | Données vers le Raspberry Pi | GPIO9 du Raspberry Pi |
| 11 (DIN) | Données du Raspberry Pi | GPIO10 du Raspberry Pi |
| 10 (CS) | Chip select | GPIO5 du Raspberry Pi |
| 9 (DGND) | Masse numérique | Jumper vers la ligne noire (GND) |
| 1 (CH0) | Canal analogique 0 | Sortie A0 de la sonde |