This was my first serious electronics project since beginning my studies,
that has resulted in an actual product, so to speak, and was not just a
temporary build on a breadboard.
Depending on firmware loaded this can be used as any kind of "smart"
dot matrix display with some I/O lines for user interface/data communication,
but its initial purpose was to become a better alarm clock, since I have
a bit of trouble getting up in the morning. The trouble has two principal causes: I do not want to go to bed in the evening, and I do not want to get out of bed in the morning. The alarm clock mitigates neither of these causes, but was fun to build anyway.
design
Initially a two board solution was planned, but only a display board was ever built of that iteration.
|
first display prototype |
The second iteration incorporated everything on a single board. Since I had at the time recently taken a course on EMC, I opted (probably unnecessarily) for a four layer design making sure I had a proper ground plane as well as sufficient power distribution and managed to make the board just a few millimetres bigger than the three 40x40mm led dot matrix units used for the display.
|
schematic |
The operation of the display is simple, three 74164 shift registers keep the columns high except for a scanning zero, and the rows are driven directly by the Atmega168 that controls everything. The trickiest part is finding a good speed, if switching too slow there will be a noticeable and very irritating flicker, and if switching too fast the amount of display-time for each column in relation to switching time will go down, with a dimmer display and even some ghosting as a result.
|
display side |
|
backside |
resources
|
working display and unpopulated board |
|
Horrible soldering on the SMT components. I blame the fact that I at the time did not have any flux pen. |
No comments:
Post a Comment