Conversor de analógico para digital MCP3008 para ESP8266

Tecnologia

O Microchip MCP3008 ADC é um conversor de analógico para digital (A / D) de 10 bits com amostra integrada e circuito de retenção.

A comunicação com o dispositivo é realizada usando uma interface serial simples compatível com o protocolo SPI. O MCP3008 opera em uma ampla faixa de tensão (2,7V - 5,5V), e o design de baixa corrente permite a operação com correntes de espera típicas de apenas 5 nA e correntes ativas típicas de 320 A.

Aqui está a pinagem do MCP3008:



Recursos

Interface SPI de 10 bits ADC de
8 bits Taxa de amostragem: 200kSPS Tensão de alimentação 2.7V a 5.5V Corrente de alimentação: 425A Tempo de conversão de DIP de 16 pinos : 10s

No mundo do Arduino, lembre-se de que você tem 6 entradas analógicas, mas se você usar dispositivos I2C, eles poderão cuidar de duas delas. Portanto, o uso desse chip pode adicionar outras 8 entradas analógicas, que podem ser úteis para determinados projetos.

Esquemas

Esquema bastante básico, observe os pinos 9 e 14 interligados e conectados ao terra e eu conectei o VREF (15) ao 3.3v, que é o pino 16. O exemplo abaixo mostra um pote conectado ao CH0


Código

#include <MCP3008.h>
 
//define pin connections
#define CS_PIN D8
#define CLOCK_PIN D5
#define MOSI_PIN D7
#define MISO_PIN D6
 
MCP3008 adc(CLOCK_PIN, MOSI_PIN, MISO_PIN, CS_PIN);
 
void setup() 
{
 // open serial port
 Serial.begin(9600); 
}
 
void loop() 
{
 
 int val = adc.readADC(0); // read Channel 0 from MCP3008 ADC (pin 1)
 Serial.println(val);
 delay(1000); 
}

Com base no exemplo da biblioteca em https://github.com/nodesign/MCP3008. Conecte o pino 1 do MCP3008 a 0v e observe o resultado no monitor serial, faça o mesmo em 3.3v.

Você também pode conectar um potenciômetro ou um ldr ou outra coisa que possa variar a leitura de entrada.

Fonte

http://www.esp8266learning.com/wemos-mcp3008-example.php

Mais Dicas

[+] Veja todas
© 2012-2021 suadica.com