#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
//////////Current Time
int h=0;
int m=0;
int s=0;
//////////Start time
int h1=0;
int m1=0;
int s1=0;
/////////Stop time
int h2=0;
int m2=0;
int s2=0;
void setup() {
pinMode(4, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
lcd.init();
lcd.backlight();
}
int st = 0 ;
void loop() {
int sw1=digitalRead(4);
delay(100);
if(sw1==0){
st++;
if (st>=7) {
st=0;
}
}
start();
stop();
}//end loop
void start(){
//////////////////////////////// เพิ่ม ชม
if (st==1){
int sw2 =digitalRead(3);
delay(100);
if(sw2==0){
h1++;
if (h1>=24){
h1=0;
}
}
//////////////////////////////// ลด ชม
int sw3 =digitalRead(5);
delay(100);
if(sw3==0){
h1--;
if (h1<0){
h1=23;
}
}
//////////////////////////////// เพิ่ม นาที
lcd.setCursor(6,0);
lcd.print(" ");
delay(200);
}
if (st==2){
int sw2 =digitalRead(3);
delay(100);
if(sw2==0){
m1++;
if (m1>=60){
m1=0;
}
}
///////////////////////////// ลด นาที
int sw3 =digitalRead(5);
delay(100);
if(sw3==0){
m1--;
if (m1<0){
m1=59;
}
}
lcd.setCursor(9,0);
lcd.print(" ");
delay(200);
}
///////////////// START
lcd.setCursor(0,0);
if (st==1) {
lcd.print("Start");
}
/////////////////// ชม
lcd.setCursor(6,0);
if (h1 <= 9 ){
lcd.print("0");
}
lcd.print(h1);
lcd.setCursor(8,0);
lcd.print(":");
//////////////Min
lcd.setCursor(9,0);
if (m1 <= 9 ){
lcd.print("0");
}
lcd.print(m1);
lcd.setCursor(11,0);
lcd.print(":");
///////////////Sec
lcd.setCursor(12,0);
if (m1<= 9 ){
lcd.print("0");
}
lcd.print(s);
}
void stop() {
////////////////////////////////เพิ่ม ชม
if (st==4){
int sw2 =digitalRead(3);
delay(100);
if(sw2==0){
h2++;
if (h2>=24){
h2=0;
}
}
//////////////////////////////// ลด ชม
int sw3 =digitalRead(5);
delay(100);
if(sw3==0){
h2--;
if (h2<0){
h2=23;
}
}
//////////////////////////////// เพิ่ม นาที
lcd.setCursor(6,1);
lcd.print(" ");
delay(200);
}
if (st==5){
int sw2 =digitalRead(3);
delay(100);
if(sw2==0){
m2++;
if (m2>=60){
m2=0;
}
}
///////////////////////////// ลด นาที
int sw3 =digitalRead(5);
delay(100);
if(sw3==0){
m2--;
if (m2<0){
m2=59;
}
}
lcd.setCursor(9,1);
lcd.print(" ");
delay(200);
}
if (st>=6){
st=0;
}
///////////////// STOP
lcd.setCursor(0,1);
if (st==1) {
lcd.print("Stop");
}
///////////////////ชม
lcd.setCursor(6,1);
if (h2 <= 9 ){
lcd.print("0");
}
lcd.print(h2);
lcd.setCursor(8,1);
lcd.print(":");
//////////////Min
lcd.setCursor(9,1);
if (m2 <= 9 ){
lcd.print("0");
}
lcd.print(m2);
lcd.setCursor(11,1);
lcd.print(":");
///////////////Sec
lcd.setCursor(12,1);
if (m2 <= 9 ){
lcd.print("0");
}
lcd.print(s);
}