// This code is written by Maizn Mohamad And Mohammad Ma'aroof
#include <string.h>
#include <LiquidCrystal.h>
int Seconds = 55;
int Minutes = 9;
int Hours = 5;
int Minutes_Alarm = 10;
int Hours_Alarm = 5;
int Minutes_Alarm_Nap = 10;
int Hours_Alarm_Nap = 5;
int Minutes_Alarm_Nap_Period = 5;
bool _AllowAlarm = false;
bool _AllowAlarmNap = false;
int Seconds_StopWatch = 0;
int Minutes_StopWatch = 0;
int Hours_StopWatch = 0;
int PushButton1 = 6;
int PushButton2 = 7;
int PushButton3 = 8;
int PushButton4 = 9;
int PushButton5 = 12;
int Light = 11;
int PushButton1_Value = 0;
int PushButton2_Value = 0;
int PushButton3_Value = 0;
int PushButton4_Value = 0;
int PushButton5_Value = 0;
int DayInSet = 0;
int HijriDay = 1;
int HijriMonthInSet = 0;
int HijriYear = 1440;
int CalendarDay = 1;
int CalendarMonthInSet = 0;
int CalendarYear = 2010;
String CalendarMonthsSet [12]= {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct" ,"Nov","Dec"};
String HijriMonthsSet [12]= {"Moh", "Sef", "Ra1", "Ra2","Jm1", "Jm2", "Rej", "She", "Ram", "Sho" ,"ked","Heg"};
String DaysSet [7] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
int CountForNapTimes = 0;
int CountPushButton2ForDate = 0;
int CountPushButton2ForStopWatch = 0;
int CountPushButton2ForSetAlarm = 0;
int CountPushButton2ForTuenOffAlarm = 0;
int CountPushButton2ForSetTimeAndDate = 0;
int CountPushButton2ForStopWatch_Peeb = 0;
int CountPushButton3 = 0;
int CountPushButton3_ = 0;
int CountPushButton4ForStopWatch = 0;
int CountPushButton4ForSetAlarm = 0;
int CountPushButton4ForSetTimeAndDate = 0;
int CountPushButton4ForTuenOffAlarm = 0;
int CountPushButton5ForSetAlarm = 0;
int CountPushButton5ForSetTimeAndDate= 0;
int Button2IsPushed = 0;
int Button2IsNotPushed = 0;
int CurrentScreen = 0;
int Buzzer = 14;
LiquidCrystal lcd_1(13, 10, 5, 4, 3, 2);
bool EventWhilePressingPushButton(int PinName,int & Push_Value)
{
Push_Value = digitalRead(PinName);
if( Push_Value == HIGH)
{
return true;
}
else
{
return false;
}
}
void TurnOnBuzzer(int _Buzzer, int Frequency)
{
tone(_Buzzer, Frequency);
}
void TurnOffBuzzer(int _Buzzer)
{
noTone(_Buzzer);
}
bool CheckAlarmTime()
{
if((Hours == Hours_Alarm && Minutes == Minutes_Alarm && _AllowAlarm) || (Hours == Hours_Alarm_Nap && Minutes == Minutes_Alarm_Nap && _AllowAlarmNap))
{
return true;
}
else
{
return false;
}
}
void AllowAlarm()
{
if(Hours == Hours_Alarm && Minutes == Minutes_Alarm && Seconds == 0)
{
_AllowAlarm = true;
}
}
bool EventAfterPressingPushButtonAndResetValue(int PinName ,int & Push_Value ,int & CountPush)
{
Push_Value = digitalRead(PinName);
bool Reset = false;
if(CountPush == 0 && Push_Value == HIGH )
{
CountPush =1;
}
if( CountPush == 1 && Push_Value == LOW)
{
Reset =true;
}
if(Reset)
{
CountPush = 0;
}
return Reset;
}
int EventAfterPressingPushButton(int PinName ,int & Push_Value, int & CountPush, int CasesNumber )
{
Push_Value = digitalRead(PinName);
for(int i = 0; i <2*CasesNumber; i++ )
{
if(CountPush == i && Push_Value == HIGH && (CountPush % 2 ==0))
{
CountPush =CountPush +1;
}
if( CountPush == i+1 && Push_Value == LOW && (CountPush % 2 ==1) )
{
CountPush = CountPush +1;
break;
}
}
if(CountPush /2 ==CasesNumber )
{
CountPush = 0;
}
return CountPush/2;
}
void ShowHoursOnLcd(int _Hours)
{
lcd_1.print(" ");
if(_Hours <10)
{
lcd_1.print("0");
lcd_1.print(_Hours);
}
else
{
lcd_1.print(_Hours);
}
}
void ShowMinutesOnLcd(int _Minutes)
{
if(_Minutes <10)
{
lcd_1.print("0");
lcd_1.print(_Minutes);
}
else
{
lcd_1.print(_Minutes);
}
}
void ShowSecondsOnLcd( int _Seconds)
{
if(_Seconds <10)
{
lcd_1.print("0");
lcd_1.print(_Seconds);
}
else
{
lcd_1.print(_Seconds);
}
lcd_1.print(" ");
}
void MoveScreen()
{
CurrentScreen = EventAfterPressingPushButton(PushButton3,PushButton3_Value,CountPushButton3,4) ;
}
void ShowTimeOnLcd(int Column, int Row, int Hours,int Minutes, int Seconds)
{
lcd_1.setCursor(Column,Row);
ShowHoursOnLcd(Hours);
lcd_1.print(":");
ShowMinutesOnLcd(Minutes);
lcd_1.print(":");
ShowSecondsOnLcd(Seconds);
}
void ShowDayOnLcd(int Column, int Row, int Show = 0)
{
lcd_1.setCursor(Column,Row);
PushButton5_Value = digitalRead(PushButton5);
if(PushButton5_Value == 1 || Show == 1)
{
lcd_1.print(" ");
lcd_1.print(DaysSet[DayInSet]);
lcd_1.print(" ");
}
}
void ShowAlarmScreen()
{
lcd_1.setCursor(4,0);
PushButton4_Value = digitalRead(PushButton4);
if(PushButton4_Value == 1)
{
ShowTimeOnLcd(0,0,Hours_Alarm, Minutes_Alarm, 0);
}
else
{
lcd_1.print(" ");
}
}
void TurnOnLight()
{
// analogWrite(Light,0);
analogWrite(Light,255);
}
void TurnOffLight()
{
//analogWrite(Light,50);
analogWrite(Light,0);
}
void UpdateLight()
{
if(EventWhilePressingPushButton(PushButton1,PushButton1_Value))
{
TurnOnLight();
}
else
{
TurnOffLight();
}
}
void UpdateTheTimeAndDate( )
{
if(Seconds != 59)
{
if(CountPushButton2ForStopWatch==2)
{
Seconds_StopWatch++;
}
Seconds++;
}
else
{
Seconds = 0;
Minutes++;
}
if(Minutes == 60)
{
Minutes = 0;
Hours++;
}
if(Hours == 24)
{
Hours = 0;
HijriDay++;
CalendarDay++;
DayInSet++;
}
if(Seconds_StopWatch == 60)
{
Seconds_StopWatch = 0;
Minutes_StopWatch++;
}
if(Minutes_StopWatch == 60)
{
Minutes_StopWatch = 0;
Hours_StopWatch++;
}
if(Hours_StopWatch == 24)
{
Hours_StopWatch = 0;
}
}
void ClearRow(int Row)
{
lcd_1.setCursor(0, Row);
lcd_1.print(" ");
}
void ShowCalendarDateOnLcd(int Column, int Row)
{
lcd_1.setCursor(Column, Row);
if(CalendarDay < 10)
{
lcd_1.print("0");
}
lcd_1.print(CalendarDay);
lcd_1.print(" ");
lcd_1.print(CalendarMonthsSet[CalendarMonthInSet]);
lcd_1.print(" ");
lcd_1.print(CalendarYear);
lcd_1.print(" ");
}
void ShowHijriDateOnLcd(int Column, int Row)
{
lcd_1.setCursor(Column, Row);
if(HijriDay < 10)
{
lcd_1.print("0");
}
lcd_1.print(HijriDay);
lcd_1.print(" ");
lcd_1.print(HijriMonthsSet[HijriMonthInSet]);
lcd_1.print(" ");
lcd_1.print(HijriYear);
lcd_1.print(" ");
}
void ShowDateInDateAndTimeScreen(int Column, int Row)
{
int NumberOfClearRow = 1;
static int Change = 0;
if(EventAfterPressingPushButtonAndResetValue(PushButton2,PushButton2_Value,CountPushButton2ForDate ))
{
Change = 1 ^ Change;
}
if(EventWhilePressingPushButton(PushButton2,PushButton2_Value))
{
if(Change==0)
ShowHijriDateOnLcd(Column,Row);
else
ShowCalendarDateOnLcd(Column,Row);
}
else if (NumberOfClearRow == 1)
{
ClearRow(1);
NumberOfClearRow++;
}
}
void ShowTimeAndDateScreen()
{
for(int i = 0; i < 18;i++)
{
if(CheckAlarmTime())
{
if(Seconds == 59)
{
CountForNapTimes = 0;
_AllowAlarmNap = false;
}
if(EventAfterPressingPushButtonAndResetValue(PushButton2,PushButton2_Value,CountPushButton2ForTuenOffAlarm))
{
_AllowAlarm = false;
_AllowAlarmNap = false;
CountForNapTimes = 0;
}
else if(EventAfterPressingPushButtonAndResetValue(PushButton4,PushButton4_Value,CountPushButton4ForTuenOffAlarm))
{
_AllowAlarm = false;
_AllowAlarmNap = true;
CountForNapTimes++;
Minutes_Alarm_Nap = Minutes_Alarm + Minutes_Alarm_Nap_Period*CountForNapTimes ;
Hours_Alarm_Nap = Hours_Alarm_Nap;
if(Minutes_Alarm_Nap>=60)
{
Minutes_Alarm_Nap = Minutes_Alarm_Nap -60;
Hours_Alarm_Nap++ ;
}
if(Minutes_Alarm_Nap>=24)
{
Hours_Alarm_Nap = 0;
}
Hours_Alarm_Nap = 5;
if(CountForNapTimes == 13)
{
CountForNapTimes = 0;
_AllowAlarmNap = false;
}
}
else
{
if(i<4)
{
TurnOnBuzzer(Buzzer,3000);
}
else if(i<7)
{
TurnOffBuzzer(Buzzer);
}
else if(i<10)
{
TurnOnBuzzer(Buzzer,3000);
}
else
{
TurnOffBuzzer(Buzzer);
}
}
}
else
{
TurnOffBuzzer(Buzzer);
}
CountPushButton2ForSetTimeAndDate = 0;
CountPushButton4ForSetAlarm = 0;
CountPushButton4ForSetTimeAndDate = 0;
AllowAlarm();
MoveScreen();
if(PushButton3_Value == LOW && PushButton4_Value == LOW)
ShowTimeOnLcd(0,0,Hours, Minutes, Seconds);
ShowDateInDateAndTimeScreen(3,1);
if(EventWhilePressingPushButton(PushButton4,PushButton4_Value))
ShowAlarmScreen();
ShowDayOnLcd(0,1);
UpdateLight();
delay(45);
}
}
void ShowStopWatchScreen()
{
for(int i = 0; i < 18;i++)
{
if(CheckAlarmTime())
{
if(Seconds == 59)
{
CountForNapTimes = 0;
_AllowAlarmNap = false;
}
if(EventAfterPressingPushButtonAndResetValue(PushButton2,PushButton2_Value,CountPushButton2ForTuenOffAlarm))
{
_AllowAlarm = false;
_AllowAlarmNap = false;
CountForNapTimes = 0;
}
else if(EventAfterPressingPushButtonAndResetValue(PushButton4,PushButton4_Value,CountPushButton4ForTuenOffAlarm))
{
_AllowAlarm = false;
_AllowAlarmNap = true;
CountForNapTimes++;
Minutes_Alarm_Nap = Minutes_Alarm + Minutes_Alarm_Nap_Period*CountForNapTimes ;
Hours_Alarm_Nap = Hours_Alarm_Nap;
if(Minutes_Alarm_Nap>=60)
{
Minutes_Alarm_Nap = Minutes_Alarm_Nap -60;
Hours_Alarm_Nap++ ;
}
if(Minutes_Alarm_Nap>=24)
{
Hours_Alarm_Nap = 0;
}
Hours_Alarm_Nap = 5;
if(CountForNapTimes == 13)
{
CountForNapTimes = 0;
_AllowAlarmNap = false;
}
}
else
{
if(i<4)
{
TurnOnBuzzer(Buzzer,3000);
}
else if(i<7)
{
TurnOffBuzzer(Buzzer);
}
else if(i<10)
{
TurnOnBuzzer(Buzzer,3000);
}
else
{
TurnOffBuzzer(Buzzer);
}
}
}
else
{
TurnOffBuzzer(Buzzer);
}
MoveScreen();
AllowAlarm();
if( EventAfterPressingPushButtonAndResetValue(PushButton2,PushButton2_Value,CountPushButton2ForStopWatch_Peeb))
{
TurnOnBuzzer(Buzzer,3000);
delay(5);
TurnOffBuzzer(Buzzer);
}
EventAfterPressingPushButton(PushButton2,PushButton2_Value,CountPushButton2ForStopWatch,2);
if(EventAfterPressingPushButtonAndResetValue(PushButton4,PushButton4_Value,CountPushButton4ForStopWatch))
{
TurnOnBuzzer(Buzzer,3000);
delay(5);
TurnOffBuzzer(Buzzer);
CountPushButton2ForStopWatch = 0;
Hours_StopWatch = 0;
Minutes_StopWatch = 0;
Seconds_StopWatch = 0;
}
ShowTimeOnLcd(0,0,Hours_StopWatch, Minutes_StopWatch,Seconds_StopWatch );
delay(50);
}
}
void ShowSetAlarmScreen()
{
for(int i = 0; i < 18;i++)
{
if(CheckAlarmTime())
{
if(Seconds == 59)
{
CountForNapTimes = 0;
_AllowAlarmNap = false;
}
if(EventAfterPressingPushButtonAndResetValue(PushButton2,PushButton2_Value,CountPushButton2ForTuenOffAlarm))
{
_AllowAlarm = false;
_AllowAlarmNap = false;
CountForNapTimes = 0;
}
else if(EventAfterPressingPushButtonAndResetValue(PushButton4,PushButton4_Value,CountPushButton4ForTuenOffAlarm))
{
_AllowAlarm = false;
_AllowAlarmNap = true;
CountForNapTimes++;
Minutes_Alarm_Nap = Minutes_Alarm + Minutes_Alarm_Nap_Period*CountForNapTimes ;
Hours_Alarm_Nap = Hours_Alarm_Nap;
if(Minutes_Alarm_Nap>=60)
{
Minutes_Alarm_Nap = Minutes_Alarm_Nap -60;
Hours_Alarm_Nap++ ;
}
if(Minutes_Alarm_Nap>=24)
{
Hours_Alarm_Nap = 0;
}
Hours_Alarm_Nap = 5;
if(CountForNapTimes == 13)
{
CountForNapTimes = 0;
_AllowAlarmNap = false;
}
}
else
{
if(i<4)
{
TurnOnBuzzer(Buzzer,3000);
}
else if(i<7)
{
TurnOffBuzzer(Buzzer);
}
else if(i<10)
{
TurnOnBuzzer(Buzzer,3000);
}
else
{
TurnOffBuzzer(Buzzer);
}
}
}
else
{
TurnOffBuzzer(Buzzer);
}
AllowAlarm();
MoveScreen();
UpdateLight();
PushButton2_Value = digitalRead(PushButton2);
PushButton4_Value = digitalRead(PushButton4);
PushButton5_Value = digitalRead(PushButton5);
if(EventAfterPressingPushButtonAndResetValue(PushButton2, PushButton2_Value, CountPushButton2ForSetAlarm))
{
if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetAlarm,2)==0)
{
if(Minutes_Alarm < 59)
{
Minutes_Alarm++;
}
else
{
Minutes_Alarm = 0;
}
CountPushButton2ForSetAlarm = 0;
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetAlarm,2)==1)
{
if(Hours_Alarm < 23)
{
Hours_Alarm++;
}
else
{
Hours_Alarm = 0;
}
CountPushButton2ForSetAlarm = 0;
}
}
if(EventAfterPressingPushButtonAndResetValue(PushButton5, PushButton5_Value, CountPushButton5ForSetAlarm))
{
if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetAlarm,2)==0)
{if(Minutes_Alarm >0)
{
Minutes_Alarm--;
}
else
{
Minutes_Alarm = 59;
}
CountPushButton5ForSetAlarm = 0;
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetAlarm,2)==1)
{
if(Hours_Alarm >0 )
{
Hours_Alarm--;
}
else
{
Hours_Alarm = 23;
}
CountPushButton5ForSetAlarm = 0;
}
}
if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetAlarm,2)==0)
{
lcd_1.setCursor(7,0);
lcd_1.write(1);
lcd_1.write(1);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetAlarm,2)==1)
{
lcd_1.setCursor(4,0);
lcd_1.write(1);
lcd_1.write(1);
delay(30);
}
ShowTimeOnLcd(0,0,Hours_Alarm,Minutes_Alarm,0);
delay(30);
}
}
void ShowSetDateAndTimeScreen()
{
for(int i = 0; i < 18;i++)
{
if(CheckAlarmTime())
{
if(Seconds == 59)
{
CountForNapTimes = 0;
_AllowAlarmNap = false;
}
if(EventAfterPressingPushButtonAndResetValue(PushButton2,PushButton2_Value,CountPushButton2ForTuenOffAlarm))
{
_AllowAlarm = false;
_AllowAlarmNap = false;
CountForNapTimes = 0;
}
else if(EventAfterPressingPushButtonAndResetValue(PushButton4,PushButton4_Value,CountPushButton4ForTuenOffAlarm))
{
_AllowAlarm = false;
_AllowAlarmNap = true;
CountForNapTimes++;
Minutes_Alarm_Nap = Minutes_Alarm + Minutes_Alarm_Nap_Period*CountForNapTimes ;
Hours_Alarm_Nap = Hours_Alarm_Nap;
if(Minutes_Alarm_Nap>=60)
{
Minutes_Alarm_Nap = Minutes_Alarm_Nap -60;
Hours_Alarm_Nap++ ;
}
if(Minutes_Alarm_Nap>=24)
{
Hours_Alarm_Nap = 0;
}
Hours_Alarm_Nap = 5;
if(CountForNapTimes == 13)
{
CountForNapTimes = 0;
_AllowAlarmNap = false;
}
}
else
{
if(i<4)
{
TurnOnBuzzer(Buzzer,3000);
}
else if(i<7)
{
TurnOffBuzzer(Buzzer);
}
else if(i<10)
{
TurnOnBuzzer(Buzzer,3000);
}
else
{
TurnOffBuzzer(Buzzer);
}
}
}
else
{
TurnOffBuzzer(Buzzer);
}
MoveScreen();
UpdateLight();
if(EventAfterPressingPushButtonAndResetValue(PushButton2,PushButton2_Value,CountPushButton2ForSetTimeAndDate))
{
if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==0)
{
Seconds = 0;
CountPushButton2ForSetTimeAndDate = 0;
ShowTimeOnLcd(0,0,Hours,Minutes,Seconds);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==1)
{
if(Minutes < 59)
{
Minutes++;
}
else
{
Minutes = 0;
}
ShowTimeOnLcd(0,0,Hours,Minutes,Seconds);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==2)
{
if(Hours < 23)
{
Hours++;
}
else
{
Hours = 0;
}
ShowTimeOnLcd(0,0,Hours,Minutes,Seconds);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==3)
{
if(CalendarDay < 31)
{
CalendarDay++;
}
else
{
CalendarDay = 1;
}
ShowCalendarDateOnLcd(4,0);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==4)
{
if(CalendarMonthInSet < 11)
{
CalendarMonthInSet++;
}
else
{
CalendarMonthInSet = 0;
}
ShowCalendarDateOnLcd(4,0);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==5)
{
CalendarYear++;
ShowCalendarDateOnLcd(4,0);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==6)
{
if(HijriDay < 30)
{
HijriDay++;
}
else
{
HijriDay = 1;
}
ShowHijriDateOnLcd(4,0);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==7)
{
if(HijriMonthInSet < 11)
{
HijriMonthInSet++;
}
else
{
HijriMonthInSet = 0;
}
ShowHijriDateOnLcd(4,0);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10) == 8)
{
HijriYear++;
ShowHijriDateOnLcd(4,0);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10) == 9)
{
if(DayInSet < 7)
{
DayInSet++;
}
else
{
DayInSet = 0;
}
ShowDayOnLcd(4,0,1);
delay(30);
}
}
if(EventAfterPressingPushButtonAndResetValue(PushButton5,PushButton5_Value,CountPushButton5ForSetTimeAndDate))
{
if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==0)
{
Seconds = 0;
ShowTimeOnLcd(0,0,Hours,Minutes,Seconds);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==1)
{
if(Minutes >0)
{
Minutes--;
}
else
{
Minutes = 59;
}
ShowTimeOnLcd(0,0,Hours,Minutes,Seconds);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==2)
{
if(Hours >0)
{
Hours--;
}
else
{
Hours = 23;
}
ShowTimeOnLcd(0,0,Hours,Minutes,Seconds);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==3)
{
if(CalendarDay > 1)
{
CalendarDay--;
}
else
{
CalendarDay = 31;
}
ShowCalendarDateOnLcd(4,0);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==4)
{
if(CalendarMonthInSet > 0)
{
CalendarMonthInSet--;
}
else
{
CalendarMonthInSet = 11;
}
ShowCalendarDateOnLcd(4,0);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==5)
{
CalendarYear--;
ShowCalendarDateOnLcd(4,0);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==6)
{
if(HijriDay >1)
{
HijriDay--;
}
else
{
HijriDay = 30;
}
ShowHijriDateOnLcd(4,0);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==7)
{
if(HijriMonthInSet > 0)
{
HijriMonthInSet--;
}
else
{
HijriMonthInSet = 11;
}
ShowHijriDateOnLcd(4,0);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==8)
{
HijriYear--;
ShowHijriDateOnLcd(4,0);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==9)
{
if(DayInSet >0 )
{
DayInSet--;
}
else
{
DayInSet = 6;
}
ShowDayOnLcd(4,0,1);
delay(30);
}
}
if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==0)
{
ShowTimeOnLcd(0,0,Hours,Minutes,Seconds);
delay(30);
lcd_1.setCursor(10,0);
lcd_1.write(1);
lcd_1.write(1);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==1)
{
ShowTimeOnLcd(0,0,Hours,Minutes,Seconds);
delay(30);
lcd_1.setCursor(7,0);
lcd_1.write(1);
lcd_1.write(1);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==2)
{
ShowTimeOnLcd(0,0,Hours,Minutes,Seconds);
delay(30);
lcd_1.setCursor(4,0);
lcd_1.write(1);
lcd_1.write(1);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==3)
{
ShowCalendarDateOnLcd(3,0);
delay(30);
lcd_1.setCursor(3,0);
lcd_1.write(1);
lcd_1.write(1);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==4)
{ ShowCalendarDateOnLcd(3,0);
delay(30);
lcd_1.setCursor(6,0);
lcd_1.write(1);
lcd_1.write(1);
lcd_1.write(1);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==5)
{
ShowCalendarDateOnLcd(3,0);
delay(30);
lcd_1.setCursor(11,0);
lcd_1.write(1);
lcd_1.write(1);
lcd_1.write(1);
lcd_1.write(1);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==6)
{
ShowHijriDateOnLcd(3,0);
delay(30);
lcd_1.setCursor(3,0);
lcd_1.write(1);
lcd_1.write(1);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==7)
{
ShowHijriDateOnLcd(3,0);
delay(30);
lcd_1.setCursor(6,0);
lcd_1.write(1);
lcd_1.write(1);
lcd_1.write(1);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==8)
{
ShowHijriDateOnLcd(3,0);
delay(30);
lcd_1.setCursor(11,0);
lcd_1.write(1);
lcd_1.write(1);
lcd_1.write(1);
lcd_1.write(1);
delay(30);
}
else if(EventAfterPressingPushButton(PushButton4,PushButton4_Value,CountPushButton4ForSetTimeAndDate,10)==9)
{
ShowDayOnLcd(0,0,1);
delay(30);
lcd_1.setCursor(6,0);
lcd_1.write(1);
lcd_1.write(1);
lcd_1.write(1);
delay(30);
}
delay(10);
}
}
void ShowScreen()
{
if(CurrentScreen == 0)
{
ShowTimeAndDateScreen();
}
if (CurrentScreen == 1)
{
ShowStopWatchScreen();
}
if (CurrentScreen == 2)
{
ShowSetAlarmScreen();
}
if (CurrentScreen == 3)
{
ShowSetDateAndTimeScreen();
}
UpdateTheTimeAndDate();
}
void setup()
{
lcd_1.begin(16, 2);
//Serial.begin(9600);
}
void loop()
{
ShowScreen();
}