Introduction: Arduino MAX7219 Real Time Clock

Arduino-MAX7219-7-Segment-Led-Clock

This real time clock is based on RTC chip DS3231

7 Segment led construction ( common cathode type )

Display board is a custom made 7 Segment led (you can use any readily available 7 segment leds).
it uses 5 parallel connected 3mm diffused leds to make one segment. A total of 35 leds needed for one digit. since we are using max7219 as 7 segment driver we must construct the diplay as common cathode type ie all -ve of the one digit leds should be tied together.

Microcontroller

I have used Arduino Pro Mini as the microcontroller ( you can use any arduino compatiable board ).

Buttons

  1. Select button

  2. Menu button

  3. Up button

  4. Down Button

Pressing the menu button will cycle through the all available menus

  • MENU_HH_MM ( clock displays current Hours and Minutes )

  • MENU_MM_SS ( clock displays current Minutes and Seconds )

  • MENU_DD_MM ( clock displays current date and month )

  • MENU_YY_YY ( clock displays current year )

  • MENU_LIGHT ( clock displays current brightness level of the display )

Pressing the select button will enter into the edit mode for the current
menu (edit mode will timeout after 12 seconds of inactivity), Pressing again will cycle through the current menu items. Pressing Up Down buttons when in edit mode will increase or decrease the value. Pressing Up button when not in edit mode will diplay the current menu info as follows (info mode will timeout after 3 seconds)

Pressing Down button will run the test code, which will test the display

  • test for each individual segment.

  • test for full 16 hex characters.

  • test for display intensity from min t0 max and max to min

Power Supply

5v/500ma ( i used my old nokia charger )

Display Filter

used 2mm black transparent acrylic sheet as glass.

CODE

GitHub