Op deze pagina een LED loopkrant (of LED lichtkrant) gebasseerd rondom de ATtiny2313 AVR microcontroller, deze kun je zelf nabouwen (indien projekt is afgerond)
Het idee is om een tekst of bericht over een aantal dotmatrix LED display's te laten lopen. Een dotmatrix display is een display die 5x7 rasterpunten (LED's) bevat in een behuizing, de LED's zijn intern verbonden als een matrix, er zijn twee typen CC en CA (Common Cathode en Common Anode), de LED's zijn simpelweg omgedraaid t.o.v. het een en het andere type, zie de onderstaande afbeeldingen (resp. binnenkant en voorzijde):


Als je rond de 2.0 Volt zou aansluiten op bijv. de lijnen 4 en 10, dan zal de desbetreffende LED (rasterpunt) oplichten, de truc van het multiplexen is door de kolommen af te tasten (5 stuks) en telkens de data op de rijen (7 stuks) te aan te bieden, de multiplex-frekwentie moet groter zijn dan 40Hz, anders zie je de LED's teveel flikkeren (circa 5 msec per kolom is ongeveer 25 msec per beeldje)
Het aftasten (scannen) gaat als volgt, zet eerst de data op de 7 rijen bijv. 1010010, aktiveer dan (0 of 1 -> afhankelijk van welk type display CC = common cathode (gemeenschappelijke kathode), of CA = common anode (gemeenschappelijke anode)) de eerste kolom (0 or 1), de juiste LED's (rasterpunten) zullen nu oplichten, wacht nu ca. 5 msec, en schakel de kolom uit, laadt nu de data voor de volgende rij, en zet de tweede kolom aan, wacht weer 5 msecs, en schakel die weer uit, indien je deze volgorde heel snel herhaald zul je de data (karakter data) zien verschijnen op de display (herhaalfrekwentie 50 - 100Hz is ok, neem liever niet twee maal of halve maal de lichtnet frekwentie van exact 50 Hz)
De data voor de rijen komt bijv. van de interne EEPROM of flash geheugen van de AVR, je kan ook een extern EEPROM/flash IC nemen, de ATtiny2313 heeft 128 bytes EEPROM en 2k flash geheugen, wat je kan doen is de karakter-data (ASCII) in het flash geheugen laden (lees wat lager voor meer details) Hier het uittest-schema:

De 74HC595 is een 8-bit schuif-register IC, met dit IC kun je 8 bits naar de uitgangen schuiven d.m.v. 3-draads verbinding, dit zijn Data (Ds), en twee 'schuif' ingangen (SHcp, STcp), sluit het aan volgens het schema. Hoe werkt de 74HC595? Schuif eerst de 8 bits in de buffers met SHcp, schuif dan de buffers naar de uitgangen met STcp, dit veroorzaakt dat uitgangen in een keer van toestand veranderen, met bijv. een 74HCT164 kun je alleen de bits naar de uitgangen klokken (erin lopen van de bits), het voordeel van de 74HC595 is het opslag register. Vergeet niet dat het multiplexen veroorzaakt dat de LED's maar heel even oplichten, wil je dus dezelfde intensiteit (lichtopbrengst) dan moet je ervoor zorgen dat er meer stroom door de LED's gaat. Bovenstaand schema is voor oefening en het programmeren van de software, op het moment dat de software werkt kun je d.m.v. een driver IC of transistors de stroom verhogen. Hier beeld ik zoals je kan zien de letter R af op de display, gebruikmakend van een kleine breadboard: (volgende: Hoe het scrollen (lopen) gedaan kan worden...)

Hoe laat je een karakter over het display scrollen ? De truc is om een karakter op te bouwen op de display door de kolommen heel snel af te scannen, en om de zeg 20 keer (20 beeldjes) het een positie naar links te verschuiven, dit zal het effect geven van een lopende tekst over de dotmatrix display. Dus bouw eerst een beeldje op, herhaal dit 20 keer, en lees daarna de data een geheugenlocatie (adres) later uit, als je dit 5 keer (5 kolommen) doet zie je het karakter van rechts naar links bewegen van de display af. (het herhalen gaat zo enorm snel dat je hersens het niet bij kunnen houden, en wat je ziet is de R bewegen over de display) Ik wil tien 74HC595's nemen, dat zijn 10 x 8 bit = 80 bits / 5 kolommen = 16 dotmatrix displays, wat het een mooie loopkrant maakt.

Wat ik ga doen is, ik sla de ASCII data (dat zijn 128 x 5 bytes = 640 bytes) op in het 2k flash geheugen van de ATtiny2313 (zie 3de pagina voor meer info), dan heb ik 704 (2k = 2048 - 640 = 704) 'woorden' over voor het programma, dat is voldoende voor een behoorlijk complex programma!, omdat ik maar 69 (69 instrukties) programmaregels heb gebruikt tot op heden, en dat scrollt karakters vloeiend over de dotmatrix display. Ik heb het programma zo gemaakt dat je de scroll-snelheid kan instellen van 0 - 255, 25 beeldjes per scroll-stap is een mooie scroll-snelheid. Op een van mijn pagina's (deze pagina) gebruik ik een 2-bit Gray code draai-encoder, met deze knop wil ik een Edit funktie toevoegen aan the software, zodat je berichten kan veranderen zonder een toetsenbordje, dit bespaard ruimte. Dit type draai-encoder heeft een drukknop-funktie in de as, dus als je nadat je bijv. een karakter had geselecteerd zou je dat kunnen opslaan in het geheugen.