Go Down

Topic: Cronómetro + LCD + Push button (Read 10245 times) previous topic - next topic

erikcrane

Muy buenas,

He hecho un cronómetro que se muestra en un apantalla lcd 16x2 y con dos botones (uno para reiniciar el conteo y el otro para parar/ejecutar el conteo). Pongo aqui el código por si ha alguien le pudiera interesar. El circuito es muy simple, un lcd conectado al arduino como se muestra en varias páginas y los botons más de lo mismo. Si me decis que incluya el wiring lo hago encantado.

Code: [Select]
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int horas = 0;
int minutos = 0;
int segundos = 0;
int decimas = 0;
long milisegundos = 0;
int boton = 10;
int pausa = 9;

void setup(){
 Serial.begin(9600);
 pinMode(boton, INPUT);
 digitalWrite(boton, LOW);
 pinMode(pausa, INPUT);
 digitalWrite(pausa, LOW);
 lcd.begin(16,2);
}
void loop(){
 //Restart button
 if(digitalRead(boton) == HIGH){
   horas = 0;
   minutos = 0;
   segundos = 0;
   decimas = 0;
   lcd.clear();
 }
 //Pause/Play button
 if(digitalRead(pausa) == HIGH){
   delay(200);
   while(digitalRead(pausa) == LOW);
   delay(200);
 }
 milisegundos = millis();
 if(milisegundos % 100 == 0){ //Only enter if it has passed tenth of a second
   decimas++;
   if(decimas == 10){ //When it has passed 10 tenths of a second it count one second
     decimas = 0;
     segundos++;
   }
   if(segundos == 60){ //When it has passed 60 seconds it count one minute
     segundos = 0;
     minutos++;
   }
   if(minutos == 60){ //When it has passed 60 minutes it count one hour
     minutos = 0;
     horas++;
   }
   //Print Time
   lcd.setCursor(0,0);
   if(horas < 10){
     lcd.print("0");
   }
   lcd.print(horas);
   lcd.print(":");
   lcd.setCursor(3,0);
   if(minutos < 10){
     lcd.print("0");
   }
   lcd.print(minutos);
   lcd.print(":");
   lcd.setCursor(6,0);
   if(segundos < 10){
     lcd.print("0");
   }
   lcd.print(segundos);
   lcd.print(":");
   lcd.setCursor(9,0);
   lcd.print(decimas);
 }
}


PD:Disculpad si este no es lugar donde pornerlo, lo retiro si no es el sitio o creeis que no se debe publicar porque ya hay varios códigos de cronómetro

rafasantama

Muy buen aporte, me sirvio mucho para una aplicacion sencilla que estoy haciendo en mis practicas profesionales para un pendulo de dureza que estamos digitalizando, la verdad soy nuevo en arduino  :smiley-red: pero gracias a este tipo de aportes he podido desenvolverme muy bien. Gracias por tu aporte!. XD

Alejandro_diaz7

hola por favor me gustaria si es posible que incluyeras el wiring tambien, estamos haciendo un trabajo y me parece muy practico este proyecto, pero somos muy novatos en el tema

Romicas

Disculpe buenas noche me puede ayudar con el gráfico de las conexiones, pasa que soy nuevo en esto del arduino

EliArt

Hola, soy Eliza de Colombia y he estado trabajando en un cronometro con Arduino UNO, mi código era bastante más largo que este así que agradezco mucho que lo hayas publicado, sin embargo no comprendo muy bien el funcionamiento de "boton" y "pausa" noto que en algunos momento el cronometro se detiene solo, no sé si es un problema de ruido o será algo más.

Podrían ayudarme?

Hector_A



Hola Eliza!

Te aconsejo que preguntes en el sub-foro de Software.

Este hilo es para agradecer y, si preguntas, sólo te respondería el autor del hilo. Publicando donde te dije, te responderían muchos más y sacas tus propias conclusiones, la mejor manera de aprender.


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy