utgångar 8->88

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
fsvoo
Inlägg: 180
Blev medlem: 7 januari 2006, 23:51:19
Ort: Stockholm

utgångar 8->88

Inlägg av fsvoo »

Jag har tillgång till 8 utgångar och skulle vilja göra detta till 88 utgångar som styrs av de 8. Det blir ju 256 adresser så det borde ju inte vara några problem att lösa det på ett sånt sätt.
Men jag är nybörjare så vet inte rent konkret vad det handlar om för komponenter och kopplingar. Varje utgång ska få en lysdiod på 30 mA så en smidig lösning som samtidigt klarar att driva dessa vore ju det bästa för att få ner antalet steg och komponenter i kretsen.

skulle uppskatta några KONKRETA tips och lösningar :)
Användarvisningsbild
Icecap
Inlägg: 26151
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Inlägg av Icecap »

Nu är det en fråga som måste avklaras först:
* Är det en parallellport du har tillgång till? (då har man lite extra pinnar som gör livet enklare).
* Ska du kunna ändra data lite hur som helst i dessa 88 utgångar eller är det OK att ALLA ska uppdateras för en ändring?
Användarvisningsbild
Maze
Inlägg: 435
Blev medlem: 8 juni 2004, 18:49:29
Ort: Göteborg

Inlägg av Maze »

Jag hade nog använt mig av leddrivare tex dessa på Elfa art nr 73-337-43. Dessa har konstantströmsgeneratorer på utgångarna så du slipper resistorer för alla leds och klarar upp till 90 mA per utgång. Sitter även shiftregister och latchar i dessa så det räcker med 3-4 signaler att styra alltihop.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Inlägg av blueint »

http://en.wikipedia.org/wiki/List_of_74 ... d_circuits

74589
8-bit shift registers with input latches and 3-state output
http://www.elfa.se/elfa-bin/dyndok.pl?l ... 012992.htm

74595
8-bit shift registers with output latches
http://www.elfa.se/elfa-bin/dyndok.pl?l ... 012994.htm
Användarvisningsbild
fsvoo
Inlägg: 180
Blev medlem: 7 januari 2006, 23:51:19
Ort: Stockholm

Inlägg av fsvoo »

Icecap skrev:Nu är det en fråga som måste avklaras först:
* Är det en parallellport du har tillgång till? (då har man lite extra pinnar som gör livet enklare).
* Ska du kunna ändra data lite hur som helst i dessa 88 utgångar eller är det OK att ALLA ska uppdateras för en ändring?
Det är 8 utgångar på en PIC jag har. Datan ska helt klart kunna ändras hur som helst. Om det hjälper för insikten handlar det om att varje tangent på ett piano ska tända sin egen lysdiod via MIDI. Som det är nu fungerar det att en midisignal höjer en utgång men det får ju programmeras om efter vad nu lösningen blir. Varje diod måste precis som nu kunna vara tänd under tiden tangenten är intryckt samt att flera måste kunna tryckas in samtidigt ja du förstår. Inga såna begränsningar alltså.

Det jag kan tänka på är att koppla varje signal till en adress tex tonen C4 höjer till 00101000 och alltså tänder lysdiod 40. Det är en sådan koppling jag behöver hjälp med. Eller något annat bara det funkar :)

blueint: mm tack jag förstår att det är någon slags register det handlar om men hur?
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Inlägg av blueint »

Du matar in sekvensen av lysdioder du vill tända till skiftregistret. Sen aktiverar du latchen. Så tänds dom lysdioder du önskar.
Användarvisningsbild
fsvoo
Inlägg: 180
Blev medlem: 7 januari 2006, 23:51:19
Ort: Stockholm

Inlägg av fsvoo »

Mjo hade bara lite svårt att förstå mängden register man behöver i förhållande till de 8 utgångar jag har att tillgå.

Men efter lite googlande har jag förstått att man kopplar 11 register varav alla delar på clock/latch och de är ihopkopplade via serial out.
Så för varje uppdatering dundrar man på med 88 bitar varav de första 8 hamnar "längst bort" i kedjan register sen latchar man. Är detta den bästa metoden? Att bara använda sig av 3 utgångar.

LED-drivaren var ju perfekt, då ska man bara försöka hitta 15 såna lite billigt och sen sätta sig med koden.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Inlägg av sodjan »

Jämfört med pianotangenterna så går det snabbt att "dunka" ut 88 bitar
med en klocksignal. Sedan om man väljer vanliga 74HC shiftreg/latchar
eller de lite mer avancerade med strömbegränsning för direktdrivning
av lysdioderna är mer en praktiskt sak.

Du gör i princip :

1. Allokera 11 bytes "i rad" från GPR's i PICen som en buffert.
2. Skriv set/clear subrutiner som kan ta ett LED-nr som parameter och sätta/cleara rätt bit i bufferten.
3. Skriv en LED-update rutin som skickar ut alla 11 byte'sen.

Sedan, "ovanpå" detta, kommer rutinerna för att "mappa" MIDI signaleringen
till de två subrutinerna i punkt 2 ovan.
Punkt 2 avslutas med ett anrop till LED-update.
Eller så anropas LED-update via ett timerinterupt. Man kanske inte behöver
uppdatera lysdioderna snabbae än vad man hinner uppfatta i alla fall.
T.ex om man trycker 4 tangter samtidigt så är det onödigt att anropa
LED-update 4 gånger...
Användarvisningsbild
fsvoo
Inlägg: 180
Blev medlem: 7 januari 2006, 23:51:19
Ort: Stockholm

Inlägg av fsvoo »

Tack sodjan, mina generella programmeringskunskaper är extremt låga så det kan ju alltid behövas :)

DU som har mycket råkar inte ha det jag behöver? Drivare vore ju bäst men föredrar billigt och lättillgängligt här så vilka register som helst som klarar uppgiften går hem. Priserna är ju ganska tråkiga annars om man bara ska ha några småsaker från butik.
fraggel
Inlägg: 1
Blev medlem: 26 september 2009, 21:07:16

Re: utgångar 8->88

Inlägg av fraggel »

Tjena fsvoo,

För ett par veckor sedan fick jag samma idé som du verkar ha fått för ett par år sedan, nämligen att bygga en MIDI-styrd LED-ramp till min keyboard. Trodde att mina gymnasiekunskaper i elektronik och min hyfsade C-programmering skulle räcka, så jag införskaffade mig en PIC och satte igång. Mina kunskaper räckte inte alls till visade sig... :lol:

Hur gick det för dig? Fick du ihop något körbart? Har du i så fall lust att dela med dig av dina erfarenheter? :)
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4695
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: utgångar 8->88

Inlägg av Swech »

http://swechtrading.se/zencart/index.ph ... ucts_id=30
Ett sådant register går fint att driva 8 st lysdioder.
Det behöver 3 pinnar på din PIC...
och du kan seriekoppla i princip hur många du vill... så att du får dina 88 led.. (11 st mao)

Swech
Skriv svar