Många brytare på få I/O-pinnar

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
LHelge
Inlägg: 1772
Blev medlem: 2 september 2007, 18:25:31
Ort: Östergötland
Kontakt:

Många brytare på få I/O-pinnar

Inlägg av LHelge »

Jag skulle behöva koppla in ett gäng tryckknappar ~16 st till en microcontroller men har lite tight med I/O-pinnar över. Någon som kan tipsa om ett bra sätt att lösa detta.

Jag har funderat ut två, men jag vet inte om det finns fler:

1. En resistans mellan jord och en AD-ingång, knapparna kopplade som pull-up med olika resistans så det blir en spänningsdelare med olika värde beroende på vilken knapp man trycker på.

2. Pinne nio kopplad med en större resistor till 8 st andra pinnar, 2 tryckknappar per ingång är kopplade som pull-up resp. pull-down. pinne 1-8 pollas två ggr med pinne 9 hög resp. låg

Metod ett har fördelen att det teoretiskt bara behövs en ingång, men jag gissar att man egentligen skulle behöva dela upp det på flera AD-ingångar om man ska kunna känna av flera knappar samtidigt och det är givetvis brist på AD-ingångar också. Metod två klarar av ger 2N-1 knappar för N portar och det kommer förmodligen inte fungera bra att trycka på två knappar som sitter jämter varandra samtidigt.

Fler förslag?

Jag är ute efter något i stil med charlieplexing till lysdioder, 20 knappar på 5 digitala portar hade varit utmärkt!¨

Jag vet det givna svaret, byt till en större processor. Jag ska det, men jag vill kunna testa det på den lilla först.
labmaster
Inlägg: 2919
Blev medlem: 5 april 2011, 01:10:25

Re: Många brytare på få I/O-pinnar

Inlägg av labmaster »

Hur många I/O-pinnar har du över?
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Re: Många brytare på få I/O-pinnar

Inlägg av thepirateboy »

En googling gav detta förslag, kanske kan va nåt http://www.piclist.com/techref/microchi ... 8diode.htm
Användarvisningsbild
LHelge
Inlägg: 1772
Blev medlem: 2 september 2007, 18:25:31
Ort: Östergötland
Kontakt:

Re: Många brytare på få I/O-pinnar

Inlägg av LHelge »

labmaster: Om vi säger så här, desto färre pinnar jag behöver använda här, desto fler kan jag göra annat skoj med!

thepirateboy: Tackar! Precis något sådant jag var ute efter!
labmaster
Inlägg: 2919
Blev medlem: 5 april 2011, 01:10:25

Re: Många brytare på få I/O-pinnar

Inlägg av labmaster »

Om du från början berättat att du har 4 I/O pinnar ledigt så hade jag gett dig samma förslag som thepirateboy :).
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Många brytare på få I/O-pinnar

Inlägg av jesse »

labmaster: Om vi säger så här, desto färre pinnar jag behöver använda här, desto fler kan jag göra annat skoj med!

thepirateboy: Tackar! Precis något sådant jag var ute efter!
Det måste ju vara relativt till vad det ska få kosta i externa kretsar och programvara också. Det går säkert att klara med en enda pinne om det är så viktigt. Men då krävs det lite pyssel. Men funkar det med ett definierat antal pinnar är det ju betydligt lättare att komma på en lösning.
Senast redigerad av jesse 18 december 2011, 17:09:18, redigerad totalt 1 gång.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Många brytare på få I/O-pinnar

Inlägg av sodjan »

Kanske någon av :
http://www.microchip.com/wwwproducts/De ... e=en023500
http://www.microchip.com/wwwproducts/De ... e=en537376
Då får du interrupt m.m. "på köpet".

Det beror lite på om det ska vara en "bra" eller "snål" lösning.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Många brytare på få I/O-pinnar

Inlägg av Swech »

skiftregister
3 pinnar så har du i princip oändligt med ingångar

Swech
Användarvisningsbild
LHelge
Inlägg: 1772
Blev medlem: 2 september 2007, 18:25:31
Ort: Östergötland
Kontakt:

Re: Många brytare på få I/O-pinnar

Inlägg av LHelge »

Jag ville inte definiera antal pinnar just för att det är en prioriteringsfråga, har en massa andra funktioner som jag skulle vilja få in om de får plats. Men nu har jag fått en massa förslag.

Sweech förslag ligger bäst till just nu då det är hyffsat simpelt att implementera, jag kan få in 16+ både dioder och brytare på totalt 5 pinnar. Men framför allt, de går att få tag på nästan överallt, annars hade port expanders också fungerat bra, där sparar jag ju en pinne till.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Många brytare på få I/O-pinnar

Inlägg av jesse »

paralellkoppar du shiftregister kan du ha både ingågnar och utgångar på dem. Då behöver du fyra pinnar. clock och latch gemensamt, data in och data ut separat. Shifta ut data med 74HC595 samtidigt som du läser in data med 74HC165. Så har jag gjort med en panel med lysdioder, display och knappar. Samtidigt som jag shiftar ut data till lysdioder, bakgrundsbelysning och display så läser jag in status på knapparna. Länk till projektet.
Användarvisningsbild
LHelge
Inlägg: 1772
Blev medlem: 2 september 2007, 18:25:31
Ort: Östergötland
Kontakt:

Re: Många brytare på få I/O-pinnar

Inlägg av LHelge »

Så jag hade tänkt, men jag delar nog upp latchen.

Vad blir den praktiska skillnaden mellan att använda 74HC595 & 74HC165 jämfört med t ex HEF4094B & HEF2021B.

Drivspänningen är 3.3V och klockfrekvens vill jag komma upp i så hög som möjligt, men minst 1MHz. Verkar ju inte vara några problem med 74HC-kretsarna enligt databladet.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Många brytare på få I/O-pinnar

Inlägg av jesse »

Den praktiska skillnaden är väl ingen i ditt fall, tror jag?

74HC klarar matning från 2 till 6 volt
4000-serien omkring 3-15 volt men är långsammare.
1 MHz bör de väl ändå klara, antar jag. Datablad enligt NXP visar längsta propagation delay på 230 nS.
Användarvisningsbild
LHelge
Inlägg: 1772
Blev medlem: 2 september 2007, 18:25:31
Ort: Östergötland
Kontakt:

Re: Många brytare på få I/O-pinnar

Inlägg av LHelge »

Finns det någon anledning att inte välja 74HC? Den verkar billigare också.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Många brytare på få I/O-pinnar

Inlägg av jesse »

Jag väljer alltid 74HC numera. Bara om jag ska driva något med 12 volt kör jag med 4000-serien. Dom är oftast dyrare.
Skriv svar