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
-
kmikemoo
-
Cancel
-
Vote Up
+5
Vote Down
-
-
Sign in to reply
-
More
-
Cancel
Comment-
kmikemoo
-
Cancel
-
Vote Up
+5
Vote Down
-
-
Sign in to reply
-
More
-
Cancel
Children