Calendar clock with Alfa numeric display for months and weeks.

Thread Starter

V. Hari Hara prasad

Joined Mar 14, 2013
4
I am Prasad from AP, India. My calendar clock shows week days as LED dots. How to display week names with Alfa numeric displays? Is there any resource on this topic on the net for my study?
 

Marley

Joined Apr 4, 2016
501
If you were designing a digital clock and you wanted to display the days of the week as text (Monday, Tuesday, etc.) you would (for example):-
  • Choose a suitable alphanumeric display
  • Choose a suitable micro-controller
  • Study the method of the micro-controller to communicate with the display
  • As part of the software code, you could write a function that sends data to the display.
This function might be something like (if you were developing your code in C):
disp_wr_char(int line, int column, char character)
Where you set the writing position and send the ASCII character to be displayed. Alternatively, you could write a function that sends a string of characters:
disp_wr_string(int line, int column, char *message)
The message string is an array of characters ending in a "carriage return" character (\r) so the function knows when to stop.
Somewhere else in your code you will have a variable that keeps track of the day of the week as an integer. 1 = Monday, 2 = Tuesday, etc. This variable will be incremented every day at midnight.
Then probably use a switch case construct to send the correct text string to the display depending on the day-of-the-week number.
switch(day) {
case 1:
disp_wr_string(1, 1, Monday);
break;
case 2:
disp_wr_string(1, 1, Tuesday);
break;
...
}
This is a very simplified example and there are many way to do this.
Does this help?
 
Last edited:

dl324

Joined Mar 30, 2015
16,732
My calendar clock shows week days as LED dots. How to display week names with Alfa numeric displays?
Personally, I find dot matrix displays to be more pleasing to read.

Alphanumeric displays are just fancy 7 segment displays with more segments:
1574691823825.png

You drive them the same way you would 7 segment displays, albeit with more segments to drive.
Is there any resource on this topic on the net for my study?
It's not a subject that requires extensive study. I'd create a lookup table in the form of an array to reference for each character you want to display.

EDIT: This is how I did a 7 segment display for hex numbers (adding letters and more segments just takes a larger array).

The lookup table:
1574694622933.png
This was done on Arduino, so I chose to pack all 7 segments in a single byte. The index into the array is the number to be displayed.

This is how the numbers were written:
1574694728884.png
Another reason that I chose to pack the segment data into a byte array is that I intended to write directly to the ports instead of doing multiple digitalWrite()'s. This makes the code more compact and faster, but less portable.

Other code updated the digits to be displayed (timerVal) and writing was done in an ISR:
1574694912268.png
EDIT: something looks wrong here, but you can get the general idea.
 
Last edited:
Top