O Arduino é um microcontrolador versátil capaz de medir a tensão usando seu conversor analógico-digital interno (ADC). Esse recurso é essencial para aplicações como monitorar os níveis de bateria, detectar sinais de entrada e medir saídas do sensor. Este tutorial o guiará através do processo de medição de tensão com um Arduino.
O que você precisará
- Conselho de Arduino (por exemplo, Uno, Mega, Nano)
- Divisor de tensão (se medir a tensão superior a 5V)
- Fios de pão e jumper
- Fonte de tensão para medir (por exemplo, bateria, sensor ou fonte de alimentação ajustável)
- Um computador com o Arduino IDE instalado
Etapa 1: Entendendo a medição de tensão no Arduino
O ADC do Arduino converte tensões analógicas (0V a 5V na maioria das placas) em um valor digital de 10 bits. Isso significa que o ADC fornece um valor entre 0 e 1023, onde 0 corresponde a 0V e 1023 corresponde a 5V (ou a tensão de referência).
Fórmula -chave
Para calcular a tensão de entrada:
Voltage = (ADC_Value / 1023.0) * Reference_Voltage
Observação: Para a maioria das placas do Arduino, a tensão de referência padrão é 5V. Se estiver usando a variante 3.3V, ajuste a fórmula de acordo.
Etapa 2: Medição de tensão direta
Para tensões até 5V, você pode conectar a fonte de tensão diretamente a um pino analógico.
Fiação
Componente | Pino Arduino |
---|---|
Fonte de tensão (+) | A0 |
Fonte de tensão (-) | Gnd |
Código de exemplo
#define analogPin A0
void setup() {
Serial.begin(9600);
}
void loop() {
int adcValue = analogRead(analogPin); // Read ADC value
float voltage = (adcValue / 1023.0) * 5.0; // Convert to voltage
Serial.print("Voltage: ");
Serial.print(voltage, 2); // Print voltage with 2 decimal places
Serial.println(" V");
delay(1000); // Update every second
}
Etapa 3: Medindo tensões mais altas com um divisor de tensão
Para medir tensões superiores a 5V, use um divisor de tensão Para diminuir a tensão de entrada.
Fórmula do divisor de tensão
O divisor de tensão escala a tensão de entrada usando dois resistores:
Vout = Vin * (R2 / (R1 + R2))
Por exemplo, para medir até 12v:
- R1 = 10k ohms
- R2 = 10k ohms
- Fator de escala = 0,5 (VOUT = VIN / 2)
Fiação
Componente | Conexão |
---|---|
Fonte de tensão (+) | Entrada de divisor de tensão R1 |
Junção de divisor de tensão R1/R2 | Arduino A0 |
Fonte de tensão (-) | Gnd |
Código de exemplo
#define analogPin A0
const float R1 = 10000.0; // Resistor R1 value in ohms
const float R2 = 10000.0; // Resistor R2 value in ohms
void setup() {
Serial.begin(9600);
}
void loop() {
int adcValue = analogRead(analogPin); // Read ADC value
float voltage = (adcValue / 1023.0) * 5.0; // Voltage at A0
// Scale up to actual input voltage
float inputVoltage = voltage * ((R1 + R2) / R2);
Serial.print("Input Voltage: ");
Serial.print(inputVoltage, 2); // Print with 2 decimal places
Serial.println(" V");
delay(1000); // Update every second
}
Etapa 4: Usando uma tensão de referência externa
Para medições mais precisas, você pode usar uma tensão de referência externa conectando -a ao pino AREF.
Etapas para definir referência externa
- Conecte uma tensão de referência estável (por exemplo, 3.3V) ao pino AREF.
- No código, defina a tensão de referência:
analogReference(EXTERNAL);
- Ajuste os cálculos no código para a nova tensão de referência.
Etapa 5: práticas recomendadas para medições precisas
- Evite ruído: Use fios curtos e aterramento adequado para reduzir o ruído elétrico.
- Calibre sua configuração: Verifique as leituras com um multímetro para garantir a precisão.
- Proteja o Arduino: Use resistores ou diodos para proteger o pino de entrada analógico da sobretensão.
- Filtrar sinais barulhentos: Adicione um capacitor na entrada para suavizar as flutuações de tensão.
Aplicações da medição de tensão
- Monitorando os níveis de bateria
- Sentindo sinais analógicos de sensores
- Medição de tensões da fonte de alimentação
- Projetos de multímetro DIY
Solução de problemas
-
Leituras incorretas:
- Verifique a fiação e garanta os valores corretos do resistor para o divisor de tensão.
- Verifique a tensão de referência nos cálculos.
-
Valores flutuantes:
- Adicione um capacitor (10µF ou 100 µF) na entrada.
-
Proteção de sobretensão:
- Verifique se a tensão de entrada não excede os limites calculados do divisor de tensão.
Conclusão
A tensão de medição com um Arduino é direta e altamente útil para muitos projetos eletrônicos. Esteja você monitorando os níveis de bateria ou a interface com os sensores, a compreensão da medição de tensão abre uma ampla gama de possibilidades. Experimente diferentes configurações e integra a medição de tensão em seus projetos!