Descripción de la imagen

Voltimetro con Arduino

Descripción

El proyecto implica la creación de un voltímetro con Arduino y un display LCD I2C 16x2. Utilizando un divisor de voltaje, el sistema es capaz de medir voltajes de hasta 25V y mostrar la lectura con precisión en el display LCD. Esta solución ofrece una forma segura y efectiva de monitorear voltajes en un rango amplio utilizando componentes comunes y accesibles.

Materiales necesarios:

Instrucciones:

  1. Conectar el circuito divisor de tensión para las dos resistencias 1k y 250. Conectar a A0 donde esta la division entre las dos resistencias.
  2. Conectar la pantalla LCD al Arduino utilizando el protocolo I2C.
  3. Programar el Arduino para leer el voltaje DC.
  4. Establecer la dirección I2C de la pantalla en el código.
  5. Conectar la fuente de alimentación variable al circuito divisor de tensión.
  6. Visualizar el valor de voltaje en la pantalla LCD y varie el voltaje de la fuente.

Esquema de conexión

Código de Ejemplo (para Arduino IDE):

Copied

/*
  Creado: Luis  Alvarez (edualv1723@gmail.com)
  https://alvelectronics.com
*/

  #include <Wire.h>
  #include <LiquidCrystal_I2C.h>
  
  // Dirección del display LCD I2C
  #define I2C_ADDR 0x27
  
  // Definición del número de columnas y filas del LCD
  #define LCD_COLS 16
  #define LCD_ROWS 2
  
  // Inicialización del objeto LCD
  LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLS, LCD_ROWS);
  
  // Define la entrada analógica
  const int analogPin = A0;
  
  void setup() {
    // Inicializa el display LCD
    lcd.init();
    
    // Muestra un mensaje inicial en el display
    lcd.backlight();
    lcd.setCursor(0, 0);
    lcd.print("Voltaje:");
  }
  
  void loop() {
    // Lee el valor analógico (0-1023)
    int analogValue = analogRead(analogPin);
  
    // Convierte el valor analógico a voltaje (0-25V)
    float voltage = analogValue * (25.0 / 1023.0);
  
    // Muestra el voltaje en el display con la unidad "V"
    lcd.setCursor(0, 1);
    lcd.print("            "); // Borra el voltaje anterior
    lcd.setCursor(0, 1);
    lcd.print(voltage, 2); // Muestra el voltaje con 2 decimales
    lcd.print(" V"); // Unidad de voltaje
  
    delay(500);
  }
  
      
Whatsapp