Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Utiliser un ADC MCP3008 pour lire des capteurs analogiques avec Raspberry Pi

Connecter des capteurs analogiques à un Raspberry Pi peut être difficile car les broches GPIO du Pi sont uniquement numériques. Une solution peu coûteuse est le MCP3008, un convertisseur analogique-numérique 8 canaux 10 bits qui se branche directement sur le bus SPI du Pi et ne nécessite aucun composant supplémentaire.

Dans ce guide, nous parcourrons le câblage d'un MCP3008 sur un Raspberry Pi, la connexion d'une résistance dépendante de la lumière (LDR) et d'un capteur de température TMP36, et la lecture des données avec un script Python simple.

Ce dont vous aurez besoin

Activer le SPI sur le Pi

L'interface SPI est désactivée par défaut. Suivez les étapes de Activation de l'interface SPI sur le Raspberry Pi pour activer le SPI et installer la bibliothèque Python spidev.

Connexions du circuit

Le MCP3008 nécessite quatre broches GPIO sur l'en-tête 40 broches du Pi. Connectez les broches suivantes (les numéros de broche font référence à la numérotation P1 de l'en-tête) :

VDD 3.3V
VREF 3.3V
AGND GROUND
CLK GPIO11 (P1‑23)
DOUT GPIO9 (P1‑21)
DIN GPIO10 (P1‑19)
CS GPIO8 (P1‑24)
DGND GROUND

Chaque broche CH0–CH7 du MCP3008 devient une entrée analogique. Dans l'exemple ci-dessous, nous utilisons CH0 pour la LDR et CH1 pour le TMP36 ; les six canaux restants restent libres pour de futurs capteurs.

Résistance dépendante de la lumière (LDR)

La résistance de la LDR chute à environ 10 kΩ sous forte lumière et grimpe à plusieurs mégaohms dans l'obscurité. En formant un diviseur de tension avec une résistance de 10 kΩ, le MCP3008 lit une tension qui tombe vers 0 V quand illuminée et monte vers 3,3 V dans le noir.

Capteur de température TMP36

Le TMP36 est un capteur de température analogique 3 broches. Alimentez-le en 3,3 V et lisez sa broche VOUT. Le capteur sort 0,750 V à 25 °C, avec une pente linéaire de 10 mV par °C. Ainsi 0 °C donne 0,500 V et 100 °C donne 1,500 V.

Lecture des données avec Python

Le MCP3008 sort des valeurs 10 bits allant de 0 à 1023, mappant linéairement 0 V–3,3 V. Pour le TMP36, cela correspond à une plage de température d'environ –50 °C à +280 °C.

Voici un exemple minimal utilisant la bibliothèque spidev pour lire les canaux 0 et 1 :

import spidev
import time
spi = spidev.SpiDev()
spi.open(0, 0)  # bus 0, device 0
spi.max_speed_hz = 1350000
def read_channel(channel):
    # Protocole MCP3008 : bit de start, single/diff, canal (3 bits), 5 bits dummy
    adc = spi.xfer2([1, (8 + channel) & 0x0F << 4, 0])
    data = ((adc[1] & 3) << 8) + adc[2]
    return data
while True:
    ldr_val = read_channel(0)
    temp_val = read_channel(1)
    temp_c = (temp_val * 3.3 / 1023) * 100 - 50  # Convertir en °C
    print(f'LDR: {ldr_val}, Temp: {temp_c:.2f}°C')
    time.sleep(1)

Remplacez les numéros de canal selon votre disposition de capteurs. Le script affiche en continu la valeur ADC brute pour la LDR et la température calculée en degrés Celsius.

Avec cette configuration, vous pouvez ajouter d'autres capteurs analogiques — photodiodes, transducteurs de pression, sondes d'humidité — en les câblant sur les broches CH2–CH7 restantes et en étendant le code Python en conséquence.

Bon bidouillage !

Processus de fabrication

  1. Construire un enregistreur de température Raspberry Pi avec capteur I2C à 5 $
  2. Profilage température Raspberry Pi précis avec Python, SQLite et LabVIEW
  3. Connecter plusieurs capteurs DS18B20 1-Wire à un Raspberry Pi pour une surveillance température précise
  4. Comment lire la température avec un DS18B20 sur Raspberry Pi 2
  5. Surveillance de température professionnelle sur Raspberry Pi avec DS18B20
  6. Mesure de température sur Raspberry Pi avec capteurs 1‑Wire Maxim et pont I2C DS2482
  7. Capteur de température infrarouge TMP006 avec Raspberry Pi : bibliothèque Python et guide de configuration
  8. Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
  9. Surveillance précise de la température dans un placard serveur avec Raspberry Pi