Voltímetro digital simples Arduino

Tempo de leitura: 4 minutes

Com um conhecimento simples do Arduino e do circuito divisor de tensão, podemos transformar o Arduino em voltímetro digital e podemos medir a tensão de entrada usando o Arduino e um display LCD de 16×2.

O Arduino possui vários pinos de entrada analógica que se conectam a um conversor Analógico-Digital (ADC) dentro do Arduino. O Arduino ADC é um conversor de dez bits, significa que o valor da saída varia de 0 a 1023. Obteremos esse valor usando o analogRead()  Se você conhece a tensão de referência, pode calcular facilmente a tensão presente na entrada analógica. Podemos usar o circuito divisor de tensão para calcular a tensão de entrada.
A tensão medida é exibida no Tela de cristal líquido de 16×2 (LCD). Também exibimos a voltagem no Serial Monitor do Arduino IDE e confirmamos a voltagem medida usando o multímetro.

Hardware necessário:

  • Arduino uno
  • 16×2 LCD (Visor de cristal líquido)
  • Resistor de 100 k ohm
  • Resistor de 10 k ohm
  • Potenciômetro de 10 k ohm
  • Protoboard
  • Fios de ligação em ponte

Circuito divisor de tensão:

Antes de entrar neste circuito do Voltímetro do Arduino, vamos discutir sobre o Circuito divisor de tensão.
O divisor de tensão é um circuito resistivo e é mostrado na figura. Nesta rede resistiva, temos dois resistores. Como mostrado na figura, R1 e R2 são de 10k e 100k ohm. O ponto médio do ramo é medido como uma entrada anológica para o Arduino. A queda de tensão em R2 é chamada Vout, que é a tensão dividida do nosso circuito.
voltage divider circuit
Fórmulas:

Usando o valor conhecido (dois valores do resistor R1, R2 e a tensão de entrada), podemos substituir na equação abaixo para calcular a tensão de saída.

Vout = Vin (R2/R1+R2)

Esta equação afirma que a tensão de saída é diretamente proporcional à proporção de tensão de entrada e a razão de R1 e R2.
Ao aplicar esta equação no código do Arduino, a tensão de entrada pode ser facilmente derivada. O Arduino pode medir apenas a tensão de entrada CC de + 55v. Em outras palavras, ao medir 55V, o pino analógico do Arduino estará na sua tensão máxima de 5V, portanto é seguro medir dentro deste limite. Aqui, o valor dos resistores R2 e R1 é definido como 100000 e 10000, ou seja, na proporção de 100: 10.

Diagrama de circuito e conexões:

A conexão para este Arduino Voltímetro digital é simples e é mostrada no diagrama de circuito abaixo:
Simple Arduino Digital Voltmeter Circuit
Os pinos DB4, DB5, DB6, DB7, RS e EN do LCD são conectados diretamente ao pino D4, D5, D6, D7, D8, D9 do Arduino Uno
O ponto central dos dois resistores R1 e R2, que formam o circuito divisor de tensão, é conectado ao pino A0 do Arduino. Enquanto as outras 2 extremidades estiverem conectadas ao volt de entrada (voltagem a ser medida) e gnd.

Explicação de codificação:

O código completo do Arduino para medir a tensão DC  é fornecido na parte do código abaixo. O código é simples e pode ser facilmente entendido.
A parte principal do código é converter e mapear a tensão de entrada fornecida na tensão de saída exibida com a ajuda da equação fornecida acima Vout = Vin (R2/R1+R2). Como mencionado anteriormente, o valor da saída do Arduino ADC varia de 0 a 1023 e a tensão máxima de saída do Arduino é de 5v, portanto, precisamos multiplicar a entrada analógica de A0 a 5/1024 para obter a tensão real.
void loop()
{
    int analogvalue = analogRead(A0);
    temp = (analogvalue * 5.0) / 1024.0;       //FÓRMULA USADA PARA CONVERTER A TENSÃO
    input_volt = temp / (r2/(r1+r2));

Aqui, exibimos o valor da tensão medida no LCD e no monitor serial do Arduino. Portanto, aqui no código Serial.println & nbsp; é usado para imprimir os valores no monitor Serial e lcd.print  é usado para imprimir os valores no LCD 16×2.
    Serial.print("v= ");                 //imprime o valor da voltagem no monitor serial
    Serial.println(input_volt);
    lcd.setCursor(0, 1);
    lcd.print("Voltage= ");               //imprime o valor da voltagem no visor LCD
    lcd.print(input_voltage);
É assim que podemos calcular facilmente a tensão DC usando o Arduino.
Código:
// Biblioteca do módulo I2C
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

float input_volt = 0.0;
float temp=0.0;
float r1=100000.0;     //valor r1
float r2=10000.0;      //valor r2

void setup()
{
   Serial.begin(9600);     //  abre porta serial, define a taxa de dados para 9600 bps
   lcd.begin(16, 2);       //  configurar o número de colunas e linhas do LCD
   lcd.print("DC DIGI VOLTMETER");
}

void loop()
{
    int analogvalue = analogRead(A0);
    temp = (analogvalue * 5.0)/1024.0;       // FÓRMULA USADA PARA CONVERTER A TENSÃO
    input_volt = temp / (r2/(r1+r2));
    if (input_volt < 0.1)
    {
      input_volt=0.0;
    }
    Serial.print("v= ");                 //imprime o valor da voltagem no monitor serial
    Serial.println(input_volt);
    lcd.setCursor(0, 1);
    lcd.print("Voltage= ");               //imprime o valor da voltagem no visor LCD
    lcd.print(input_voltage);
    delay(300);
}

 

Visits: 3 Visits: 1191533