This is my upgraded version of a Digital & Binary Clock using an 8 Digit x 7 Segment LED Display.
I like to give new features for usual devices, specially clocks, and in this case the use of 7 Seg display for Binary Clock is unconventional and it is an interesting and a different way of applying it.
My choice in this project was to use a display powered by the MAX72xx wich is really useful because it uses only three digital Arduino ports. I also used an inexpensive DS1307 RTC module to store the time mode of clock on its internal memory: standard 24HS or AM-PM.
Every time you reset or restart the Arduino, the time mode will change.
The first four digits at left of display show the hours and minutes in decimal numbers. The next three digits show the hours, minutes and seconds in binary notation and the last digit at right inform the weekday.
About the code, I had to develop a way to use the "LedControl" library to turn conventional 7-Seg decimal display into a Binary display. The solution is to use "setRow" function that is usually applied for dot matrix display. With this function, you can control individually the display LEDs to create any chars pattern.
Hope you like!
Step 1: Material List
- Arduino UNO R3
- 8 Digits x 7 Segments LED Display with MAX7219
- DS1307 RTC Module (Real Time Clock)
- Tiny Breadboard
Step 2: Schematics
Mounting connections are shown in the attached sketch.
Follow carefully before turning on the power.
Step 3: Template
I made a model printed on paper to cover and facilitate reading of the LED display.
Just print and cut it over the 7 Seg Display.
Step 4: Arduino Code
In the attached file is the Arduino code.
You will need the following libraries to run this code:
LedControl.h - Library to control the LED display with MAX72xx
Wire.h - Library to support communications with RTC
DS1307RTC.h - Library to control the RTC
ravijag made it!