I am presenting the, "(Modified) Work Clock"
How often are you at work and feel:
The time is just dragging on?
Will this day ever end?
I wish our lunch break is longer?
I would say every one of us feels this way now and then. I have the solution for this!!
The (Modified) Work Time Clock
Here is how it works: (This is set for my work day)
00:00:00 - Midnight - Personal Time (1 second = 1.1666667 seconds)
to
06:59:59
---------------------------
07:00:00 - Work Time (1 second = .6666667 seconds)
to
11:59:59
---------------------------
12:00:00 - Lunch Break (1 second = 1.1666667 seconds)
to
12:29:59
---------------------------
12:30:00 - Work Time (1 second = .6666667 seconds)
to
15:29:59
---------------------------
15:30:00 - Personal Time (1 second = 1.1666667 seconds)
to
00:00:00
Work clock math:
So, with the Modified Work Clock you now work only 5.3 hours a day and have 18.7 hours of personal time. This clock still keeps your day at 24 hours but changes the actual time you worked and your personal time.
With Project14's theme being "Making Time Change", this does it!!
Below is the Arduino code for the clock:
//Digital Arduino Work Clock //By Dale Winhold //Project14 Making time change //Nov 29,2020 #include <LiquidCrystal.h> LiquidCrystal lcd(12,11,5,4,3,2); int h; //Hours int m; //Minutes int s; //Seconds const int hs=6; //Hour set pin const int ms=7; //Minutes set pin int Hset; int Mset; void setup() { lcd.begin(16,2); pinMode(hs,INPUT_PULLUP); pinMode(ms,INPUT_PULLUP); } void loop() { lcd.setCursor(0,0); //Set lcd start print to 0,0 s=s+1; lcd.print("TIME:"); lcd.print(h); lcd.print(":"); lcd.print(m); lcd.print(":"); lcd.print(s); //at work 7am to 12pm : 1 second=.6666667 seconds if(h>=7 && h<12){ delay(666.6667); lcd.clear(); if(s==60){ s=0; m=m+1; } if(m==60){ m=0; h=h+1; } if(h==24){ h=0; } lcd.setCursor(0,1); //Set lcd start print to 0,1 lcd.print("Work Time"); } //at work 12:30pm to 3:30pm : 1 second=.6666667 seconds else if((h==12 && m>29) || h==13 || h==14 || (h==15 && m<30)){ delay(666.6667); lcd.clear(); if(s==60){ s=0; m=m+1; } if(m==60){ m=0; h=h+1; } if(h==24){ h=0; } lcd.setCursor(0,1); //Set lcd start print to 0,1 lcd.print("Work Time"); } //off work : 1 second=1.1666667 seconds else{ delay(1166.6667); lcd.clear(); if(s==60){ s=0; m=m+1; } if(m==60){ m=0; h=h+1; } if(h==24){ h=0; } lcd.setCursor(0,1); //Set lcd start print to 0,1 lcd.print("Personal Time"); } //-------Time // setting-------// Mset=digitalRead(ms); if(Mset==0){ s=0; m=m+1; } Hset=digitalRead(hs); if(Hset==0){ h=h+1; } }
A video of the time changing from personal time to work time. (Notice the difference in the seconds):
Rough sketch of the setup:
I really hope you like this project on "Making Time Change"
Dale Winhold
Top Comments