Arduino WordClock

saturno:
After some early matrix wiring "orientation problems", here is a quick video to show you my wordclock matrix.

wordclock PT v0.1 - YouTube
The face looks good. Having access to CNC machine and creating the light wells is a good idea and should make the thing less susceptible to light bleeding from one cell to the next. Hence me having to use bits of black plastic straws.

The base is MDF, CNC machined 20 mm front / 5 mm back holes and since it is 475 x 475 mm I made the electronics independent: i.e.: 1 stripboard for the arduino, 2 stripboards for the MAX7219, 1 stripboard for the rotary encoder and the LDR is directly connected with a three wire cable (I need to see where I am going to place it at the final)
Right now, everything is just wired together and suspended. When I figure how to fix everything to the clock's back, I'll post some pictures.
Will be nice to see some finished pictures. You could probably have mounted all the electronics on one piece of stripboard to reduce the complexity. I don't envy the wiring looms you must have :slight_smile:

I had to uncomment the setBrightness function to be able to make the auto-adjustable brightness work. Is there any reason for the function to be disabled in the code? It seems that it is working correctly without any further adjustment...
setBrightness is still active but I moved it to the doTime routine so it only adjusts every minute as the clock face is changing. I found you could get into a brightness hunting condition sometimes where it originally was. The brightness would adjust every second between two brightness levels and as the MAX chips only have 16 levels you really noticed it.

After some changes I am experiencing some slight flickering when some (already translated) words light up.
When translation, I always used the function: lc.setRow (0, 0, B01111000) as it seemed easier to do the match between the clock face and the code.

Can you explain to me why and when should I use each of these functions?
I would use setRow if no other letters from potential previously illuminated words are in that row else I would use setLed to finish filling the row and then setRow or setLed for the next row if the word spread across more than one row. Your likely getting flickering because your setting a led/filling a row and then another word is using setrow on the same row at a later point and wiping the previous led settings.