Como Ler Valores Analógicos ADC Usando NodeMCU ESP8266 - IDE Arduíno |
Olá a Todos!
No post de hoje, faremos um guia rápido sobre leitura analógica no pino A0 do ESP8266, utilizaremos um potenciômetro para variar o range analógico 0 à 1023, e enviaremos esses dados para ser visualizado no Serial Monitor.
Converteremos o valor analógico com a função map(), e converteremos para um range de 0 a 255, para ser usado na saída D2, e controlaremos a intensidade do LED.
Esse tipo de circuito servirá para qualquer tipo de módulo; ESP8266, ESP32, Arduino, etc. já que o código é escrito na IDE Arduino, e só precisaremos mudar a pinagem do módulo que usaremos no código.
Você pode se interessar também!
- Unit DualMCU: A Poderosa Placa de Desenvolvimento com ESP32 e Raspberry Pi RP2040!
- Como Hackear Circuito Módulo Relé para funcionar com ESP8266 & ESP32 com 3.3V
- Como utilizar o Botão Flash do NodeMCU ESP8266
- Piscando LEDs Independentes sem delay() utilizando Função millis()
- Alarme de Segurança com Sensor PIR e ESP8266 - Sensor de Movimento
Resolução ADC ESP8266
A GPIO analógica do ESP8266 tem uma resolução de 10 bits, o que significa que você irá obter valores que variam entre 0 à 1023.
É importante saber também que a faixa de tensão de entrada do pino ADC do ESP8266 é de 0 à 1V, isso para os módulos puros, como os; ESP-07, ESP-12E, ESP-05, etc. como mostrado na Figura 2 Abaixo.
Fig. 2 - Módulos ESP-12E, ESP-07, ESP-05 |
No entanto, a maioria das placas de desenvolvimento ESP8266 como os NodeMCU, Wemos, D1 Mini, etc. veem com um divisor de tensão interno. Isso nos permite a utilização de sinais com a faixa de tensão de entrada de 0 à 3.3V, o que nos facilita a utilização do potenciômetro ligado a alimentação de 3.3V direto do Módulo ESP com mais praticidade.
O que precisaremos para montar esse circuito?
- Um potenciômetro de 5 ou 10K.
- Um NodeMCU ESP8266 ou mesmo um Wemos D1 Mini, ou qualquer outro módulo embarcado ESP8266 que você tiver.
- Uma Protoboard, “Para facilitar o manuseio”, se não tiver podes ligar direto.
- Fios para conexão, etc.
O que faremos?
Utilizaremos um potenciômetro para gerar uma tensão de 0 à 5V, simulando um sinal analógico, ligaremos na porta analógica A0 do NodeMCU, faremos a leitura dos valores analógicos provindos do potenciômetro, controlaremos o LED com valores de 0 à 255, e imprimiremos no Serial Monitor.
Para controlar a intensidade de luminosidade do LED, utilizaremos um potenciômetro de 5K ou 10K, conectado a porta A0 do módulo ESP8266.
Os materiais que utilizaremos!
Os componentes que utilizaremos são três: O hardware principal que é o NodeMCU ESP8266, um LED para podermos variar o seu brilho, e o Potenciômetro que utilizaremos para controlar o brilho do LED.
Fig. 3 - Como Ler Valores Analógicos no ESP8266 NodeMCU ADC IDE Arduíno |
Diagrama de Ligação!
Na Figura 4 abaixo, temos o diagrama esquemático do circuito que utilizaremos. As conexões são bastante simples, a ligação dos pinos do potenciômetro ao NodeMCU são feitas da seguinte forma:
- Pino Esquerdo - Fio Vermelho - Ligado ao Pino 3V3
- Pino Central - Fio Verde - Ligado a Porta Analógica A0
- Pino Direito - Fio Preto - Ligado ao GND
O LED é ligado diretamente na GPIO D2 do NodeMCU, não estou utilizando nenhum resistor em série com o LED, diferente do mostrado no diagrama da Figura 4 abaixo, pois não ha necessidade de se utilizar nenhum resistor para o LED branco.
Mas, é recomendado o uso do resistor de 100 ohms, se você for fazer uso contínuo do LED na GPIO, por períodos muito grandes, se não usar o resistor, o LED gradualmente “cerca de um ano” vai perdendo o seu brilho.
Na Figura 5 abaixo, temos a ligação real que fizemos, como podemos observar o resistor não foi utilizado, já que a saída da GPIO é de 3.3V máximo.
Fig. 5 - Controlando Brilho do LED com Potenciômetro Porta Analógicos no ESP8266 NodeMCU ADC IDE Arduíno |
Nenhum comentário:
Postar um comentário