hallo co´ers
ik heb een led matrix dat ik aanstuur met een pic
dit werkt perfekt
en heb een simpel progje draaien dat alleen alle led´s een voor een laat branden maar nu wil ik wel iets anders
weet iemand of kan iemand mij helpen hoe ik zoiets programeer
ik kan zelf wel wat bedenken maar moet dan elke led een voor een aan of uit zetten dit moet denk ik makkelijker kunnen
graag hulp alvast bedankt
Doe dat een voor een aansturen een beetje sneller zodat je oog niet meer kan volgen, en je ziet verschillende leds tegelijk oplichten 
mr.stijntje
Een banaan schillen met een vork is slimmer dan een cactus pellen met een afwaskwast. ©Graafvaag
Ik was ook met zoiets bezig tot mijn wisp het opgaf. Je kunt de rijen van boven naar beneden om de beurt aanzetten, en dan telkens je 'rij' op de kolommen zetten. Stel je wilt dit maken: (Een soort smiley)
-o-o-
-----
o---o
-ooo-
Dan laat je je pic eerst rij 1 hoog maken, en kolom 2 en 4 laag. (Draai laag en hoog om als je matrix andersom werkt) Vervolgens maakt de pic rij 1 laag, twee hoog, en alle kolommen hoog. (Hoog-hoog = geen licht) Daarna gaat rij 2 weer laag en rij 3 hoog, en kolom 1 en 5 hoog. Etc..
Je kunt hierbij natuurlijk heel goed gebruik maken van binaire waardes. Voor de bovenste regel, ervan uitgaand dat de 5 kolommen op pin A0 tot en met A4 zitten:
PORTA = %11110101
Dat kun je eerst bouwen met seconden ertussen, en als alles goed werkt maak je daar milliseconden van. Voilla: plaatje.
Als je trouwens meerdere leds per rij tegelijk wil laten branden, dan moet je met transistors gaan werken. Je pic kan maar max 25mA per pin aan geloof ik, met BC557 en BC547 kun je resp de positieve en negatieve kant schakelen.
[Bericht gewijzigd door mr.stijntje op (12%)]
je kan het plaatje in een array zetten:
dim smiley[4] as byte
dim x as byte
trisa = 0
trisb = 0
smiley[0] = %1110101
smiley[0] = %1111111
smiley[0] = %1101110
smiley[0] = %1110001
En dan uitvoeren
while 1=1
for x = 0 to 4
porta = 255
clearbit porta, x
portb = smiley[x]
next x
wend