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 73 — Convertisseur ADC MCP3002

Figure 74 — Connecteurs du MCP3002

Figure 74 — Connecteurs du MCP3002

Tableau 6 : Connexion du convertisseur ADC MCP3002.
Broches du MCP3002Broche du Raspberry Pi ou du capteur analogique
CS 1CS0 or CS124 ou 26
CH0 2Capteur analogiqueCapteur
CH13Capteur analogique 
ou GND
Capteur ou 25
VSS4GND25
DIN5MOSI19
DOUT 6MISO21
CLK7SCLK23
VDD83V31

Figure 75 — Connexion du MCP3002 avec le Raspberry Pi et un potentiomètre

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

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

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.


4.4.3 Exercices avec entrées-sorties analogiques et convertisseur ADC