|This clock is controlled by a 5V Spark Fun MiniPro processor and has a DS1307 Real-time Clock (RTC). It has 24, 14-segment amber LED displays and is controlled by an incremental rotary encoder with a built-in push-button. Its EEPROM stores up to 34 dated annuncements permanently. (there is a seperate program to make annuncement changes)
Main ModeThe clock always reverts to time and date display after booting.
This has these display selections using the encoder dial:
1. Time and Date,
2. Temperature, light, and external voltage from a connector in the base,
3. A notice to select an Adjust mode by pressing the button,.
4. A notice to select the Review Mode by pressing the button,
5. A dark mode for forcing night use. It shows a movng dot,
6. The next announcement dated after or including today.
Adjust ModeThis has these adjustment selections using the encoder dial:
1. A notice to return to Main mode by pressing the button,
2 - 6. Edit clock time and date and options by pressing the button to enter Edit Mode.
7. Pressing the button switches between displaying temperature in degrees C or F,
8. Pressing the button switches between displaying the hour in 12 or 24 hour mode,
Edit ModeA copy of the selected item appears amd can be changed using the dial. Pressing the button puts the value into the RTC. The mode then jumps to the Main Mode clock display showing the new value.
Review ModeBy turning the dial all of the an announcements. The dial position increments first show the name, and the following increment shows the type of announcement and its date.
Pressing the button returns to Main mode.
Dark ModeThis is automatically entered when the light value detected by the photocell drops below a defined value. It appears just like the manually selected dark mode. A difference is that pressing the button shows time and date for a selected interval. When the light goes up again operation resumes where it left off,
These are the photos of the finished clock.
Here is the Arduino sketch.
Here are the circuit diagrams.