Arduino WordClock

Hello Everyone, Riva specially!

Finally, my wordclock is ready to be shown. It is not completely terminated, but it will probably remain like this until I can have some more time to do what I have in mind.

It consists in a 475 x 475 mm MDF panel, with an acrylic on the front (with a black vinyl sticker with the lettering), three MAX 7219 that drive the 132 5mm white leds, an LDR to change the led intensisty according to the ambient light and a rotary encoder to set it up (just like Riva's).

Before I started this project I already had done a few experiments with the MAX7219 to drive a 7 segment display. So I took the strip-board that I've made and built two additional in order to be able to drive the remaining LEDs (132 total).

Right now everything follows very nearly the original project from Riva, besides the enclosure.
What I would like to do in the future is to change the rotary encoder with two capacitive touch buttons to make it real stealthy :wink:

In order to make it work with the three MAX7219, I had to modify the MAX library provided by Riva.
Initially, the library only supported 2 MAX ICs and to make the four corner leds work, I had to make it support all possible addresses of the three MAXes.
This one made me scratch my head a couple of hours. When I introduced the third MAX, at the beginning I started to see the corner leds light up but not in the way I was programming them. Test after test I started to realize that the leds were responding as they were controlled by the IC1. This led me to the solution as I stated for my own that it only could be a library related problem. After digging a little in the library I found that it was only prepared to manage addresses for 2 MAXes. Changed that and the corner leds started to work as expected! One per minute between each five minutes interval written with words

I just didn't realize yet how I will introduce some extended ASCII characters.
I didn't yet found where should I extend the loadBufferLong to accept all of the 255 characters. I think it is from the standard AVR library...
The other suggestion of replacing some unused characters of the fefault ASCII table is easier to implement. The only problem is that I did not figured yet how can I concatenate a character specified at the position 0x7f (for example) in an Birthday message or in a string of a Month...
I did see that for example you've used the character 0x7f (the 127 position) with the º character and that you've specified it's use in the temperature string.
How can I use such a character in a month string? Let's say "Março" that means March?

Thank you.

Ho! Here are some pictures:

2012-11-08 14.15.06 (Small).png

2012-11-08 14.15.18 (Small).jpg

2012-11-08 14.15.37 (Small).png

2013-02-24 22.48.24 (Small).jpg