Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PATILLAGE LCD:
LCD VSS a gnd
LCD VDD a 5v
LCD RS al pin 12
LCD ENABLE al pin 11
LCD D4 al pin 5
LCD D5 al pin 4
LCD D6 al pin 3
LCD D7 al pin 2
SENSORES/PULSADORES:
Sensor START/STOP al pin 6 (Se activa con señal LOW)
Pulsador RESET al pin 7 (Se activa con señal LOW)
*/
void setup() {
void loop() {
reset=digitalRead(7);
if(reset==LOW){ //Se o pino 7 (reset) é acionado
lcd.setCursor(4, 0);
lcd.print("00:00:000"); //Escreve 00:00:000 (zerar
cronometro)
cont=0;
cont2=0;
delay(200); //tempo de espera de 200ms
}
depois=digitalRead(6); //Guardamos o valor do pino 6
(liga/desliga) na variável ‘depois’
if(depois==LOW&&antes==HIGH){ //Si el valor que tenia era HIGH y aora
tiene LOW sera porque lo hemos activado
delay(200);
inicio=millis(); //Guardamos en inicio el tiempo que se
lleva ejecutando el programa hasta que
//se activa el sensor start/stop
antes=depois; //cambiamos el valor de la variable
antes al que tiene la variable despues
pulsador=0; //Ponemos la variable pulsador a 0
pulsador1=0;
//Establecemos un retardo de 200ms
while(pulsador==0){ //Cuando la variable pulsador sea 0
tempo=millis()-inicio; //Calculamos el tiempo que paso desde
que se activo el sensor start/stop
m=tempo/60000; //Calculamos los minutos
mu=m%10; //Descomponemos los minutos y sacamos
el valor de las unidades
md=(m-mu)/10; //Descomponemos los minutos y sacamos
el valor de las decenas
s=(tempo/1000)-(m*60); //Calculamos los segundos
su=s%10; //Descomponemos los segundos y sacamos
el valor de las unidades
sd=(s-su)/10; //Descomponemos los segundos y sacamos
el valor de las decenas
l=tempo-(s*1000)-(m*60000); //Calculamos las milesimas de segundo
lu=l%10; //Descomponemos las milesimas y
sacamos el valor de las unidades
ld=((l-lu)/10)%10; //Descomponemos las milesimas y
sacamos el valor de las decenas
lc=(l-(ld*10)-lu)/100; //Descomponemos las milesimas y
sacamos el valor de las centenas
lcd.setCursor(4, 0); //Ponemos el cursor en la linea 2 y el
caracter 5
lcd.print(md); //Imprimimos los valores en el display
lcd.print(mu);
lcd.print(":");
lcd.print(sd);
lcd.print(su);
lcd.print(":");
lcd.print(lc);
lcd.print(ld);
lcd.print(lu);
depois=digitalRead(6); //Guardamos en la variable despues el
valor del pin6 (sensor start/stop)
if(depois==LOW&&antes==HIGH && cont==3){ //Si el valor que tenia era
HIGH y aora tiene LOW sera porque hemos activado
//el sensor
if(depois==LOW&&antes==HIGH){
inicio1=millis();
antes=depois;
while(pulsador1==0){ //Cuando la variable pulsador sea 0
tempo=millis()-inicio1; //Calculamos el tiempo que paso desde
que se activo el sensor start/stop
m=tempo/60000; //Calculamos los minutos
mu=m%10; //Descomponemos los minutos y sacamos
el valor de las unidades
md=(m-mu)/10; //Descomponemos los minutos y sacamos
el valor de las decenas
s=(tempo/1000)-(m*60); //Calculamos los segundos
su=s%10; //Descomponemos los segundos y sacamos
el valor de las unidades
sd=(s-su)/10; //Descomponemos los segundos y sacamos
el valor de las decenas
l=tempo-(s*1000)-(m*60000); //Calculamos las milesimas de segundo
lu=l%10; //Descomponemos las milesimas y
sacamos el valor de las unidades
ld=((l-lu)/10)%10; //Descomponemos las milesimas y
sacamos el valor de las decenas
lc=(l-(ld*10)-lu)/100; //Descomponemos las milesimas y
sacamos el valor de las centenas
lcd.setCursor(4, 0); //Ponemos el cursor en la linea 2 y el
caracter 5
lcd.print(md); //Imprimimos los valores en el display
lcd.print(mu);
lcd.print(":");
lcd.print(sd);
lcd.print(su);
lcd.print(":");
lcd.print(lc);
lcd.print(ld);
lcd.print(lu);
}
}
}