Arduino UNO R4 - medir tensão

Neste guia, vamos aprender a medir tensões de 0V a 25V usando um sensor de tensão com um Arduino UNO R4. Vamos ver:

Arduino UNO R4 voltage sensor

Sobre o Sensor de Tensão

Um sensor de tensão é um circuito pronto chamado divisor de tensão, que usa resistores precisos para facilitar a medição de tensão. Ele tem dois resistores, de 30 KΩ e 7,5 KΩ. Com uma tensão de referência de 5V para o ADC, esse sensor consegue medir tensões entre 0 e 25V DC. Se a tensão de referência do ADC for 3,3V, ele consegue medir tensões de 0 a 16,5V DC.

Pinagem

Um sensor de tensão tem dois tipos de pinos:

  • Interface de entrada (conecte onde você precisa medir a tensão):
    • Pino VCC: é o pino positivo. Conecte onde a tensão for mais alta.
    • Pino GND: é o pino negativo. Conecte onde a tensão for mais baixa.
  • Interface de saída (conecte ao Arduino UNO R4):
    • Pino Vout (S): é o pino de sinal. Conecte a um pino analógico do Arduino UNO R4.
    • Pino NC (+): não conecte este pino; ele não é usado.
    • Pino G& (-): é o pino de terra. Conecte ao GND (0V) do Arduino UNO R4.
    Voltage Pinout
    image source: diyables.io

Diagrama de Ligação

The wiring diagram between Arduino UNO R4 voltage sensor

This image is created using Fritzing. Click to enlarge image

Código Arduino UNO R4

/* * Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com * Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-measure-voltage */ #define ANALOG_IN_PIN A0 #define REF_VOLTAGE 5.0 #define ADC_RESOLUTION 1024.0 #define R1 30000.0 // resistor values in voltage sensor (in ohms) #define R2 7500.0 // resistor values in voltage sensor (in ohms) void setup() { Serial.begin(9600); } void loop() { // read the analog input int adc_value = analogRead(ANALOG_IN_PIN); // determine voltage at adc input float voltage_adc = ((float)adc_value * REF_VOLTAGE) / ADC_RESOLUTION; // calculate voltage at the sensor input float voltage_in = voltage_adc * (R1 + R2) / R2; // print results to serial monitor to 2 decimal places Serial.print("Measured Voltage = "); Serial.println(voltage_in, 2); delay(500); }

Passos Rápidos

Siga estas instruções passo a passo:

  • Se esta é a primeira vez que você usa o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima no Arduino IDE.
  • Conecte o Arduino UNO R4 ao sensor de tensão.
  • Conecte a placa Arduino Uno R4 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Selecione a placa Arduino Uno R4 correta (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
  • Copie o código fornecido e abra-o no Arduino IDE.
  • Clique no botão Upload do Arduino IDE para enviar o código ao Arduino UNO R4.
  • Teste medindo 5V e 3,3V no Arduino UNO R4.
  • Confira os resultados no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
Measured Voltage = 4.96 Measured Voltage = 4.96 Measured Voltage = 4.96 Measured Voltage = 4.96 Measured Voltage = 3.39 Measured Voltage = 3.39 Measured Voltage = 3.39 Measured Voltage = 3.39
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

O resultado da medição pode estar errado ou muito diferente do valor real. Isso não é culpa do módulo do sensor de tensão. O problema pode ser que a tensão de referência padrão é de 5V, que pode ser instável e variar com a fonte de alimentação. Veja algumas formas de resolver esse problema:

  • Use uma fonte de alimentação que forneça a tensão correta para o Arduino UNO R4. Verifique com um voltímetro se o pino 5V do Arduino UNO R4 realmente fornece 5V.
  • Use uma referência de tensão externa de 3,3V. Lembre-se: assim, você só consegue medir tensões entre 0 e 16,5V DC.

Medindo Tensão com uma Referência de 3,3V

Para usar este método, primeiro prepare o hardware e o código. No hardware, conecte o pino AREF do Arduino UNO R4 ao 3,3V, como mostra o diagrama.

The wiring diagram between Arduino UNO R4 measures voltage

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.

Em seguida, use este código:

/* * Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com * Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-measure-voltage */ #define ANALOG_IN_PIN A0 #define REF_VOLTAGE 3.3 #define ADC_RESOLUTION 1024.0 #define R1 30000.0 // resistor values in voltage sensor (in ohms) #define R2 7500.0 // resistor values in voltage sensor (in ohms) void setup() { Serial.begin(9600); analogReference(EXTERNAL); } void loop() { // read the analog input int adc_value = analogRead(ANALOG_IN_PIN); // determine voltage at adc input float voltage_adc = ((float)adc_value * REF_VOLTAGE) / ADC_RESOLUTION; // calculate voltage at the sensor input float voltage_in = voltage_adc * (R1 + R2) / R2; // print results to serial monitor to 2 decimal places Serial.print("Measured Voltage = "); Serial.println(voltage_in, 2); delay(500); }

Vídeo

Referências de Funções

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!