Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Conectar Sensores Analógicos ao Raspberry Pi com MCP3008 – Fiação, Configuração SPI e Código Python

Pronto para ler sinais analógicos com seu Raspberry Pi? Este guia orienta você na fiação de um MCP3008 ADC, habilitação do SPI, instalação das bibliotecas necessárias e execução de um script Python básico para obter dados do sensor.

Passo 1: Fiação do MCP3008

Certifique-se que o entalhe semicircular do chip esteja na mesma direção mostrada no diagrama. Para um MCP3004 o layout de pinos é idêntico, exceto que o chip tem apenas quatro entradas analógicas.

Passo 2: Habilite SPI no Raspberry Pi

  1. Abra um terminal e execute:
    sudo raspi-config
  2. Navegue para Advanced Options → SPI e habilite.
  3. Reinicie o Pi:
    sudo reboot
  4. Após reiniciar, verifique se dispositivos SPI existem:
    ls /dev/
    Você deve ver spidev0.0 e spidev0.1.
  5. Se estiverem faltando, atualize seu sistema:
    sudo apt-get update && sudo apt-get upgrade
    então instale o firmware mais recente:
    sudo wget https://goo.gl/1BOfJ -O /usr/bin/rpi-update
    sudo chmod +x /usr/bin/rpi-update
    sudo rpi-update
    sudo reboot

Desbloquear I²C (se necessário)

Às vezes o I²C está na blacklist, impedindo o SPI de funcionar. Abra o arquivo de blacklist:

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

Remova ou comente qualquer linha contendo blacklist i2c-bcm2708, então reinicie.

Passo 3: Instale Biblioteca Python SPI

  1. Instale pré-requisitos:
    sudo apt-get install python-dev git
  2. Clone o repositório py-spidev:
    git clone https://github.com/doceme/py-spidev
  3. Instale a biblioteca:
    cd py-spidev
    sudo python setup.py install

Passo 4: Código Python de Exemplo

Crie mcp3008.py no seu diretório home:

nano ~/mcp3008.py

Cole o seguinte script:

# mcp3008.py
import spidev
import time

# Abre barramento SPI 0, dispositivo 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)  # Lê do canal 0
        print(f"Canal 0: {value}")
        time.sleep(1)
except KeyboardInterrupt:
    spi.close()
    print("Programa terminado")

Execute o script com:

python3 ~/mcp3008.py

Você deve ver um fluxo contínuo de valores brutos do ADC (0–1023). Converta estes para tensão ou unidades do sensor usando o datasheet do MCP3008.

Referências

Processo de manufatura

  1. Fundamentos de C#: Essenciais de Entrada e Saída
  2. Raspberry Pi e HDC2010: Guia Completo de Configuração I2C para Sensor de Temperatura e Umidade
  3. Construa um Registrador de Temperatura com Raspberry Pi e Sensor I2C de $5
  4. Perfilamento de Temperatura Preciso no Raspberry Pi com Python, SQLite e LabVIEW
  5. Sensor de Temperatura Infravermelho TMP006 com Raspberry Pi: Biblioteca Python e Guia de Configuração
  6. Construa um Sensor de Temperatura Remoto com Raspberry Pi e Python – Guia Passo a Passo
  7. Construa Estação Meteorológica Raspberry Pi que Envia Dados Diários por Email
  8. Monitoramento Remoto do Tempo com Raspberry Pi 3 e PubNub
  9. Conectando Sensor Ultrassônico HC‑SR04 ao Raspberry Pi 3 – Guia Completo
  10. Integre TI SensorTag ao Blynk via Node‑RED no Raspberry Pi Zero