entrada-POST

¡Bienvenido a una nueva entrada del curso de programación con Arduino!

En esta entrada vamos a utilizar nuestra placa Arduino y un par de cables para crear un voltímetro. Es fácil, muy rápido de hacer, y aunque tenga ciertas limitaciones con respecto a los voltímetros convencionales, es útil.

Lista de materiales

  • ZUM BT-328, placa Arduino o compatible.
  • Dos trozos de cable de unos 15 centímetros o cables jumper

Conexiones Eléctricas

En este caso conectaremos el cable de color negro al pin GND de Arduino y el otro cable a una entrada analógica, en nuestro caso A0. En la imagen podéis ver las conexiones:

Conexión voltimetro bq zum

Limitaciones

Podemos leer solo valores positivos de tensión entre 0 y 5 Voltios.

El código

Como siempre, comenzamos declarando las variables globales del programa:

En este caso, solo hay un cable conectado a la entrada analógica A0, que utilizaremos a modo de sonda, es decir, será con este cable con el que mediremos la tensión. Además, creamos la variable escala, que podremos modificar para obtener la lectura en voltios, si igualamos la variable a 100 o en milivoltios, si la igualamos a 0.1, más adelante veremos por qué hay que aplicar estos valores.

Después, en la función setup, inicializamos el programa:

En este caso, iniciamos la comunicación serie a 19200 bauds/segundo ya que es la velocidad de comunicación del módulo bluetooth incluido en las placas ZUM BT-328, ya que utilizamos este mismo ejemplo para crear un voltímetro con Protocoder. También marcamos como entrada, INPUT, el pin donde hemos conectado el cable que actuará como sonda.

A continuación, en la función loop:

En primer lugar creamos la variable lectura, y almacenamos el valor leído del pinSonda por la función analogRead y utilizamos la función map para transformar el valor de la lectura analógica, de 0 a 1023, hasta 0 a 500.

Después creamos la variable de tipo float voltaje donde aplicaremos el factor de escala. Si dividimos entre 100 obtendremos el valor de 0 a 5 voltios, pero si dividimos entre 0.1 aumentaremos la escala y obtendremos el valor en milivoltios. Dependiendo de el tipo de medida que queramos realizar puede interesarnos utilizar una escala u otra.

Por último, aplicamos un pequeño delay de 0.5 segundos, para facilitar la lectura de los datos en pantalla.

Como ejercicio puedes modificar el programa para mostrar el voltaje medio medido durante un periodo de tiempo determinado.

¡Hasta la próxima!

11 comentarios

  1. Quisiera construir con un arruinó un control del cloro de una piscina con una sonda de cloro y una salida digital para una bomba dosificadora saludos y gracias

    1. Luis Díaz

      Hola,

      Necesitarías un sensor capaz de medir 110V con Arduino.

      Un saludo.

  2. Hola Luis. ¿Por qué no utilizas un divisor de tensión con, por ejemplo, 5 resistencias de 10K, y así poder medir voltajes de hasta 24V? Le daría más versatilidad. Es mi pequeña sugerencia.
    Gracias y saludos.

    1. Luis Díaz

      Hola Suso,

      Gracias por tu comentario. No se ha utilizado para minimizar los componentes que hay que utilizar y mantener el proyecto lo más sencillo posible.

      Un saludo.

  3. hola si me pudieras ayudar a colocarles unos 5 o 3 leds para que por medio de los led me muestre la intensidad del voltaje, seria de mucha ayuda y mostrarlo un poco mas físico sin necesidad de la pc, gracias :)

    1. Pablo Lozano

      Hola Cristian,

      Podrías conectar 5 LED a 5 salidas distintas y en función del valor del voltaje obtenido, que se fueran encendiendo desde 0, cuando el voltaje es mínimo, hasta los 5 LED cuando el voltaje sea próximo a 5V.
      También podrías, mediante la función analogwrite variar la frecuencia de encendido del LED, y por tanto variar su intensidad lumínica en función de voltaje obtenido.

      Espero haber sido de ayuda, vuelve a preguntarnos si tienes dudas.

      Un saludo.

  4. Buenas
    quiero medir milivoltios y miliamperes de distintas fuentes si puedes hacer el favor
    gracias

    1. Enrique Heredia

      Hola,
      En el post se explica como se pueden medir milivoltios, pero como se dice, es un voltímetro limitado. Si quieres medir ya con mayor precisión necesitas un multímetro.
      Un saludo

  5. hola luis, quisiera preguntarte porque cambiaste el valor de lectura analogico de 0 hasta 500.

    1. Enrique Heredia

      Hola Andrés,
      El valor que nosotros vemos desde la placa abarca desde 0 a 1023, pero en realidad se corresponde con valores de tensión que van desde 0 a 5 voltios. En este caso nos interesan los valores de tensión, que es lo que medimos con un voltimetro, y es por eso que mapeamos en ese rango.
      Un saludo

Los comentarios están cerrados.