pic, styra ledmatris. hur?
-
- Inlägg: 2436
- Blev medlem: 28 januari 2007, 18:45:40
- Ort: Kungsbacka
pic, styra ledmatris. hur?
Hej, jag funderar på att bygga ihop en sak på ett enkelt exprimentkort med 3st 5*7 ledmatriser och en pic och 4st knappar.
Ett portabelt pong spel ska det bli.
Är det ett bra första (riktiga) projekt med pic?
Jag har hållt på med elektronik ett tag och är rätt haj på basic stamp.
Och jag kan grund-grunderna i pic. jag har byggt några led blinkare i ASM och sådant.
Men min hududsakliga fråga är:
Hur styr jag lättast en 15*7 punkts led matris?
Någon sorts räknare för kolumerna och raderna till trissor som styrt från picen?
Då behöver jag 2pinnar för räknaren(MR och klocka) och 7st för raderna.
Ungefär hur snabbt behövs displayen uppdateras för att det ska se ut som att led:arna lyser samtidigt? 25Hz?
Behövs en 32 bitars pic med 5THz klocka eller räcker en typ en 16f627A vid 4MHz?
Självklart beror det på koden men ungefär vad räcker?
Ska jag ha knapparna som 4st interupts? ska jag ha 2 poliga och parallell koppla ena sidan och ha en interuppt som hoppar till en knapp läsar rutin?
Andra tipps?
Och tillsist skulle 4st R06(AA) räcka några timmar eller drar picen 10KA?
för led:arna blir i värsta fall 200mA*2=400mW och batterier på 2AH*1,5=3W.
3/0.4=7.5 timmar. eller?
Ett portabelt pong spel ska det bli.
Är det ett bra första (riktiga) projekt med pic?
Jag har hållt på med elektronik ett tag och är rätt haj på basic stamp.
Och jag kan grund-grunderna i pic. jag har byggt några led blinkare i ASM och sådant.
Men min hududsakliga fråga är:
Hur styr jag lättast en 15*7 punkts led matris?
Någon sorts räknare för kolumerna och raderna till trissor som styrt från picen?
Då behöver jag 2pinnar för räknaren(MR och klocka) och 7st för raderna.
Ungefär hur snabbt behövs displayen uppdateras för att det ska se ut som att led:arna lyser samtidigt? 25Hz?
Behövs en 32 bitars pic med 5THz klocka eller räcker en typ en 16f627A vid 4MHz?
Självklart beror det på koden men ungefär vad räcker?
Ska jag ha knapparna som 4st interupts? ska jag ha 2 poliga och parallell koppla ena sidan och ha en interuppt som hoppar till en knapp läsar rutin?
Andra tipps?
Och tillsist skulle 4st R06(AA) räcka några timmar eller drar picen 10KA?
för led:arna blir i värsta fall 200mA*2=400mW och batterier på 2AH*1,5=3W.
3/0.4=7.5 timmar. eller?
Sikta på 70-150 Hz uppdateringsfrekvens. Tänk efter, hur mycket tid behöver varje rad/kolumn uppmärksamehet då? Ska du dimma dem? Hinner en PIC det? Om du kodar asm vet du ganska exakt hur lång tid din kod exekverar.
Att styra tre LED-matriser med en PIC brukar inte vara det första projektet man ger sig in på, men du verkar ju ha koll nog att klara av det. Du kommer nog behöva en lite roligare PIC än 16F627A. Sikta på fler ben och möjlighet att köra med 20/40 MHz kristall (en ur 18-serien), så slipper du förhoppningsvis tidsbristproblem.
Att styra tre LED-matriser med en PIC brukar inte vara det första projektet man ger sig in på, men du verkar ju ha koll nog att klara av det. Du kommer nog behöva en lite roligare PIC än 16F627A. Sikta på fler ben och möjlighet att köra med 20/40 MHz kristall (en ur 18-serien), så slipper du förhoppningsvis tidsbristproblem.
-
- Inlägg: 2436
- Blev medlem: 28 januari 2007, 18:45:40
- Ort: Kungsbacka
Okej, tack för de snabba svaren.
Men om jag skippar ASM och kör på micro C istället.
Då lär ju koden inte bli ett problem (Jag brukar programmera "vanliga" språk halva min vakna tid.)
Och en pic 18 något med kanske 28 ben och 20MHz. Räcker det för att få 100Hz på leden eller sinkar C mycket?
Men att använda någon sorts räknare för X och "direkt" styra Y är så man brukar göra eller? och finns det röknare som har 15 utgångar? eller ska man krångla till det med kaskad kopplingar och sådant?
Men om jag skippar ASM och kör på micro C istället.
Då lär ju koden inte bli ett problem (Jag brukar programmera "vanliga" språk halva min vakna tid.)
Och en pic 18 något med kanske 28 ben och 20MHz. Räcker det för att få 100Hz på leden eller sinkar C mycket?
Men att använda någon sorts räknare för X och "direkt" styra Y är så man brukar göra eller? och finns det röknare som har 15 utgångar? eller ska man krångla till det med kaskad kopplingar och sådant?
-
- Inlägg: 2436
- Blev medlem: 28 januari 2007, 18:45:40
- Ort: Kungsbacka
Den hade en inbyggd teckentabell och jag använde den till att visa bokstäver som kom via serieporten. Den tig första bokstav till sig och skickade resten vidare, alla mottagna bytes från 120 och upp var intensitets- och utläsningskommando, 128 var "släck ner helt" och sedan var det 126 intensitetssteg till "full patte".
Karaktären 127 var en specialare: den blinkade en cirkel med full styrka.
Väldigt enkelt alltså, jag gjorde allt i ASM men hade likaväl kunna göra det i C fast det "fanns inte" då (gammalt projekt).
Karaktären 127 var en specialare: den blinkade en cirkel med full styrka.
Väldigt enkelt alltså, jag gjorde allt i ASM men hade likaväl kunna göra det i C fast det "fanns inte" då (gammalt projekt).
Eller en färdig matris med 8 st 8x8 matriser :
http://elektronikforumet.com/forum/view ... =ledmatris

http://elektronikforumet.com/forum/view ... =ledmatris

-
- Inlägg: 2436
- Blev medlem: 28 januari 2007, 18:45:40
- Ort: Kungsbacka
Bilden för bred ?
Nja, den är exakt lika bred som modulen...

Det finns flera andra trådar som innehåller länkar till
både dokuemtation och programexempel. Men i princip
fungerar det som ett stort shiftregister, men får alltså
shifta in bitarna till en rad med dots (128 bitar eftersom det
är röd/grön matriser), vänta ett litet tag och sedan shifta
in data till nästa rad med dots. Upprepa 8 gånger inom lämplig
tid för att slippa "blinkningar".
Nja, den är exakt lika bred som modulen...


Det finns flera andra trådar som innehåller länkar till
både dokuemtation och programexempel. Men i princip
fungerar det som ett stort shiftregister, men får alltså
shifta in bitarna till en rad med dots (128 bitar eftersom det
är röd/grön matriser), vänta ett litet tag och sedan shifta
in data till nästa rad med dots. Upprepa 8 gånger inom lämplig
tid för att slippa "blinkningar".
-
- Inlägg: 2436
- Blev medlem: 28 januari 2007, 18:45:40
- Ort: Kungsbacka
Okej. det sättet att styra låter lite overkill i detta samanhanget.
Jag tror faktiskt att 2st av de matriserna räcker.
hmm. JA! då blir det 10st columer som jag kan styra från en johnson räknare!
Det skulle gå att styra enklare då va?
Aja nu ska man bara vänta tills man orkar sätta fart med det.
Edit:
Jag visste inte vad ett shift register var men nu när jag vet det så har jag tänkt om.
Att ha ett 8bitars shiftregister på X och styra Y från picen via trissor hade passat mig bra.
Och att SPI och shiftregister funkar bra tillsammans märkte jag när jag slö läste lite om seriekommunikation.
Bara att invertera klockan och köra ju.
Jag tror faktiskt att 2st av de matriserna räcker.
hmm. JA! då blir det 10st columer som jag kan styra från en johnson räknare!
Det skulle gå att styra enklare då va?
Aja nu ska man bara vänta tills man orkar sätta fart med det.
Edit:
Jag visste inte vad ett shift register var men nu när jag vet det så har jag tänkt om.
Att ha ett 8bitars shiftregister på X och styra Y från picen via trissor hade passat mig bra.
Och att SPI och shiftregister funkar bra tillsammans märkte jag när jag slö läste lite om seriekommunikation.
Bara att invertera klockan och köra ju.