Paso 6: La fuente de código
/*
Un probador de ciclo de vida de batería utilizando un Lcd como salida
*/
incluir el código de biblioteca:
#include < LiquidCrystal.h >
inicializar la biblioteca con los números de los pines de interfaz
LiquidCrystal lcd (2, 3, 5, 6, 7, 8);
const int buttonPin = 0;
int sensorPin = A0; seleccionar el pin de entrada de la batería
int sensorValue = 0; variable para almacenar el valor que viene desde el sensor
const int relé = 1;
int buttonState = 0;
flotador de mah = 0.0;
largo timestart;
void setup() {}
fijar número la pantalla del LCD de filas y columnas:
LCD.Begin (16, 2);
Imprimir un mensaje en la pantalla LCD.
LCD.Print ("vida probador de la batería");
pinMode (salida de relé,);
pinMode (buttonPin, entrada);
}
void loop() {}
establecer el cursor a la columna 0, línea 1
(Nota: la línea 1 es la segunda fila, ya que cuenta comienza con 0):
digitalWrite (relé, 0); fijar el relé LED apagado
mientras que (buttonState == LOW) {}
sensorValue = analogRead(sensorPin); leer la batería
la tensión de
buttonState = digitalRead(buttonPin);
Si (buttonState == HIGH) {}
Si (bb > 0) {bb = 0;} else {bb = 1;}
// }
lcd.setCursor (0, 1);
LCD.Print((sensorValue*4.98)/1023);
LCD.Print ("v");
Delay(500);
} //end conseguir listo lazo
digitalWrite (relé, 1); activado el relé LED
lcd.setCursor (0, 0);
LCD.Print ("prueba");
lcd.setCursor (0, 1);
LCD.Print("");
mAh = 0.0;
timestart = millis ();
mientras que (((sensorValue*4.98)/1023) > 3.00) {}
lcd.setCursor (0, 1);
LCD.Print((sensorValue*4.98)/1023);
LCD.Print ("V");
sensorValue = analogRead(sensorPin); leer la batería
mAh = mah + (((sensorValue*4.98)/1023)/4) / 7.2;
LCD.Print(mAh);
LCD.Print ("mAh");
Delay (500);
lcd.setCursor(8,0);
LCD.Print ((millis()-timestart) / 1000); desde staarted de prueba
} / / fin de descarga de la batería
digitalWrite (relé, 0); fijar el relé LED apagado
resultados finales
lcd.setCursor (0, 0);
LCD.Print(mAh);
LCD.Print ("mAH");
LCD.Print ((millis()-timestart) / 1000);
LCD.Print ("S");
buttonState = digitalRead(buttonPin);
}