Comprobar pilas con Arduino

Introducción

¿Cuántas veces has dudado si una pila está gastada o no? Con este sencillo proyecto, construiremos un voltímetro básico que mide el voltaje de una pila (de 1.5V como las AA o AAA) y nos indica su nivel de carga mediante tres LEDs de colores: verde para carga completa, amarillo para media carga y rojo para pila gastada.

Materiales Necesarios

  • Placa Arduino UNO
  • LED Verde, Amarillo y Rojo (uno de cada)
  • 3 Resistencias de 220Ω
  • Protoboard y Cables Jumper

Esquema de Montaje

Conectaremos la pila directamente a un pin analógico para medir su voltaje. Los LEDs se conectarán a pines digitales para poder controlarlos individualmente.

Captura de pantalla 2025-10-20 173055

Conexiones:

  • Polo positivo (+) de la pila → Pin analógico A0.
  • Polo negativo (-) de la pila → GND del Arduino.
  • LED Verde → Conectado al pin 2 (con su resistencia a GND).
  • LED Amarillo → Conectado al pin 3 (con su resistencia a GND).
  • LED Rojo → Conectado al pin 4 (con su resistencia a GND).

Código Arduino

const int pinMedida = A0;
const int ledVerde = 2;
const int ledAmarillo = 3;
const int ledRojo = 4;

void setup() {
  pinMode(ledVerde, OUTPUT);
  pinMode(ledAmarillo, OUTPUT);
  pinMode(ledRojo, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // Leemos el valor del pin analógico (0-1023)
  int lectura = analogRead(pinMedida);
  // Convertimos la lectura a un voltaje real
  float voltaje = lectura * (5.0 / 1023.0);

  // Apagamos todos los LEDs antes de encender el correcto
  digitalWrite(ledVerde, LOW);
  digitalWrite(ledAmarillo, LOW);
  digitalWrite(ledRojo, LOW);

  // Mostramos el voltaje en el monitor para calibrar
  Serial.print("Voltaje: ");
  Serial.println(voltaje);
  
  // Decidimos qué LED encender basado en el voltaje
  // Los umbrales son aproximados para una pila de 1.5V
  if (voltaje > 1.35) {
    // Pila llena
    digitalWrite(ledVerde, HIGH);
  } 
  else if (voltaje > 1.20) {
    // Pila a media carga
    digitalWrite(ledAmarillo, HIGH);
  } 
  else if (voltaje > 0.9) {
    // Pila gastada
    digitalWrite(ledRojo, HIGH);
  }
  // Si el voltaje es muy bajo, no se enciende nada

  delay(500); // Pequeña pausa
}

Cómo Funciona

Medición del Voltaje de la Pila

El corazón de este probador es la capacidad del Arduino para leer voltajes analógicos. Cuando la pila se conecta a los pines A0 (positivo) y GND (negativo) del Arduino, el microcontrolador mide el voltaje presente. El pin analógico A0 convierte el voltaje de la pila en un valor digital que el Arduino puede procesar.

Lógica de los Indicadores LED

El código de Arduino compara el voltaje leído de la pila con una serie de umbrales predefinidos. Cada umbral corresponde a un estado de carga diferente de la pila:
-LED Rojo: Se encenderá si el voltaje de la pila es bajo (ej., por debajo de 1.1V), indicando que la pila está casi agotada o completamente descargada.

-LED Amarillo: Se encenderá si el voltaje es intermedio (ej., entre 1.1V y 1.3V), sugiriendo que la pila tiene una carga media.

-LED Verde:Se encenderá si el voltaje es alto (ej., por encima de 1.3V), indicando que la pila tiene una buena carga.

Solo se encenderá el LED que corresponda al rango de voltaje actual de la pila, lo que proporciona una indicación visual rápida de su estado.

Funcionamiento con Resistencias

Cada LED está conectado a través de una resistencia (típicamente de 220Ω) a tierra (GND). Estas resistencias son cruciales para limitar la corriente que fluye a través de los LEDs y protegerlos de quemarse, ya que los pines digitales del Arduino, cuando están en HIGH, entregan 5V.