Pages: [1]   Go Down
Author Topic: Cronómetro + LCD + Push button  (Read 2443 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
#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
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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!. smiley-lol
Logged

Pages: [1]   Go Up
Jump to: