Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Construye un voltímetro DIY con Arduino y pantalla Nokia 5110 – Guía paso a paso

Componentes y materiales

Componente Cantidad
Arduino UNO 1
Sensor de voltaje (genérico) 1
Pantalla LCD Nokia 5110 1
Protoboard pequeña 1
Cables de conexión 1

El coste del proyecto es muy bajo, unos 10$.

Aplicaciones y servicios en línea

Sobre el proyecto

En este tutorial voy a mostrar cómo construir un voltímetro con una gran pantalla LCD Nokia 5110 usando Arduino.

Construir un voltímetro es una gran experiencia de aprendizaje. Al terminar, entenderás mejor cómo funcionan los voltímetros, refrescarás la ley de Ohm y verás en acción lo potente que puede ser la plataforma Arduino. Con este proyecto como base, podrás construir fácilmente proyectos más complejos en el futuro.

Puedes usar este proyecto para medir voltaje DC en varios circuitos electrónicos o monitorizar el estado de la batería de tus proyectos Arduino fácilmente. Además, con los conocimientos adquiridos podrás construir tu propio sensor de voltaje para crear un voltímetro personalizado.

Paso 1: Conseguir todas las piezas

Paso 2: El módulo sensor de voltaje

Este sensor es muy simple y puede medir voltaje DC de 0-25V. ¡Solo consiste en dos resistencias! Puedes construirlo tú mismo fácilmente o comprar el módulo por menos de un dólar. Es un divisor de tensión: un circuito que toma un voltaje alto y lo convierte en uno más bajo usando dos resistencias. La fórmula se basa en la ley de Ohm.

En este módulo, R1 = 30.000 Ω, R2 = 7.500 Ω. Si aplicamos 25V en la entrada, obtenemos 5V en la salida, que es el máximo que admite un pin analógico de Arduino. Si superamos 25V, quemaremos el pin analógico. La resolución con el ADC de 10 bits de Arduino Uno es de 25mV.

Paso 3: LCD Nokia 5110

El Nokia 5110 es mi pantalla favorita para proyectos Arduino. Es una pantalla gráfica LCD básica originalmente para móviles. Usa el controlador PCD8544, de muy bajo consumo: solo 0.4mA encendida sin retroiluminación, y <0.06mA en modo sleep. Se comunica por bus serie, necesitando solo 8 cables. Usa la librería de Henning Karlsen: https://www.rinkydinkelectronics.com/library.php?id=47

Paso 4: Construyendo el voltímetro

Conectando el sensor de voltaje

Conectando la pantalla Nokia 5110

Paso 5: El código del proyecto

El código consta de 2 archivos: ui.c (gráficos) y VoltMeter.ino (programa principal).

La función clave es:

float readVoltage() {
  sensorValue = analogRead(sensorPin);
  vout = (sensorValue * 5.0) / 1024.0;
  vin = vout / (R2/(R1+R2));
  return vin;
}

Este método lee el sensor y lo convierte a voltaje de 0-25V. Si usas tu propio sensor, cambia los valores de R1 y R2.

Paso 6: Probando el proyecto

Probado con pila AA recargable, batería 18650 y batería de alarma 12V. Las lecturas son muy cercanas a un multímetro profesional. ¡Genial!

Este proyecto demuestra lo que el hardware y software open source pueden lograr. Ideal para principiantes y gran experiencia de aprendizaje.

Código

VoltMeter.ino

#include <LCD5110_Graph.h>
LCD5110 lcd(8,9,10,12,11);
extern unsigned char BigNumbers[];
extern uint8_t ui[];
extern uint8_t startScreen[];

float voltage = 0.0;
int sensorPin = A0;
float sensorValue = 0.0f;
String voltageString = "0.0";
int stringLength = 0;
float vout = 0.0, vin = 0.0;
float R1 = 30000.0, R2 = 7500.0;

void setup() {
  Serial.begin(9600);
  lcd.InitLCD();
  lcd.drawBitmap(0, 0, startScreen, 84, 48);
  lcd.update();
  delay(3000);
  lcd.setFont(BigNumbers);
  delay(1000);
}

void loop() {
  lcd.clrScr();
  lcd.drawBitmap(0, 0, ui, 84, 48);
  voltage = readVoltage();
  Serial.println(voltage);
  voltageString = String(voltage, 1);
  stringLength = voltageString.length();
  displayVoltage(stringLength);
  lcd.update();
  delay(1000);
}

float readVoltage() {
  sensorValue = analogRead(sensorPin);
  vout = (sensorValue * 5.0) / 1024.0;
  vin = vout / (R2/(R1+R2));
  return vin;
}

void displayVoltage(int length) {
  switch(length) {
    case 3: lcd.print(voltageString, 14, 19); break;
    case 4: lcd.print(voltageString, 2, 19); break;
    default: lcd.print(voltageString, 2, 19); break;
  }
}

ui.c (Interfaz de usuario y pantalla de inicio)

// Datos binarios para iconos de interfaz y pantalla de inicio
// Incluye arrays PROGMEM para ui[] y startScreen[]

Proceso de manufactura

  1. Construya una estación meteorológica y de calidad del aire con Raspberry Pi, InfluxDB y Grafana
  2. Construya el clásico juego Pong en Arduino UNO con pantalla OLED: Tutorial paso a paso
  3. Construya un osciloscopio Arduino de 20 kHz en LCD Nokia 5110: Guía DIY fácil
  4. Construye un Voltímetro Inteligente con Arduino y Smartphone – Proyecto DIY Fácil
  5. Monitor de Temperatura y Reloj en Tiempo Real con Arduino Due y Pantalla TFT 3.2"
  6. Proyecto HMI Interactivo con Nextion, Arduino Mega y Múltiples Sensores
  7. Construye un voltímetro DIY con Arduino y pantalla Nokia 5110 – Guía paso a paso
  8. Construye la App Fridgeye con una Pantalla Nextion: Guía Paso a Paso
  9. Genera Tonos Musicales con Arduino: Guía Paso a Paso
  10. Proyecto Arduino GPS y Pantalla TFT Táctil Shield: Visualización de Ubicación en Tiempo Real
  11. Cargador inteligente de baterías avanzado con multiplexación y display digital