Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Analoge sensoren verbinden met Raspberry Pi via MCP3008 – Bedrading, SPI-setup en voorbeeld Python-code

Klaar om analoge signalen met je Raspberry Pi uit te lezen? Deze gids leidt je door het bedraden van een MCP3008 ADC, SPI inschakelen, de benodigde bibliotheken installeren en een basis Python-script draaien om sensordata op te halen.

Stap 1: De MCP3008 bedraden

  • Voeding (3,3 V) – VDD & VREF naar Raspberry Pi 3,3 V pin (rood).
  • Massa – AGND & DGND naar Raspberry Pi GND (zwart).
  • SPI-verbindingen –
    • CLK → Pi pin 23 (GPIO11) – oranje.
    • DOUT → Pi pin 21 (GPIO9) – geel.
    • DIN → Pi pin 19 (GPIO10) – blauw.
    • CS → Pi pin 24 (GPIO8) – violet.
  • Analoge ingangen – Verbind de signaaldraad van je sensor met een van de A0–A7 pinnen van de MCP3008 (linkerkant van de chip). Gebruik 3,3 V voor V+ en GND voor G–.

Zorg dat de halfcirkelvormige knik van de chip dezelfde richting heeft als in het diagram. Voor een MCP3004 is de pinlayout identiek, behalve dat de chip slechts vier analoge ingangen heeft.

Stap 2: SPI inschakelen op de Raspberry Pi

  1. Open een terminal en voer uit:
    sudo raspi-config
  2. Navigeer naar Advanced Options → SPI en schakel het in.
  3. Herstart de Pi:
    sudo reboot
  4. Na herstart, controleer of SPI-devices bestaan:
    ls /dev/
    Je zou spidev0.0 en spidev0.1 moeten zien.
  5. Als ze ontbreken, update je systeem:
    sudo apt-get update && sudo apt-get upgrade
    installeer dan de nieuwste 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 de-blacklisten (indien nodig)

Soms is I²C geblacklist, wat SPI kan verhinderen. Open het blacklist-bestand:

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

Verwijder of commentarieer elke regel met blacklist i2c-bcm2708, en herstart daarna.

Stap 3: Python SPI-bibliotheek installeren

  1. Installeer vereisten:
    sudo apt-get install python-dev git
  2. Kloon de py-spidev repository:
    git clone https://github.com/doceme/py-spidev
  3. Installeer de bibliotheek:
    cd py-spidev
    sudo python setup.py install

Stap 4: Voorbeeld Python-code

Maak mcp3008.py in je home directory:

nano ~/mcp3008.py

Plak het volgende script:

# mcp3008.py
import spidev
import time
# Open SPI bus 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) # Lees van kanaal 0
        print(f"Kanaal 0: {value}")
        time.sleep(1)
except KeyboardInterrupt:
    spi.close()
    print("Programma beëindigd")

Voer het script uit met:

python3 ~/mcp3008.py

Je zou een continue stroom ruwe ADC-waarden (0–1023) moeten zien. Converteer deze naar spanning of sensoreenheden met behulp van de MCP3008-datasheet.

Referenties

Productieproces

  1. Raspberry Pi & HDC2010: Complete I2C Temperatuur & Vochtigheid Sensor Setup Gids
  2. Bouw Een Raspberry Pi Temperatuur Logger Met Een $5 I2C Sensor
  3. Nauwkeurige Raspberry Pi Temperatuurprofielering Met Python, SQLite En LabVIEW
  4. TMP006 Infrarood temperatuursensor met Raspberry Pi: Python bibliotheek & installatiegids
  5. Een externe temperatuursensor bouwen met Raspberry Pi en Python – Stap-voor-stap handleiding
  6. Een Raspberry Pi-weerstation bouwen dat dagelijkse weergegevens e-mailt
  7. Externe weerbewaking met Raspberry Pi 3 en PubNub
  8. HC-SR04 ultrasoon-sensor aansluiten op Raspberry Pi 3 – Complete gids
  9. TI SensorTag integreren met Blynk via Node-RED op Raspberry Pi Zero
  10. Een LED Besturen met een PIR-bewegingssensor op Raspberry Pi
  11. C# Fundamentals: Invoer en Uitvoer Basis