// digital clock by Haseeb Electronics (YouTube Channel)
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
int hrsT =0;
int hrsU =8;
int minutesT =3;
int minutesU=6;
int TIME=20;
int secsT =5;
int secsU=5;
int specifiedDelay =1000;
int minSettingBtn = 2;
int minBtnState = HIGH; //it is pulled up with 10K resistor
int hrsSettingBtn = 3;
int hrsBtnState = HIGH; //it is pulled up with 10K resistor
void setup() {
// put your setup code here, to run once:
[Link](); //it is to initilize the LCD
[Link](); //it will turn on the LCD backlight
[Link](0,0);
[Link]("HASEEB");
[Link](0,1);
[Link]("ELECTRONICS");
delay(500);
[Link]();
pinMode(minSettingBtn, INPUT);
pinMode(hrsSettingBtn, INPUT);
void loop() {
// put your main code here, to run repeatedly:
[Link](0,0);
[Link]("IT IS:");
[Link](hrsT);
[Link](hrsU);
[Link](":");
[Link](minutesT);
[Link](minutesU);
[Link](":");
[Link](secsT);
[Link](secsU);
//----------------seconds units
-------------------------------------------------------------
secsU = secsU + 01;
delay(specifiedDelay);
//------------------------ secs tens
-----------------------------------------------
if(secsU==10){
secsU=0;
secsT=secsT+1;
}
// ------------------------------- minutes units
------------------------------------------
if (secsT==6){
secsT = 0;
minutesU = minutesU + 1;
}
//----------------------------------minutes inc
block---------------------------------------
minBtnState = digitalRead(minSettingBtn);
if(minBtnState == LOW){
delay(100);
secsU = 0;
secsT = 0;
minutesU = minutesU +1;
}
//----------------------------------minutes tens
--------------------------------------------
if(minutesU==10){
minutesU=0;
minutesT= minutesT+1;
}
// ------------------------------- hrs units
------------------------------------------
if (minutesT==6){
minutesT = 0;
hrsU = hrsU + 1;
TIME = TIME+1;
}
//----------------------------------hrs inc
block---------------------------------------
hrsBtnState = digitalRead(hrsSettingBtn);
if(hrsBtnState == LOW){
delay(100);
hrsU = hrsU + 1;
TIME = TIME+1;
}
// ---------------------------hrs tens---------------------------------------------
if(hrsU==10){
hrsU=0;
hrsT=hrsT+1;
}
//----------------------------------
TIME--------------------------------------------
if (TIME<12){
[Link](14,0);
[Link]("AM");
}
else{
[Link](14,0);
[Link]("PM");
}
if (TIME== 13){
hrsU = 1;
hrsT=0;
}
if(TIME==24){
[Link](14,0);
[Link]("AM");
}
if(TIME==25){
hrsT=0;
hrsU=1;
TIME=1;
}
}