Arduino - medir voltaje

En este tutorial, exploraremos cómo usar un Arduino para medir voltaje de 0 V a 25 V utilizando un sensor de voltaje. En detalle, cubriremos:

sensor de voltaje para Arduino

Hardware Requerido

1×Arduino Uno R3
1×Cable USB 2.0 tipo A/B (para PC USB-A)
1×Cable USB 2.0 tipo C/B (para PC USB-C)
1×Voltage Sensor
1×Cables Puente
1×(Recomendado) Shield de Bloque de Terminales de Tornillo para Arduino Uno
1×(Recomendado) Shield de Protoboard para Arduino Uno
1×(Recomendado) Carcasa para Arduino Uno
1×(Recomendado) Placa Base de Prototipado y Kit de Protoboard para Arduino Uno

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del sensor de voltaje

Un sensor de voltaje es un circuito divisor de voltaje preensamblado que emplea resistencias de precisión para una medición de voltaje simplificada. Consta de dos resistencias: 30 kΩ y 7,5 kΩ. Con una tensión de referencia de 5 V para el ADC, el sensor puede medir voltajes que van de 0 a 25 V DC. Cuando la tensión de referencia del ADC es de 3,3 V, el sensor puede medir voltajes desde 0 a 16,5 V DC.

Diagrama de pines

Un sensor de voltaje tiene dos juegos de pines:

  • Interfaz de entrada (conectada a los puntos donde quieres medir voltaje):
    • Pin VCC: Este es el pin positivo. Conéctalo al punto con mayor voltaje.
    • Pin GND: Este es el pin negativo. Conéctalo al punto con menor voltaje.
  • Interfaz de salida (conectada al Arduino):
    • Pin Vout (S): Este es el pin de señal. Conéctalo a un pin analógico del Arduino.
    • Pin NC (+): Este no se usa. Déjalo sin conexión.
    • Pin GND (-): Este es el pin de tierra. Conéctalo a GND (0V) en el Arduino.
    Pinout de voltaje
    image source: diyables.io

Diagrama de Cableado

Diagrama de cableado del sensor de voltaje de Arduino

This image is created using Fritzing. Click to enlarge image

Código de Arduino

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-measure-voltage */ // define analog input #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); }

Pasos R\u00e1pidos

  • Conectar Arduino al sensor de voltaje
  • Conectar Arduino a la PC mediante un cable USB
  • Abrir Arduino IDE, seleccionar la placa y el puerto correctos
  • Copiar el código anterior y abrirlo con Arduino IDE
  • Haz clic en el botón Subir en Arduino IDE para cargar el código en Arduino
  • Realizar pruebas midiendo 5V y 3,3V en Arduino
  • Ver el resultado en el Monitor serie
COM6
Send
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
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Puede que notes que el resultado de la medición es incorrecto o significativamente diferente del valor real. No culpes al módulo de sensor de voltaje por esto. El valor medido puede presentar deriva debido a que la referencia de voltaje predeterminada es de 5 V, lo cual puede ser inestable y depender del suministro de energía. A continuación se presentan algunas soluciones a este problema:

  • Utiliza una fuente de alimentación que suministre un voltaje suficiente para el Arduino. Puedes verificar esto usando un voltímetro para comprobar si el pin de 5 V del Arduino entrega 5 V.
  • Utiliza una referencia de voltaje externa de 3,3 V. Sin embargo, con este método solo puedes medir voltajes desde 0 hasta 16,5 V DC.

Medición de voltaje con una referencia de 3.3 V

Para usar este método, es necesario configurar tanto el hardware como el código. Para el hardware, conecta el pin AREF del Arduino a 3.3V como se muestra en el diagrama a continuación.

Arduino mide voltaje. Diagrama de cableado.

This image is created using Fritzing. Click to enlarge image

Luego, utilice el siguiente código:

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-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); }

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

Referencias de Funciones

Tutoriales Relacionados

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!