Sensores analógicos no Raspberry Pi usando um MCP3008
entradas, o que significa que é um pouco complicado usar muitos dos sensores disponíveis. Eu queria atualizar meu sistema de segurança de garagem com a capacidade de usar mais sensores, então decidi investigar uma maneira fácil e barata de fazer isso. O MCP3008 foi a resposta.
O MCP3008 é um conversor analógico-digital (ADC) de 10 bits e 8 canais. É barato, fácil de conectar e não requer nenhum componente adicional. Ele usa o protocolo de barramento SPI que é compatível com o cabeçalho GPIO do Pi.
Este artigo explica como usar um dispositivo MCP3008 para fornecer 8 entradas analógicas que você pode usar com uma variedade de sensores. No circuito de exemplo abaixo, uso meu MCP3008 para ler um sensor de temperatura e luz.
Aqui estão os bits que usei:
- Raspberry Pi
- MCP3008 ADC de 8 canais
- resistor dependente de luz (LDR)
- sensor de temperatura TMP36
- resistor de 10 Kohm
A primeira etapa é habilitar a interface SPI no Pi, que geralmente está desabilitada por padrão.
Siga meu artigo Habilitando a interface SPI no Raspberry Pi para configurar o SPI e instalar o invólucro SPI Python.
Circuito
A lista a seguir mostra como o MCP3008 pode ser conectado. Requer 4 pinos GPIO no Cabeçalho Pi P1.
VDD 3.3VVREF 3.3VAGND GROUNDCLK GPIO11 (P1-23) DOUT GPIO9 (P1-21) DIN GPIO10 (P1-19CS GPIO8 (P1-24) DGND GROUND
Os pinos CH0-CH7 são as 8 entradas analógicas.
Aqui está o meu circuito breadboard:
Ele usa CH0 para o sensor de luz e CH1 para o sensor de temperatura TMP36. As outras 6 entradas são sobressalentes.
Resistor dependente de luz
Eu escolhi um bom LDR robusto (NORPS-12, ficha técnica). Sob iluminação normal, sua resistência é de aproximadamente 10 Kohm, enquanto no escuro isso aumenta para mais de 2 Mohm.
Quando há muita luz, o LDR tem uma resistência baixa, resultando na queda da tensão de saída para 0V.
Quando está escuro, a resistência do LDR aumenta, resultando no aumento da tensão de saída para 3,3V.
Sensor de temperatura TMP36
O sensor de temperatura TMP36 é um dispositivo de 3 pinos (folha de dados). Você pode alimentá-lo com 3,3 V e o pino Vout do meio fornecerá uma tensão proporcional à temperatura.
Uma temperatura de 25 graus C resultará em uma saída de 0,750V. Cada grau resulta em 10mV de tensão de saída.
Portanto, 0 graus fornecerá 0,5 V e 100 graus fornecerá 1,5 V.
Lendo os dados usando um script Python
O ADC é de 10 bits, portanto, pode relatar um intervalo de números de 0 a 1023 (2 elevado a 10). Uma leitura de 0 significa que a entrada é 0 V e uma leitura de 1023 significa que a entrada é 3,3 V. Nossa faixa de 0-3,3 V equivaleria a uma faixa de temperatura de -50 a 280 graus C usando o TMP36.
Para mais detalhes:Sensores analógicos no Raspberry Pi usando um MCP3008
Processo de manufatura
- Registrador de temperatura Raspberry Pi
- Perfil de temperatura Raspberry Pi usando LabVIEW
- Meça temperaturas com um sensor DS18B20 de 1 fio e Raspberry Pi
- Ler a temperatura com DS18B20 | Raspberry Pi 2
- Monitoramento de temperatura no Raspberry Pi
- Medindo a temperatura com RASPBERRY PI
- Biblioteca Python do sensor de temperatura TMP006 usando Raspberry pi,
- Sensor de temperatura Python e Raspberry Pi
- Monitorando a temperatura com Raspberry Pi
- Monitoramento remoto do clima usando Raspberry Pi