Ik ben voor school bezig met mijn profielwerkstuk over beeldschermtechnologieën en om de werking van een LCD scherm (passieve matrix) aan te tonen, wil ik dit als het ware namaken met een LED matrix.
Uiteraard heb ik het nodige aan onderzoek gedaan en de Arduino (Freeduino) heb ik inmiddels. Ik ben echter de draad een beetje aan het kwijt raken hoe ik dit nu verder moet aanpakken.
Het is me duidelijk dat ik een matrix van LEDjes moet maken van 6x6 (36 LEDjes) waarbij de 6 rijen en 6 kolommen zijn aansloten op 12 digitale I/O's van de Arduino. Om een LED op te laten branden gooi je dan de output in een rij op HIGH en de output in een kolom op LOW. Hoe dit verder allemaal verbonden moet worden ben ik wel uit, maar hoe het verder moet weet ik even niet precies. Mijn vraag is namelijk of het mogelijk is met Arduino alle 36 LEDjes binnen 20ms (50 Hz zodat er minimale flikkering optreedt) één keer aan te zetten, of dat ik dit anders moet aanpakken. Dit zou betekenen dat een LEDje binnen 20ms/36 = 0,55ms aangezet zou moeten kunnen worden.
Naast deze manier zie ik eigenlijk geen andere mogelijkheid, want wanneer ik meerdere LEDjes echt tegelijk zou aanzetten, krijg ik het probleem dat diagonale lijnen sowieso al niet getoond kunnen worden, omdat er dan LEDs gaan branden die ik helemaal niet wil laten branden. (Ik wil trouwens niet met een shiftregister (geloof dat het zo heet) werken, omdat dan de uitleg van een matrix voor mijn gevoel een beetje verloren gaat.)
Ik hoop dat iemand me weer even op weg kan helpen, dus alle tips/uitleg zijn welkom! (Mochten er andere denkfouten in mijn verhaal staan, laat het a.u.b. ook weten)
Uiteraard heb ik het nodige aan onderzoek gedaan en de Arduino (Freeduino) heb ik inmiddels. Ik ben echter de draad een beetje aan het kwijt raken hoe ik dit nu verder moet aanpakken.
Het is me duidelijk dat ik een matrix van LEDjes moet maken van 6x6 (36 LEDjes) waarbij de 6 rijen en 6 kolommen zijn aansloten op 12 digitale I/O's van de Arduino. Om een LED op te laten branden gooi je dan de output in een rij op HIGH en de output in een kolom op LOW. Hoe dit verder allemaal verbonden moet worden ben ik wel uit, maar hoe het verder moet weet ik even niet precies. Mijn vraag is namelijk of het mogelijk is met Arduino alle 36 LEDjes binnen 20ms (50 Hz zodat er minimale flikkering optreedt) één keer aan te zetten, of dat ik dit anders moet aanpakken. Dit zou betekenen dat een LEDje binnen 20ms/36 = 0,55ms aangezet zou moeten kunnen worden.
Naast deze manier zie ik eigenlijk geen andere mogelijkheid, want wanneer ik meerdere LEDjes echt tegelijk zou aanzetten, krijg ik het probleem dat diagonale lijnen sowieso al niet getoond kunnen worden, omdat er dan LEDs gaan branden die ik helemaal niet wil laten branden. (Ik wil trouwens niet met een shiftregister (geloof dat het zo heet) werken, omdat dan de uitleg van een matrix voor mijn gevoel een beetje verloren gaat.)
Ik hoop dat iemand me weer even op weg kan helpen, dus alle tips/uitleg zijn welkom! (Mochten er andere denkfouten in mijn verhaal staan, laat het a.u.b. ook weten)