- Material requerido
- Diagrama de circuito
- Gráfico de barras LED
- Programa Arduino para monitoreo de voltaje de batería:
- Funcionamiento del indicador de voltaje de la batería
Las baterías vienen con un cierto límite de voltaje y si el voltaje supera los límites prescritos durante la carga o descarga, la vida útil de la batería se ve afectada o reducida. Siempre que usamos un proyecto que funciona con baterías, a veces necesitamos verificar el nivel de voltaje de la batería, si es necesario cargarla o reemplazarla. Este circuito le ayudará a controlar el voltaje de su batería. Este indicador de voltaje de la batería Arduino indica el estado de la batería mediante LED brillantes en un gráfico de barras LED de 10 segmentos de acuerdo con el voltaje de la batería. También muestra el voltaje de la batería en la pantalla LCD conectada al Arduino.
Material requerido
- Arduino UNO
- Gráfico de barras LED de 10 segmentos
- LCD (16 * 2)
- Potenciómetro-10k
- Resistencia (100ohm-10; 330ohm)
- Batería (para probar)
- Cables de conexión
- Adaptador 12v para Arduino
Diagrama de circuito
Gráfico de barras LED
El gráfico de barras LED viene en tamaño estándar industrial con un bajo consumo de energía. La barra está categorizada por intensidad luminosa. El producto en sí permanece dentro de la versión compatible con RoHS. Tiene un voltaje directo de hasta 2.6v. La disipación de potencia por segmento es de 65 mW. La temperatura de funcionamiento del gráfico de barras LED es de -40 ℃ a 80 ℃. Hay muchas aplicaciones para el gráfico de barras LED, como equipos de audio, paneles de instrumentos y pantalla de lectura digital.
Diagrama de pines
Configuración de pines
Programa Arduino para monitoreo de voltaje de batería:
El código completo de Arduino y el video de demostración se encuentran al final de este artículo. Aquí hemos explicado algunas partes importantes del código.
Aquí, estamos definiendo la biblioteca LCD y especificando pines de LCD que se utilizarán con Arduino. La entrada analógica se toma del pin A4 para verificar el voltaje de la batería. Hemos establecido el valor como Float para obtener el voltaje hasta dos decimales.
#incluir
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // una matriz de números de pines a los que se adjuntan los LED int pinCount = 10; // el número de pines (es decir, la longitud de la matriz)
Configuración de LCD y los pines analógicos (A0, A1, A2, A3) como pines de SALIDA.
configuración vacía () {Serial.begin (9600); // abre el puerto serie, establece la velocidad de datos en 9600 bps lcd.begin (16, 2); //// configura el número de columnas y filas de la pantalla LCD: pinMode (A0, OUTPUT); pinMode (A1, SALIDA); pinMode (A2, SALIDA); pinMode (A3, SALIDA); pinMode (A4, ENTRADA); lcd.print ("Nivel de voltaje"); }
Aquí, creamos una función para usar el gráfico de barras LED para usar de manera simple, incluso puede iluminar los LED programándolos uno por uno, pero el código se vuelve largo.
void LED_function (int etapa) {for (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } para (int i = 1, l = 2; i <= etapa; i ++, l ++) {digitalWrite (l, HIGH); // retraso (30); }} En esta parte, hemos leído el valor de voltaje usando el pin analógico. Luego, estamos convirtiendo el valor analógico en un valor de voltaje digital usando la fórmula de conversión de analógico a digital y mostrándolo más en la pantalla LCD.
// Fórmula de conversión para voltaje analogValue = analogRead (A4); Serial.println (analogValue); retraso (1000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Voltaje ="); lcd.print (input_voltage); Serial.println (input_voltage); retraso (100);
De acuerdo con el valor de la tensión de entrada hemos dado alguna condición para controlar los LED del gráfico de barras LED. La condición se puede comprobar a continuación en el código:
if (input_voltage <0.50 && input_voltage> = 0.00) {digitalWrite (2, HIGH); retraso (30); digitalWrite (2, BAJO); retraso (30); // cuando el voltaje es cero o bajo, el 1er LED indicará parpadeando} else if (input_voltage <1.00 && input_voltage> = 0.50) {LED_function (2); } else if (input_voltage <1.50 && input_voltage> = 1.00) {LED_function (3); } else if (input_voltage <2.00 && input_voltage> = 1.50) {LED_function (4); } else if (input_voltage <2.50 && input_voltage> = 2.00) {LED_function (5); } else if (input_voltage <3.00 && input_voltage> = 2.50) {LED_function (6); } else if (input_voltage <3.50 && input_voltage> = 3.00) {LED_function (7); } else if (input_voltage <4.00 && input_voltage> = 3.50) {LED_function (8);} else if (input_voltage <4.50 && input_voltage> = 4.00) {LED_function (9); } else if (input_voltage <5.00 && input_voltage> = 4.50) {LED_function (10); }}
Funcionamiento del indicador de voltaje de la batería
El indicador de voltaje de la batería simplemente lea el valor del pin analógico de Arduino y conviértalo en un valor digital utilizando la fórmula de conversión analógica a digital (ADC). El ADC de Arduino Uno tiene una resolución de 10 bits (por lo que los valores enteros de 0-2 ^ 10 = 1024 valores). Esto significa que mapeará voltajes de entrada entre 0 y 5 voltios en valores enteros entre 0 y 1023. Entonces, si multiplicamos el valor de entrada anlogValue a (5/1024), obtenemos el valor digital del voltaje de entrada. Aprenda aquí cómo usar la entrada ADC en Arduino. Luego, el valor digital se utiliza para iluminar el gráfico de barras LED en consecuencia.
Además, compruebe este sencillo monitor de nivel de batería sin ningún microcontrolador