Projeto
Voltímetro usando Arduino
Este é um projeto simples que pode medir tensões contínuas (DC) dentro de
uma faixa segura, geralmente até 5V diretamente, ou tensões maiores com
o uso de divisores de tensão.
Componentes Necessários
1. Arduino Uno ou equivalente.
2. Resistores:
o 10 kΩ (1 unidade).
o 100 kΩ (1 unidade).
3. Display LCD 16x2 (opcional, para exibir os valores).
4. Potenciômetro de 10 kΩ (opcional, se usar o display LCD).
5. Protoboard e jumpers.
6. Cabo USB para programação.
7. Fonte de alimentação (se necessário).
8. Multímetro (para calibração, opcional).
Funcionamento
O Arduino mede a tensão de entrada no pino analógico usando o conversor
ADC (Analog-to-Digital Converter) de 10 bits, que converte uma tensão
entre 0V e 5V em um valor digital entre 0 e 1023. Para tensões maiores, um
divisor de tensão reduz a tensão para dentro dessa faixa.
Esquema de Ligação
1. Divisor de tensão (para medir até 50V):
o Conecte o resistor de 100 kΩ entre o terminal positivo da
tensão a ser medida e o pino A0 do Arduino.
o Conecte o resistor de 10 kΩ entre o pino A0 e o GND do
Arduino.
o O ponto entre os resistores é conectado ao pino A0.
2. Conecte o GND do Arduino ao GND do circuito medido.
3. (Opcional) Conecte o display LCD ao Arduino conforme a biblioteca
LiquidCrystal.
Código Arduino
// Inclua a biblioteca para o LCD (opcional)
#include <LiquidCrystal.h>
// Configuração do LCD (opcional)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Pinos do Arduino para o LCD
// Pino analógico
const int analogPin = A0;
// Fator do divisor de tensão
const float resistor1 = 100000.0; // Resistor de 100 kΩ
const float resistor2 = 10000.0; // Resistor de 10 kΩ
const float voltageDividerFactor = (resistor1 + resistor2) / resistor2;
// Tensão de referência do Arduino
const float referenceVoltage = 5.0;
void setup() {
Serial.begin(9600);
// Configuração do LCD (opcional)
lcd.begin(16, 2);
lcd.print("Voltage:");
}
void loop() {
// Leitura do pino analógico
int sensorValue = analogRead(analogPin);
// Converte o valor analógico em tensão
float voltage = sensorValue * (referenceVoltage / 1023.0);
// Ajusta pela relação do divisor de tensão
voltage *= voltageDividerFactor;
// Exibe no Serial Monitor
Serial.print("Voltage: ");
Serial.print(voltage);
Serial.println(" V");
// Exibe no LCD (opcional)
lcd.setCursor(0, 1);
lcd.print(voltage);
lcd.print(" V ");
// Aguarda antes de repetir
delay(1000);
}
Faixa de Medição
Com o divisor de tensão de 100 kΩ e 10 kΩ, o voltímetro pode medir
até 50V (5V × 10).
Para medir tensões maiores, ajuste os valores dos resistores no
divisor de tensão.
Considerações
1. Calibração: Use um multímetro para comparar as leituras e ajustar o
código se necessário.
2. Precisão: A precisão depende da estabilidade da tensão de
referência e da qualidade dos resistores. Use resistores de tolerância
de 1% ou menor.
3. Segurança: Certifique-se de que o circuito está corretamente isolado
para evitar danos ao Arduino ao medir altas tensões.