Professional Documents
Culture Documents
buttonPin1 =
buttonPin2 =
ledPin = 13;
buttonState1
buttonState2
clock = 100;
hour = 0;
min = 0;
sec = 0;
dcsec = 0;
void setup() {
clearLCD();
//Borra el LCD
pinMode(ledPin, OUTPUT); //Inicia el pin de LED como salida
Serial.begin(9600);
//Configura la velocida del puerto serie
}
void loop() {
time1 = millis(); //comprueba el tiempo al inicio del loop
buttonState1 = digitalRead(buttonPin1); //Lees estado boton1
buttonState2 = digitalRead(buttonPin2); //Lees estado boton2
if (buttonState1 == HIGH) {
//Si el boton1 esta pulsado
digitalWrite(ledPin, HIGH);
//Enciende el led
hour = 0;
//Pone el contador a cero
min = 0;
sec = 0;
dcsec = 0;
run=false;
//Para el cronometro
delay(500); //pausa
printtime();
selectLineTwo();
Serial.print("Parado");
digitalWrite(ledPin, LOW); //apaga el led
}
if (buttonState2 == HIGH) { //Si el boton1 esta pulsado
digitalWrite(ledPin, HIGH); //Enciende el led
if (run == true) {
//Comprueba si el cronometro esta en marcha
run=false;
//Para el cronometro
selectLineTwo();
Serial.print("Parado");
}
else {
//si esta parado
run=true;
//lo pone en marcha
}
delay(500);
//pausa
digitalWrite(ledPin, LOW); //apaga el led
}
if (run == true) {
dcsec = dcsec + 1;
if (dcsec > 9) {
dcsec = 0;
sec = sec + 1;
}
time2 = millis();
time2=time2 - time1;
if (time2 >=90 ){
time2=50;
}
clock=90-time2;
delay(clock);
printtime();
else {
}
/*
Definicion de funciones de control LCD
printtime();
Escribe el tiempo
selectLineOne();
Escribir en la 1 linea
selectLineTwo();
Escribir en la 1 linea
clearLCD();
Borrar el LCD
*/
void printtime(){
clearLCD();
Serial.print(hour);
Serial.print(":");
Serial.print(min);
Serial.print(":");
Serial.print(sec);
Serial.print(".");
Serial.print(dcsec);
time2 = millis();
time2=time2 - time1;
Serial.print(" ");
Serial.print(time2);
}
Serial.print(0x01, BYTE);
}
//comando de borrado