float R1 = 10000;
float R2 = 3300;
float Req = R2/(R1+R2);
int Num1 = 10;
float tension1();
char alerta;
int a = 0;
float Prom2 [5];
int j = 0;
float aux_valalerta = 0,valalerta = 0;
char bat;
void setup()
{
Serial.begin(9600);
}
void loop()
{
float tensionf = tension1();
Prom2[j] = tensionf;
j = j + 1;
if (j == 4)
{
for (int h; h<=4; h++)
{
aux_valalerta = aux_valalerta + Prom2[h];
}
aux_valalerta = aux_valalerta / 4;
valalerta = aux_valalerta;
aux_valalerta = 0;
j = 0;
}
if (valalerta < 12.65)
{
bat = 'V';
}
if (valalerta < 12.45)
{
bat = 'W';
}
if (valalerta < 12.24)
{
bat = 'X';
}
if (valalerta < 12.06)
{
bat = 'Y';
}
if (valalerta < 11.86)
{
bat = 'Z';
}
if (bat == 'Z' || bat == 'Y' || bat == 'X')
{
a = a + 1;
}
else
{
a = 0;
}
if (a==1)
{
alerta = 'A';
valalerta = 0;
}
else
{
alerta = 'B';
}
Serial.print(tensionf);
Serial.print('L');
Serial.print(alerta);
Serial.print('L');
Serial.println(bat);
}
float tension1()
{
int i, Cont = 0;
float TenProm = 0,TenInst = 0,Tension = 0;
if (TenProm != 0)
{
for (i=0; i<=Num1; i++)
{
TenInst = (((analogRead(4) * 4.98)/ 1024)/ Req);
if ((TenProm*0,9<TenInst)&(TenProm*1,1>TenInst))
{
Tension = Tension + TenInst;
Cont++;
}
else
Cont--;
delay (10);
}
}
else
{
for (i=0; i<=Num1; i++)
{
Tension = Tension + (((analogRead(4) * 4.98)/ 1024)/ Req);
delay (10);
}
Cont = Num1;
}
TenProm = Tension / Cont;
return TenProm;
}