top of page

Reto proyecto Medidor Baterías Arduino, sin Arduino

Primero, debo confesar que no había oído hablar nunca de Arduino, ni de lejos me imaginé que esta pequeña placa ofrecía tal abanico de usos y posibilidades.

En este nuevo gran reto de Educalab he descubierto algunas de las aplicaciones de esta herramienta y con este sencillo video he aprendido a simular un proyecto básico de encendido de una luz led. En la simulación se hace uso de Thinkercadcircuits.

Mediante Arduino, podremos poner en marcha todo tipo de proyectos olvidándonos de la dificultad de crear plaquetas para contener todos los componentes electrónicos necesarios. Esto es posible gracias a una simple programación para darle las órdenes necesarias para controlar todos los aspectos de un proyecto, incluyendo la posibilidad de leer sensores para responder de acuerdo a eventos específicos, mover motores, controlar LEDs y mucho más.


Me he interesado por la elaboración de este proyecto: MEDIDOR DE CARGA DE PILAS Y BATERÍAS. Con 3 leds y 4 resistencias será posible construir este medidor.


Los componentes que se necesitan son :

  • Arduino UNO o cualquier placa de Arduino

  • Protoboard donde conectaremos los componentes

  • Cables para la conexión entre los componentes y la placa

  • 3 resistencias de 220 Ω

  • 1 resistencia de 10 kΩ

  • 1 LED rojo de 5 mm

  • 1 LED amarillo de 5 mm

  • 1 LED verde de 5 mm

Los pasos del montaje son:


Cada LED está conectado en serie con una resistencia de 220 Ω para alargar la vida útil de los mismos. El LED verde está conectado al pin 2, el LED amarillo está conectado al pin 3 y LED rojo está conectado al pin 4.


Para medir la batería se coloca una resistencia pull-down. El polo positivo de la batería lo conectamos a la resistencia de pull-down y a la entrada analógica A0. El otro extremo de la resistencia a tierra. Por último, el polo negativo de la batería debemos conectarlo a la tierra de Arduino.




Antes de entrar a programar se deben tener claros los pasos del algoritmo de trabajo, que son:

  1. Leer el pin analógico donde tenemos conectada la pila

  2. Calculamos el voltaje para el valor que nos ha dado

  3. Evaluamos el voltaje

  4. Si es mayor o igual que el umbral máximo

  5. Encendemos LED verde

  6. Si es menor que el umbral máximo y mayor que el umbral medio

  7. Encendemos LED amarillo

  8. Si es menor que el umbral medio y mayor que el umbral mínimo

  9. Encendemos LED rojo

  10. El resto de los casos

  11. No enciende ningún LED

  12. Apagamos todos los LEDs

  13. Será necesario también utilizar 3 umbrales:

  • Umbral máximo: indicará que la pila está totalmente cargada.

  • Umbral medio: de este umbral al umbral máximo la pila se ha usado pero todavía tiene energía.

  • Umbral mínimo: de este umbral al umbral medio la pila no suministra suficiente energía. Por debajo de este umbral interpretamos que no hay una pila conectada.

Y finalmente el código ARDUINO es el siguiente:

// Pines para los LEDs

#define LEDVERDE 2

#define LEDAMARILLO 3

#define LEDROJO 4

#define ANALOGPILA 0

// Variables

int analogValor = 0;

float voltaje = 0;

int ledDelay = 800;

// Umbrales

float maximo = 1.6;

float medio = 1.4;

float minimo = 0.3;

void setup() {

// Iniciamos el monitor serie

Serial.begin(9600);

// Los pines de LED en modo salida

pinMode(LEDVERDE, OUTPUT);

pinMode(LEDAMARILLO, OUTPUT);

pinMode(LEDROJO, OUTPUT);

}

void loop() {

// Leemos valor de la entrada analógica

analogValor = analogRead(ANALOGPILA);

// Obtenemos el voltaje

voltaje = 0.0048 * analogValor;

Serial.print("Voltaje: ");

Serial.println(voltaje);

// Dependiendo del voltaje mostramos un LED u otro

if (voltaje >= maximo)

{

digitalWrite(LEDVERDE, HIGH);

delay(ledDelay);

digitalWrite(LEDVERDE, LOW);

}

else if (voltaje < maximo && voltaje > medio)

{

digitalWrite(LEDAMARILLO, HIGH);

delay(ledDelay);

digitalWrite(LEDAMARILLO, LOW);

}

else if (voltaje < medio && voltaje > minimo)

{

digitalWrite(LEDROJO, HIGH);

delay(ledDelay);

digitalWrite(LEDROJO, LOW);

}

// Apagamos todos los LEDs

digitalWrite(LEDVERDE, LOW);

digitalWrite(LEDAMARILLO, LOW);

digitalWrite(LEDROJO, LOW);

}


Como reflexión:


Creo que se trata de un proyecto sencillo que se puede realizar para niveles principiantes (como es mi caso o el de mis futuros alumnos), y a la vez de gran utilidad en cualquiera de nuestros hogares donde a menudo almacenamos baterías o pilas a medio usar.

La mayor dificultad se encuentra en el código, que se debe trascribir de forma exacta, cualquier diferencia en los paréntesis o los caracteres de mayúsculas/minúsculas hará que el programa no funcione.


Hasta aquí el tercer reto del curso. Impresionante la aventura Maker. ¡Hasta al próxima!
















Featured Review
Vuelve pronto
Una vez que se publiquen entradas, las verás aquí.
Tag Cloud
No hay tags aún.
bottom of page