FAVORITAR
Faça login para como favoritoFechar

Franzininho WiFi: Leitura de entradas analógicas com Arduino

O conversor analógico para digital (ADC) é um periférico usado para converter um sinal externo analógico em um formato digital, que pode ser lido e interpretado pelo microcontrolador. O processo de aquisição desse sinal envolve técnicas de amostragem e aproximações sucessivas, resultando em um valor binário quantizado na saída do conversor.

A Franzininho WiFi possui 17 canais ADC conectados a 2 ADCs integrados que podem ser configurados para a resolução e atenuação desejadas para realizar a leitura de cada canal. O conversor AD é um periférico amplamente utilizado em projetos que precisam ler sinais analógicos, como leitura de pressão, luz, vibração, força e outros.

Nesse artigo veremos como fazer leitura de entradas analógicas na Franzininho WiFi com as funções Arduino.

API Analog do Arduino

Nesta sessão apresentaremos as funções usadas para configurar o ADC e adquirir as leituras analógicas. 

Embarcados Experience 2024: Evento Presencial

Participe do Embarcados Experience 2024 em São Paulo. Conhecimento técnico, palestras, workshops e oportunidade de networking com profissionais experientes.

Inscreva-se agora

analogRead

Função utilizada para capturar as leituras analógicas dada pelo pino selecionado

  • pin :  pino selecionado

Retorna os valores analógicos  

analogReadMilivolts

Função utilizada para captura as leituras analogicas e transformar em milivolts 

  • pin : seleciona o pino físico 

Retorna os valores de tensão em mV (0 – 3300)  

analogResolution

Configura a resolução das analógicas. Por padrão a resolução utilizada é 12 bits (0 – 4096). O intervalo de bits é entre 9 a 12 bits, lembrando quanto menor a resolução, menor será a precisão das leituras analógicas

  • bits : define  o pino físico

analogSetAttenuation

Configura a atenuação para todo o canal ADC. Para cada valor de atenuação há uma faixa específica de tensão de entrada.

  • attenuation : seleciona o valor da atenuação
Atenuação Faixa de tensão
ADC_ATTEN_DB_00 mV ~ 750 mV
ADC_ATTEN_DB_2_50 mV ~ 1050 mV
ADC_ATTEN_DB_60 mV ~ 1300 mV
ADC_ATTEN_DB_110 mV ~ 2500 mV

analogSetPinAttenuation

Configura a atenuação para um canal em específico. 

  • pin : seleciona o pino específico para receber as configurações 
  • attenuation : seleciona o valor da atenuação

Materiais necessários

Os materiais utilizados nesse artigo foram:

  • Placa Franzininho WiFi
  • Protoboard
  • Potenciômetro 10 K Ω 
  • Resistor 150 Ω 
  • LED 
  • Jumpers
  • Arduino IDE 

Circuito exemplo para leitura de entradas analógicas com a Franzininho WiFi

Na imagem abaixo apresentamos o circuito proposto neste artigo. Vamos utilizar um potenciômetro conectado ao pino GPIO 4 e um LED na GPIO 2.

entradas analógicas Franzininho WiFi

Código

No projeto proposto utilizamos o potenciômetro para interagir com o LED, para isso foram feitas leituras analógicas em loop e à medida que rotaciona o eixo do potenciômetro os valores ADC mudam linearmente. Quando o valor ADC ultrapassar o limiar o LED é acionado ou caso contrário desliga.  

Simule esse projeto no Wokwi: https://wokwi.com/projects/362363400146330625

Explicação do Código

Nessa sessão explicaremos cada trecho do código. 

Mapeamento dos pinos que serão utilizados e o valor limiar para acionar o LED:

No void setup() , configura o LED como saída digital e a resolução do canal ADC para uma resolução de 12 bits (0 – 4095):

No void loop() , define a lógica de acionamento do LED dado o valor da leitura ADC.

Conclusão

Neste artigo, foi abordado o conversor A/D da Franzininho WiFi e a como podemos ler valores analógicos através dele, após a conversão em valores digitais. O projeto proposto é uma aplicação simples para exemplificar como controlar uma saída com base nas leituras de uma entrada. Além disso, foram apresentadas as funções de configuração para ajustar os canais individualmente ou em conjunto, conforme a necessidade de cada projeto.

Para assegurar a compreensão do tema, recomendamos fortemente que faça a leitura de outros sensores analógicos usando o ADC.

Compre sua Franzininho WiFi (com frete gratis) clicando neste link.

Saiba mais

Franzininho WiFi – Entrada Analógica ESP-IDF

Franzininho WiFi: Pinos de Toque Capacitivo com CircuitPython

Outros artigos da série

<< Franzininho WiFi: Explorando as GPIOs com ArduinoFranzininho WiFi: PWM (Pulse Width Modulation) com Arduino >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
0 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Home » Arduino » Franzininho WiFi: Leitura de entradas analógicas com Arduino

EM DESTAQUE

WEBINARS

LEIA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste:


Seminário de
Sistemas Embarcados e IoT 2024
 
Data: 25/06 | Local: Hotel Holiday Inn Anhembi, São Paulo-SP
 
GARANTA SEU INGRESSO

 
close-link