亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

树莓派用 MCP3008 读取模拟传感器:接线、SPI 配置与 Python 示例

想让树莓派读取模拟信号?本指南带你为 MCP3008 ADC 接线、启用 SPI、安装依赖库,并运行基础 Python 脚本获取传感器数据。

步骤 1:MCP3008 接线

确保芯片半圆缺口朝向与示意图一致。MCP3004 引脚布局相同,仅模拟输入为 4 通道。

步骤 2:在树莓派上启用 SPI

  1. 打开终端运行:
    sudo raspi-config
  2. 进入 Advanced Options → SPI 并启用。
  3. 重启:
    sudo reboot
  4. 重启后验证 SPI 设备:
    ls /dev/
    应看到 spidev0.0 和 spidev0.1。
  5. 若缺失,更新系统:
    sudo apt-get update && sudo apt-get upgrade
    再安装最新固件:
    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 黑名单(如必要)

有时 I²C 被列入黑名单导致 SPI 失效。编辑黑名单文件:

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

删除或注释掉含 blacklist i2c-bcm2708 的行,然后重启。

步骤 3:安装 Python SPI 库

  1. 安装前置依赖:
    sudo apt-get install python-dev git
  2. 克隆 py-spidev 仓库:
    git clone https://github.com/doceme/py-spidev
  3. 安装库:
    cd py-spidev
    sudo python setup.py install

步骤 4:Python 示例代码

在家目录创建 mcp3008.py:

nano ~/mcp3008.py

粘贴以下脚本:

# mcp3008.py
import spidev
import time
# 打开 SPI 总线 0,设备 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)  # 读取通道 0
        print(f"Channel 0: {value}")
        time.sleep(1)
except KeyboardInterrupt:
    spi.close()
    print("Program terminated")

运行脚本:

python3 ~/mcp3008.py

你将看到持续输出的原始 ADC 值 (0–1023)。按 MCP3008 数据手册换算为电压或传感器单位。

参考资料

制造工艺

  1. 树莓派对接HDC2010:I²C温湿度传感器完整接线与编程指南
  2. 树莓派+$5 I²C传感器打造温度记录仪
  3. 树莓派温度画像:Python+SQLite+LabVIEW实战
  4. 树莓派配合 TMP006 红外温度传感器:Python 库与安装指南
  5. 树莓派与 Python 构建远程温度传感器:分步实战指南
  6. 树莓派自制气象站:每日邮件推送温湿雨数据
  7. 树莓派 3 配合 PubNub 实现远程气象监测
  8. 树莓派 3 接 HC‑SR04 超声波测距传感器完全指南
  9. 树莓派 Zero 配合 Node‑RED 融合 TI SensorTag 与 Blynk 物联网平台
  10. 树莓派 PIR 运动传感器控制 LED 实战指南
  11. 树莓派低成本土壤湿度传感器:智能灌溉 DIY 指南
  12. C# 基础:输入输出核心技巧完全指南