Como fazer um voltímetro digital usando Arduino
por Harshita Arora
Último domingo, enquanto eu estava explicando os conceitos básicos de eletrônica e Arduino para o meu companheiro de quarto, ela desafiou-me a entender como um voltímetro de obras e construir um a partir do zero, usando apenas as coisas que eu próprio já. Aceitei o desafio, comecei a hackear, codificar, testar, codificar e testar novamente e, finalmente, tive meu voltímetro pronto e trabalhando na hora do jantar!
eu usei Arduino Uno (para coletar tensão em analógico e para alimentar o LCD), uma pequena tela LCD que eu tenho no meu Arduino starter kit (para exibir a tensão), uma placa de ensaio (para conectar tudo), e Fios de ligação em Ponte.
se você está procurando um projeto fácil de aprender eletrônica, então fazer um voltímetro digital será divertido. Vamos começar!
o circuito elétrico
Passo 1
pegue uma tábua de pão (usei uma pequena com 30 linhas) e conecte uma tela LCD a ela. Em seguida, usando um fio, conecte um fio do pino GND (estado fundamental) no Arduino à carga negativa na tábua de pão e um fio do pino 5V à carga positiva. Isso fornece corrente elétrica para as colunas na tábua de pão, que agora podemos conectar ao LCD.
Passo 2
agora vamos conectar os pinos no LCD para a tábua de pão para que possamos obter corrente para ele. Ligue o Pino 1 do LCD para uma carga negativa, o Pino 2 para uma carga positiva, o Pino 3 para uma carga negativa, o Pino 5 para uma carga negativa, o Pino 15 para uma carga positiva, e o Pino 16 para uma carga negativa. Conecte seu Arduino para testar e ver se o LCD liga!
Passo 3
vamos conectar o LCD ao Arduino para que possamos exibir a tensão (que coletaremos de um pino analógico) no LCD. Conecte os pinos 4, 6, 11, 12, 13, e 14 do LCD para qualquer pino digital no Arduino (por exemplo, Pino 2). Em seguida, coloque um fio no GND e outro em um pino analógico, como A5. Os dois fios são agora seus cabos de sonda.
agora terminamos com a eletrônica / hardware. Vamos passar para o código.
o código
o código é bastante simples. Nós só queremos coletar o sinal analógico que o Arduino recebe no pino A5 (ou qualquer outro pino analógico) e convertê-lo em digital. Em seguida, queremos exibir os resultados na tela LCD.
este é o código que você pode copiar e colar.
#include <LiquidCrystal.h> int Vpin=A5;float voltage;float volts;LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {Serial.begin(9600);lcd.begin(16,2);}
void loop() {
voltage = analogRead(Vpin); volts = voltage/1023*5.0; Serial.println(volts);lcd.print("voltage = ");lcd.print(volts);delay(200);lcd.clear();}
o que se passa aqui?
portanto, primeiro importamos a biblioteca LCD e, em seguida, criamos uma variável chamada Vpin (que será a tensão coletada de A5). Em seguida, criamos mais duas variáveis para a tensão e, em seguida, uma variável do tipo LiquidCrystal. Finalmente, fazemos a configuração com o Monitor Serial (que é uma ferramenta realmente útil no Arduino! Como debug console), converta a tensão analógica em tensão digital e imprima (exibir) esse valor na tela LCD.
e é isso! Vá e teste várias baterias e pontos! Aqui estão fotos de alguns testes que fiz:
além disso, se você quiser tornar a leitura no LCD mais legível, coloque um resistor de 1k ohm no caminho para o pino 3 (que é para ajustes de contraste). Ao limitar a corrente elétrica fluindo para esse pino, você melhorará o contraste da tela.
também Nota importante: Neste voltímetro, qualquer tensão que você testar irá como uma entrada direta para o Arduino, então você só deve testar coisas que estão na faixa de volts que o Arduino pode manipular com segurança (0–5V). Testar com uma bateria de 9V fritará seu Arduino.
graças a este tutorial em vídeo para me ajudar a descobrir o circuito elétrico. Agradecimentos especiais aos meus amigos Nick Arner e Johnny Wang por me ajudar a consertar coisas. E obrigado a Laura Deming pelo desafio! 🙂
mais artigos e tutoriais sobre eletrônica / hardware e interfaces cérebro-computador a caminho! : D
se você tem feedback para compartilhar, sinta-se livre para me enviar e-mail em [email protected]. estou ansioso para ouvir de você!