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

Connecter des capteurs analogiques au Raspberry Pi avec MCP3008 – Câblage, configuration SPI et code Python d'exemple

Prêt à lire des signaux analogiques avec votre Raspberry Pi ? Ce guide vous accompagne dans le câblage d'un MCP3008 ADC, l'activation du SPI, l'installation des bibliothèques requises et l'exécution d'un script Python de base pour récupérer les données des capteurs.

Étape 1 : Câblage du MCP3008

Assurez-vous que l'encoche semi-circulaire de la puce fait face dans la même direction que sur le schéma. Pour un MCP3004, le brochage est identique sauf que la puce n'a que quatre entrées analogiques.

Étape 2 : Activer le SPI sur le Raspberry Pi

  1. Ouvrez un terminal et exécutez :
    sudo raspi-config
  2. Naviguez vers Options avancées → SPI et activez-le.
  3. Redémarrez le Pi :
    sudo reboot
  4. Après redémarrage, vérifiez l'existence des périphériques SPI :
    ls /dev/
    Vous devriez voir spidev0.0 et spidev0.1.
  5. S'ils sont absents, mettez à jour votre système :
    sudo apt-get update && sudo apt-get upgrade
    puis installez le dernier firmware :
    sudo wget https://goo.gl/1BOfJ -O /usr/bin/rpi-update
    sudo chmod +x /usr/bin/rpi-update
    sudo rpi-update
    sudo reboot

Débloquer I²C (si nécessaire)

Parfois I²C est mis en liste noire, empêchant le SPI de fonctionner. Ouvrez le fichier de liste noire :

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Supprimez ou commentez toute ligne contenant blacklist i2c-bcm2708, puis redémarrez.

Étape 3 : Installer la bibliothèque Python SPI

  1. Installez les prérequis :
    sudo apt-get install python-dev git
  2. Clonez le dépôt py-spidev :
    git clone https://github.com/doceme/py-spidev
  3. Installez la bibliothèque :
    cd py-spidev
    sudo python setup.py install

Étape 4 : Code Python d'exemple

Créez mcp3008.py dans votre répertoire personnel :

nano ~/mcp3008.py

Collez le script suivant :

# mcp3008.py
import spidev
import time
# Ouvrir le bus SPI 0, device 0
spi = spidev.SpiDev()
spi.open(0, 0)
spi.max_speed_hz = 1350000
def read_channel(channel):
    if channel < 0 or channel > 7:
        return -1
    adc = spi.xfer2([1, (8 + channel) << 4, 0])
    data = ((adc[1] & 3) << 8) + adc[2]
    return data
try:
    while True:
        value = read_channel(0)  # Lire depuis le canal 0
        print(f"Channel 0: {value}")
        time.sleep(1)
except KeyboardInterrupt:
    spi.close()
    print("Programme terminé")

Exécutez le script avec :

python3 ~/mcp3008.py

Vous devriez voir un flux continu de valeurs ADC brutes (0–1023). Convertissez-les en tension ou en unités de capteur en utilisant la fiche technique du MCP3008.

Références

Processus de fabrication

  1. Fondamentaux C# : Entrées et sorties essentielles
  2. Raspberry Pi et HDC2010 : guide complet de configuration du capteur I2C température et humidité
  3. Construire un enregistreur de température Raspberry Pi avec capteur I2C à 5 $
  4. Profilage température Raspberry Pi précis avec Python, SQLite et LabVIEW
  5. Capteur de température infrarouge TMP006 avec Raspberry Pi : bibliothèque Python et guide de configuration
  6. Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
  7. Construire une station météo Raspberry Pi qui envoie les données météo quotidiennes par email
  8. Surveillance météo à distance avec Raspberry Pi 3 et PubNub
  9. Connexion du capteur ultrasonique HC‑SR04 au Raspberry Pi 3 : Guide complet