4.4 Utilisation d’un convertisseur analogique à numérique
Comme le Raspberry Pi n’a pas de broches d’entrées analogiques, on doit utiliser un convertisseur analogique à numérique (ADC) pour être en mesure de lire les données de capteurs analogiques. On doit donc apprendre à connecter le convertisseur ADC et à utiliser une bibliothèque pour traiter les données lues.
4.4.1 Connexion d’un convertisseur ADC
Un exemple de convertisseur ADC couramment utilisé est le MCP3002 à 8 broches. Ce composant utilise le protocole SPI pour communiquer avec le Raspberry Pi, il faudra donc activer cette interface dans les configurations. Les figures et le tableau suivants indiquent les connexions à faire. Notez que 6 broches seront reliées à des broches du Raspberry Pi et 2 peuvent être utilisées pour connecter un capteur analogique. Cependant, généralement on en utilisera une seule avec notre capteur et l’autre sera aussi connectée à la terre.
Figure 73 — Convertisseur ADC MCP3002
Figure 74 — Connecteurs du MCP3002
Broches du MCP3002 | Broche du Raspberry Pi ou du capteur analogique | ||
---|---|---|---|
CS | 1 | CS0 or CS1 | 24 ou 26 |
CH0 | 2 | Capteur analogique | Capteur |
CH1 | 3 | Capteur analogique ou GND | Capteur ou 25 |
VSS | 4 | GND | 25 |
DIN | 5 | MOSI | 19 |
DOUT | 6 | MISO | 21 |
CLK | 7 | SCLK | 23 |
VDD | 8 | 3V3 | 1 |
Figure 75 — Connexion du MCP3002 avec le Raspberry Pi et un potentiomètre
Figure 76 — Exemple d’utilisation d’un convertisseur ADC avec un potentiomètre
Vidéo 45 : Connexion de capteurs analogiques avec un convertisseur ADC sur le Raspberry Pi
4.4.2 Lecture d’entrées analogiques avec un convertisseur ADC
Une fois le convertisseur ADC connecté au Raspberry Pi et à un capteur analogique, on peut utiliser la bibliothèque adc.py pour lire et traiter les données. Cette bibliothèque nous donne accès à la commande get_adc(channel) qui retourne la valeur analogique lue sur le capteur, comme dans l’exemple de code suivant :
Figure 77 — Exemple de code utilisant le convertisseur MCP3002 et sa bibliothèque
Vidéo 46 : Lecture d’entrées analogiques avec un convertisseur ADC sur le Raspberry Pi
On pourrait ensuite utiliser cette valeur pour contrôler un actuateur analogique, ou encore l’envoyer vers un service Web pour la rendre disponible à une application de surveillance de données.