Läsa 4st knappar (inkl kombinationer) med endast 1st I/O
- 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
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
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
Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O
Ä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.
- 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
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.
Japp, det är en Arduino.
Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O
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.
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.
- 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
Det här ni helt rätt i. Får bli en mattestund ikväll
Kommer antagligen inte gå så bra det heller då jag precis hittade skinkan jag tidigare handlade... i fruktskålen!
Kommer antagligen inte gå så bra det heller då jag precis hittade skinkan jag tidigare handlade... i fruktskålen!
Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O
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.
- 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
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
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
Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O
Nä, en knippe motstånd och en whiskey låter trevligare
/K
/K
- 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
Mycket
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.
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.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
- 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
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!
Det verkar fungera kanon, så det här blir bra.
Tack för hjälpen!
- 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
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.
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.
Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O
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?
- 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
Bra fråga som jag svara nej på. Uträkningen baserades enbart på Ohms lag och en "ideal" ingång till AVR:en.lillahuset skrev:Har du kollat inströmmen för ADCn i AVRen?
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.
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.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?
Re: Läsa 4st knappar (inkl kombinationer) med endast 1st I/O
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.
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.