This is a diode matrix which was written in C. The program takes less than 13kB.
Electronics:
The design is based on microcontroller Atmega32 (because game snake is also designed to be a part of this device). RTC used is DS1307. Three popular temperature sensors DS18B20 are automatically switched on after connecting and switched off after disconnecting. Matrix driver of this design is MBI5029.
Displaying:
12 display modes are available. 6 of them relate to scrolling text and another 6 – static presentation. You can get six color effects:
- red
- green
- yellow
- different colors of characters
- different colors of vertical lines
- different colors of horizontal lines
During the presentation, displayed information can be switched at any time by pressing the button. Brightness of the matrix is automatically adjusted to the environment (photoresistor and ADC).
Settings:
Settings are stored in the EEPROM. The rate of change of static text and scroll can be adjusted (separate options). Selection of information displayed (in the menu, green means switched on, red – switched off). The standard clock settings. Weekday is calculated from the Zeller formula (when saving to RTC). Control is via four buttons (but as well it can be two or even only one button).
Application:
The matrix is to be used at home as a thermometer. Adding such techniques is a result of adjusting the program to the user needs. Current consumption is about 150mA (depending on the brightness and information presented).
PCBs were made in thermal transfer method. Cables were protected with glue to prevent them from damage, the same as capacitors.
Pictures:
Link to original thread (useful attachment) -
Matryca diodowa 8x32 RG, automatyczna zmiana jasności