Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Analoge Sensoren mit MCP3008 an Raspberry Pi anschließen – Verdrahtung, SPI-Setup und Python-Beispielcode

Bereit, analoge Signale mit Ihrem Raspberry Pi auszulesen? Dieser Leitfaden führt Sie durch das Verdrahten eines MCP3008 ADC, das Aktivieren von SPI, die Installation der erforderlichen Bibliotheken und die Ausführung eines grundlegenden Python-Skripts zum Abrufen von Sensordaten.

Schritt 1: MCP3008 verdrahten

Achten Sie darauf, dass die halbkreisförmige Kerbe des Chips in die gleiche Richtung zeigt wie im Diagramm dargestellt. Für einen MCP3004 ist das Pin-Layout identisch, außer dass der Chip nur vier analoge Eingänge hat.

Schritt 2: SPI auf dem Raspberry Pi aktivieren

  1. Öffnen Sie ein Terminal und führen Sie aus:
    sudo raspi-config
  2. Navigieren Sie zu Advanced Options → SPI und aktivieren Sie es.
  3. Starten Sie den Pi neu:
    sudo reboot
  4. Nach dem Neustart prüfen Sie, ob SPI-Geräte existieren:
    ls /dev/
    Sie sollten spidev0.0 und spidev0.1 sehen.
  5. Falls sie fehlen, aktualisieren Sie Ihr System:
    sudo apt-get update && sudo apt-get upgrade
    installieren Sie dann die neueste Firmware:
    sudo wget https://goo.gl/1BOfJ -O /usr/bin/rpi-update
    sudo chmod +x /usr/bin/rpi-update
    sudo rpi-update
    sudo reboot

I²C aus Blacklist entfernen (falls nötig)

Manchmal ist I²C auf der Blacklist, was SPI verhindert. Öffnen Sie die Blacklist-Datei:

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

Entfernen oder kommentieren Sie jede Zeile mit blacklist i2c-bcm2708 aus, dann neu starten.

Schritt 3: Python SPI Bibliothek installieren

  1. Voraussetzungen installieren:
    sudo apt-get install python-dev git
  2. py-spidev Repository klonen:
    git clone https://github.com/doceme/py-spidev
  3. Bibliothek installieren:
    cd py-spidev
    sudo python setup.py install

Schritt 4: Python-Beispielcode

Erstellen Sie mcp3008.py in Ihrem Home-Verzeichnis:

nano ~/mcp3008.py

Fügen Sie das folgende Skript ein:

# mcp3008.py
import spidev
import time
# SPI Bus 0, Device 0 öffnen
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)  # Kanal 0 auslesen
        print(f"Channel 0: {value}")
        time.sleep(1)
except KeyboardInterrupt:
    spi.close()
    print("Programm beendet")

Führen Sie das Skript aus mit:

python3 ~/mcp3008.py

Sie sollten einen kontinuierlichen Strom roher ADC-Werte (0–1023) sehen. Konvertieren Sie diese mithilfe des MCP3008-Datenblatts in Spannung oder Sensoreinheiten.

Referenzen

Herstellungsprozess

  1. C# Grundlagen: Eingabe und Ausgabe Essentials
  2. Raspberry Pi & HDC2010: Kompletter I2C Temperatur- & Feuchtigkeitssensor Setup-Guide
  3. Raspberry Pi Temperaturlogger mit 5 $ I2C Sensor bauen
  4. Präzises Raspberry Pi Temperaturprofiling mit Python, SQLite und LabVIEW
  5. TMP006 Infrarot-Temperatursensor mit Raspberry Pi: Python Library & Setup Guide
  6. Fern-Temperatursensor mit Raspberry Pi & Python bauen – Schritt-für-Schritt-Anleitung
  7. Raspberry Pi Wetterstation bauen, die tägliche Wetterdaten per E-Mail sendet
  8. Remote-Wetterüberwachung mit Raspberry Pi 3 & PubNub
  9. HC-SR04 Ultraschallsensor an Raspberry Pi 3 anschließen – Komplettanleitung
  10. TI SensorTag mit Blynk via Node-RED auf Raspberry Pi Zero integrieren