#include <LiquidCrystal.h>
#define TONO_ERROR 600
#define TIME_INTERVAL 3000
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
int hours = 0;
int minutes = 0;
int seconds = 0;
int hourbutton = 2;
int minutebutton = 3;
int secondsbutton = 4;
int nueva = 0;
int startbutton = 6;
int aux;
int aux2;
int aux3;
int startbuttonstate;
int buzzer = 5;
void setup()
{
lcd.begin(16, 2);
pinMode(hourbutton, INPUT);
pinMode(minutebutton, INPUT);
pinMode(secondsbutton, INPUT);
pinMode(startbutton, INPUT);
pinMode(buzzer,OUTPUT);
lcd.setCursor(0,0);
lcd.print("Timer with");
lcd.setCursor(1,1);
lcd.print("Arduino + LCD");
delay(2500);
lcd.clear();
}
void loop()
{
aux = digitalRead(hourbutton);
aux2 = digitalRead(minutebutton);
aux3 = digitalRead(secondsbutton);
startbuttonstate = digitalRead(startbutton);
if(nueva==0) {
lcd.setCursor(0,0);
lcd.print("Enter Time");
lcd.setCursor(1,1);
lcd.print(hours);
lcd.print(":");
lcd.print(minutes);
lcd.print(":");
lcd.print(seconds);
lcd.print(":");
delay(200);
lcd.clear();
if(aux==HIGH){
hours=hours+1;
if(hours>=59){
hours=0;
}
}else{
hours=hours;
}
if(aux2==HIGH){
minutes=minutes+1;
if(minutes>=59){
minutes=0;
}
}else{
minutes=minutes;
}
if(aux3==HIGH){
seconds=seconds+1;
if(seconds>=59){
seconds=0;
}
}else{
seconds=seconds;
}
if(startbuttonstate==HIGH){
nueva=1;
}else{
nueva=0;
}
} else if(nueva==1){
lcd.setCursor(0,0);
lcd.print("Getting Started");
lcd.setCursor(1,1);
lcd.print(hours);
lcd.print(":");
lcd.print(minutes);
lcd.print(":");
lcd.print(seconds);
lcd.print(":");
delay(200);
if(seconds==0){
if(minutes!=0){
seconds=59;
}
if(minutes<=0){
minutes=0;
}else{
minutes=minutes-1;
}
if(minutes==0){
if(hours!=0){
minutes=59;
}
if(hours<=0){
hours=0;
}else{
hours=hours-1;
}
if(hours==0){
if(minutes==0){
if(seconds==0){
nueva=2;
}
}
}
}
}else{
seconds=seconds-1;
delay(1000);
}
}
else if(nueva==2){
lcd.setCursor(0,0);
lcd.print("Time Up");
digitalWrite(buzzer,HIGH);
tone(buzzer, 2000, 1000);
delay(1000);
digitalWrite(buzzer,LOW);
delay(1000);
nueva=0;
seconds=0;
minutes=0;
hours=0;
}
}
Comments