LED-Matrizen stellen einen Klassiker der Mikrocontrollerexperimente dar.
Will man nicht zuviel Energie in die Softwareentwicklung stecken, so ist es bei LED-Matrizen extrem wichtig auf ausreichend Speicherplatz zu achten. Zum Einsatz kommt daher ein Atmega32.
Der SPI-Bus des Mikrocontrollers steuert
zwei TPIC6595-Schieberegister. Die Schieberegister bedienen die Spalten der
LED-Matrix und über drei Ausgängen zusätzlich einen Multiplexer. Die Signale des
Multiplexers werden in einem Speicherregister abgelegt und einem Treiber
zugeführt. Bei der Auswahl der Schieberegister ist darauf zu achten, dass sie
den maximalen Strom einer voll aktivierten Leuchtdiodenreihe durchleiten können.
Der Aufbau der Ansteuerung ist nicht besonders effizient, da die Schieberegister
nicht voll ausgenutzt werden. Die Auswahl der LED-Zeilen könnte der
Mikrocontroller ebenso direkt übernehmen, durch die Nutzung der
SPI-Schnittstelle für alle Daten vereinfacht sich die Programmierung allerdings
noch weiter.
Drei Debug-LEDs helfen bei der
Programmierung.
Durch die Integration eines RS232-Pegelwandlers ist es später
möglich eine Ansteuerung über einen Computer umzusetzen.
Trotz eines einlagigen Layouts waren keine Drahtbrücken notwendig.
Qualitätsarbeit eines Kommilitonen.
Bei dermaßen vielen Bohrlöchern ist eine kleine Standbohrmaschine ein sehr hilfreiches Werkzeug.
Unter dem nicht ganz aufliegenden Widerstand im hinteren Teil des Bildes befand sich eine Unterbrechung, die überbrückt werden musste.
Am Eingang des Multiplexers fehlten noch Pull-Down-Widerstände, was ein Provisorium korrigieren musste.
Die Programmierung erfolgt wie üblich mit dem AVR-Studio und dem STK500.
Hier der Entwurf für eine 16x16-LED-Matrix, bei der auch die Zeilenauswahl über den SPI-Bus gesteuert wird.
Die zugehörige Platine wäre zweilagig, wurde aber nie realisiert.