Proyecto medidor de una medidor de una batería 7.1.
Este circuito está diseñado para monitorear la capacidad de carga y descarga en una batería de 7.1 voltios.
pero si lo que desean es monitorear una batería de 12 voltios lo que tendrán que hacer es lo siguiente:
deben aumentar los valores en las resistencias de R1 y R2, ya que estas resistencias son quienes toman el valor de carga
y descarga directamente de la batería y dicho valor lo introduce en el pin A0, este valor se verá reflejado mediante la
iluminación de los led los cuales están en los pines de salida como se muestra en el siguiente fragmento de código.
//asignamoscada una de las salidas que van conetadas a cada led int led1=2;
int led2=3;
int led3=4;
int led4=5;
int led5=6;
int led6=7;
int led7=8;
int led8=9;
int led9=10;
int led10=11;
int led11=12;
en el esquema les dejo la información de los materiales a usar.. Aquí les dejo este LINK DE DESCARGA desde donde podrán descargar el programa y sus librerías.
y el esquema, desde este LINK DE DESCARGA.
MATERIAL REQUERIDO PARA EL PROYECTO.
1- Arduino nano
1- barra de leds por 10
1- resistencia de 1k a 1/2 wt
1- resistencia de 1.2 k a 1/2 wt
1- batería de 7 voltios para proyectos arduino
DIAGRAMA ESQUEMÁTICO
espero sea de su utilidad este montaje de este Proyecto medidor de una batería 7.1 voltios, con Arduino, para que puedan monitorear la carga real de la batería en sus proyectos.
Este es un diseño simple, pero muy práctico a la hora de implementarlo en sus montajes, debido a que solo posee tres componentes como son el Arduino nano, dos resistencias y una barra de diodos led.
Por lo tanto, su tamaño será una decisión a tener en cuenta.
Aquí les queda el programa completo, las librerías las pueden descargar de Google o desde el link el cual está en los párrafos anteriores.
CÓDIGO PARA EL PROYECTO.
//Proyecto medidor de batería 7.1 voltios, con arduino. //entrada de voltaje con rango de 0a 5 voltios dc (bateria) int analogInPin=A0; ///////////////////////////////////////////////////////////// // asignamoscada una de las salidas que van conetadas a cada led int led1=2;
int led2=3;
int led3=4;
int led4=5;
int led5=6;
int led6=7;
int led7=8;
int led8=9;
int led9=10;
int led10=11;
int led11=12;
//asignamos variables para poder hacer el control
int sensorValue=0; //valor de la bateria
int outputValue=0; //valor del voltaje de salida
int voltaje=0; //para imprimir el voltaje de salida
void setup()
{
//iniciamos comunicacion serial y declaramos los pines de salida
Serial.begin(9600);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT);
pinMode(led6,OUTPUT);
pinMode(led7,OUTPUT);
pinMode(led8,OUTPUT);
pinMode(led9,OUTPUT);
pinMode(led10,OUTPUT);
pinMode(led11,OUTPUT);
///////////////////////////////////////////////////////////////
}
void loop()
{
sensorValue=analogRead(analogInPin);//capturamos el valor del potenciometro en el pin A0
outputValue=map(sensorValue,0,1023,0,11);//definimos el rango de la salida de voltaje y lo dividimos entre el numero de led sensor
Value,0,1023,0,11) voltaje=(sensorValue/204);//dividimos el valor de la entrada entre 204 para que nos pueda mostrar en voltaje de entrada en el pin A0
switch(outputValue)
{
case 0: //cuando el voltaje sea cero todos los leds estaran apagados
digitalWrite(led1,0);
digitalWrite(led2,0);
digitalWrite(led3,0);
digitalWrite(led4,0);
digitalWrite(led5,0);
digitalWrite(led6,0);
digitalWrite(led7,0);
digitalWrite(led8,0);
digitalWrite(led9,0);
digitalWrite(led10,0);
digitalWrite(led11,0);
break;
case 1: // cuando el voltaje sea 0.5v el primer led se encienda
digitalWrite(led1,1);
digitalWrite(led2,0);
digitalWrite(led3,0);
digitalWrite(led4,0);
digitalWrite(led5,0);
digitalWrite(led6,0);
digitalWrite(led7,0);
digitalWrite(led8,0);
digitalWrite(led9,0);
digitalWrite(led10,0);
digitalWrite(led11,0);
break;
case 2: //cuando el voltaje sea 1.0v el 1" y el" led se encienden
digitalWrite(led1,1);
digitalWrite(led2,1);
digitalWrite(led3,0);
digitalWrite(led4,0);
digitalWrite(led5,0);
digitalWrite(led6,0);
digitalWrite(led7,0);
digitalWrite(led8,0);
digitalWrite(led9,0);
digitalWrite(led10,0);
digitalWrite(led11,0);
break;
case 3: //cuando el voltaje sea 1.5v el 1",2",3" led se encienden
digitalWrite(led1,1);
digitalWrite(led2,1);
digitalWrite(led3,1);
digitalWrite(led4,0);
digitalWrite(led5,0);
digitalWrite(led6,0);
digitalWrite(led7,0);
digitalWrite(led8,0);
digitalWrite(led9,0);
digitalWrite(led10,0);
digitalWrite(led11,0);
break;
case 4: //cuando el voltaje sea 1.5v el 1",2",3",4" led se encienden
digitalWrite(led1,1);
digitalWrite(led2,1);
digitalWrite(led3,1);
digitalWrite(led4,1);
digitalWrite(led5,0);
digitalWrite(led6,0);
digitalWrite(led7,0);
digitalWrite(led8,0);
digitalWrite(led9,0);
digitalWrite(led10,0);
digitalWrite(led11,0);
break;
case 5: //cuando el voltaje sea 1.5v el 1",2",3",4",5" led se encienden
digitalWrite(led1,1);
digitalWrite(led2,1);
digitalWrite(led3,1);
digitalWrite(led4,1);
digitalWrite(led5,1);
digitalWrite(led6,0);
digitalWrite(led7,0);
digitalWrite(led8,0);
digitalWrite(led9,0);
digitalWrite(led10,0);
digitalWrite(led11,0);
break;
case 6: //cuando el voltaje sea 1.5v el 1",2",3",4",5",6" led se encienden
digitalWrite(led1,1);
digitalWrite(led2,1);
digitalWrite(led3,1);
digitalWrite(led4,1);
digitalWrite(led5,1);
digitalWrite(led6,1);
digitalWrite(led7,0);
digitalWrite(led8,0);
digitalWrite(led9,0);
digitalWrite(led10,0);
digitalWrite(led11,0);
break;
case 7: //cuando el voltaje sea 1.5v el 1",2",3",4",5",6",7" led se encienden
digitalWrite(led1,1);
digitalWrite(led2,1);
digitalWrite(led3,1);
digitalWrite(led4,1);
digitalWrite(led5,1);
digitalWrite(led6,1);
digitalWrite(led7,1);
digitalWrite(led8,0);
digitalWrite(led9,0);
digitalWrite(led10,0);
digitalWrite(led11,0);
break;
case 8: //cuando el voltaje sea 1.5v el 1",2",3",4",5",6",7",8" led se encienden
digitalWrite(led1,1);
digitalWrite(led2,1);
digitalWrite(led3,1);
digitalWrite(led4,1);
digitalWrite(led5,1);
digitalWrite(led6,1);
digitalWrite(led7,1);
digitalWrite(led8,1);
digitalWrite(led9,0);
digitalWrite(led10,0);
digitalWrite(led11,0);
break;
case 9: //cuando el voltaje sea 1.5v el 1",2",3",4",5",6",7",8",9" led se encienden
digitalWrite(led1,1);
digitalWrite(led2,1);
digitalWrite(led3,1);
digitalWrite(led4,1);
digitalWrite(led5,1);
digitalWrite(led6,1);
digitalWrite(led7,1);
digitalWrite(led8,1);
digitalWrite(led9,1);
digitalWrite(led10,0);
digitalWrite(led11,0);
break;
case 10: //cuando el voltaje sea 5.0v los 10 leds se encienden
digitalWrite(led1,1);
digitalWrite(led2,1);
digitalWrite(led3,1);
digitalWrite(led4,1);
digitalWrite(led5,1);
digitalWrite(led6,1);
digitalWrite(led7,1);
digitalWrite(led8,1);
digitalWrite(led9,1);
digitalWrite(led10,1);
digitalWrite(led11,0);
break;
case 11: //cuando el voltaje sea 5.0v los 10 leds se encienden
digitalWrite(led1,1);
digitalWrite(led2,1);
digitalWrite(led3,1);
digitalWrite(led4,1);
digitalWrite(led5,1);
digitalWrite(led6,1);
digitalWrite(led7,1);
digitalWrite(led8,1);
digitalWrite(led9,1);
digitalWrite(led10,1);
digitalWrite(led11,1);
break;
case 12: //cuando el voltaje sea 5.0v los 10 leds se encienden
digitalWrite(led1,1);
digitalWrite(led2,1);
digitalWrite(led3,1);
digitalWrite(led4,1);
digitalWrite(led5,1);
digitalWrite(led6,1);
digitalWrite(led7,1);
digitalWrite(led8,1);
digitalWrite(led9,1);
digitalWrite(led10,1);
digitalWrite(led11,1);
break;
}
//imprimimos las variables que queremos visualizar Serial.print(" Entrada =");
Serial.print(sensorValue);
Serial.print("\t Voltaje En El Pin A0 = ");
Serial.print(voltaje); Serial.print("v");
Serial.print("\t Leds Encendidos= "); Serial.println(outputValue); //////////////////////////////////////////////////////
delay (1);
// fin del programa
}
Exelente trabajo!!!! Muchas gracias amigo!!👍😊
Con todo gusto Juan !! muchos éxitos!!!