Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av Magnus_K »

Hej!

Jag har tyvärr bara en enda I/O kvar (både med analog och digital möjlighet), och behöver läsa av 4 st knappar.
Enkelt tänkte jag, det blir bara att spänningsdela och läsa ingången analogt.
Enligt rutin haltar jag till på målsnöret då jag "förbisåg" den lilla funktionen att jag måste också kunna läsa kombinationer. Inte all möjliga kombinationer utan 3 specifika, och alltså urskilja dessa från "enkla" knapptryck.

Vet ni om det går att lösa?

EDIT: Äsch, handlade bara om att söka mer. Här tex -> http://forum.arduino.cc/index.php?topic=8558.0
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av Janson1 »

Är det arduino? Det borde gå med 3 motstånd i serie och 4 knappar där varje knapp sitter mellan två motstånd. Sen ge en analog nivå per knapp och olika tider via millis eller nån annan tidsräkning.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av Magnus_K »

Hmm, vet inte riktigt hur du menar... Blir det inte att den knappen "närmast" I/O:n kommer avläsas då? Hur kommer millis in i bilden?

Japp, det är en Arduino.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av Icecap »

Magnus_K: Om man gör en spänningsdelare där det finns ett pull-up motstånd samt 4 st pull-down i serie OCH att varje pull-down har en brytare över kommer man att få olika spänningar OM de 4 motstånd i serie har OLIKA värden.

Ett exempel är att de "låga" motstånd är på t.ex. 1k, 2,2k, 4,7k, 10k och det "höga" motstånd är på t.ex. 4,7k.

Jag ids inte räkna ut vilka spänningar det ger i de olika kombinationer men det är fullt möjligt att dekoda de 16 olika kombinationer som 4 knappar ger, baserat på A/D-värdet.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av Magnus_K »

Det här ni helt rätt i. Får bli en mattestund ikväll :tumupp:

Kommer antagligen inte gå så bra det heller då jag precis hittade skinkan jag tidigare handlade... i fruktskålen! :doh:
Castor
Inlägg: 1981
Blev medlem: 24 mars 2012, 13:03:49

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av Castor »

Det är nästan enklare att koppla upp och testa än att räkna, men det funkar, ett annat alternativ är ju med shiftregister men då behövs ju lite logik för latch/shift.
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av Magnus_K »

Hmm nja, det blir lite för mycket "runt omkring"...
Har riggat upp knapparna och en ATmega328P på brädan nu. Ihop med en låda motstånd så måste det gå att lösa under kvällen utan några räkneskaper :)

EDIT: Nej fasen, tar LTSpice istället. Det går nog ännu snabbare :tumupp:
johano
Inlägg: 1943
Blev medlem: 22 januari 2008, 10:07:45
Ort: Stockholm

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av johano »

Nä, en knippe motstånd och en whiskey låter trevligare :-)

/K
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av Magnus_K »

Mycket :D

Med dom här värdena så kan jag få ut 0-2,61V med 3V3-referens.
Körde i stort sett på dina värden x10, Icecap. Det som är riktigt bra är att standby-strömmen när ingen knapp trycks in hamnar ~15µA.
Ser ni någon förbättring?

Ps. Har babblat lite om att göra som en R-2R DAC men kom senare på att man antagligen är beroende av SPDT-brytare, och inte SPST, som jag har här. Raderade det meningslösa inlägget... Ds

EDIT: Ändrat nedersta 22k-motståndet till 10k.
Knappdelare.JPG
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
xrayspex
EF Sponsor
Inlägg: 270
Blev medlem: 23 december 2010, 20:38:33
Ort: Limhamn

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av xrayspex »

R4 har väl fel värde?
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av Magnus_K »

Njo. La till en "EDIT" i föregående inlägg istället för att uppdatera bilden.
Det verkar fungera kanon, så det här blir bra.
Tack för hjälpen! :tumupp:
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av lillahuset »

Har du kollat inströmmen för ADCn i AVRen?
Jag blev lite fundersam när du skrev att strömmen utan någon knapp tryckt var ≈15µA och min minnesbild av någon typ av AVR (mega16?) jag höll på med för många år sedan var att ADCn krävde rätt mycket ström för att ge ett någorlunda korrekt värde. Iallafall vid den samplingshastighet vi använde. Eller också bara vanliga hjärnspöken. :)
Janson1
Inlägg: 1338
Blev medlem: 1 december 2016, 09:06:02
Ort: Marks Kommun

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av Janson1 »

Om man skall använda flera analoga ingångar så blir det viktigare med att inte ha för höga motstånd på ingångarna. Jag antar att dom andra är upptagna? Tyckte jag läste i början att alla andra anslutningar var använda?
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av Magnus_K »

lillahuset skrev:Har du kollat inströmmen för ADCn i AVRen?
Bra fråga som jag svara nej på. Uträkningen baserades enbart på Ohms lag och en "ideal" ingång till AVR:en.
Eventuellt kommer jag behöva gå ner i värden för att få till lite stabilitet men det gör inte så mycket. Det kommer vara två st elmotorer med bara cm från ingången så det blir säkert en del labbning med filtrering och annat.
Janson1 skrev:Om man skall använda flera analoga ingångar så blir det viktigare med att inte ha för höga motstånd på ingångarna. Jag antar att dom andra är upptagna? Tyckte jag läste i början att alla andra anslutningar var använda?
Jo precis. Har bara 1st I/O kvar på 328:an som är "reserv". Det kommer garanterat vara någon pinne jag inte kan använda till det jag vill.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O

Inlägg av Icecap »

På PIC anges det att man måste ha en konding på ingången, helst låg-ESR. 100nF duger bra.

Detta får att A/D-omvandlaren ska ladda upp kondensatorkedjan.

Det går i övrigt att använda samma princip men att då ha knapp+motstånd i parallell. Då dras inget ström när knapperna är obelastade.
Senast redigerad av Icecap 11 april 2018, 23:19:07, redigerad totalt 1 gång.
Skriv svar