4 knappar på <4 pins
-
danielr112
- Inlägg: 8094
- Blev medlem: 18 januari 2009, 00:48:24
- Ort: Alvesta, Småland
4 knappar på <4 pins
Behöver lite hjälp.
Jag har en Paj. På den finns inga analoga inputs och det är ont om IO pinnar. (Nej det är det egentligen inte men jag behöver många in och ut gångar till annat)
Det är alltså 4 knappar. Kan man på något smidigt sätt med lite hemma-komponenter få ihop det på färre än 4 pinnar? Finns de förslag på vettiga sätt? Funderade först på att fejka analog ingång genom en kondensator och räkna tiden det tar att höja/sänka spänningen. Men när jag kollat runt så skippade jag detta.
Kan man på nåt klurigt sätt korskoppla för att få ner antalet pinnar för 4 knappar?
Jag har en Paj. På den finns inga analoga inputs och det är ont om IO pinnar. (Nej det är det egentligen inte men jag behöver många in och ut gångar till annat)
Det är alltså 4 knappar. Kan man på något smidigt sätt med lite hemma-komponenter få ihop det på färre än 4 pinnar? Finns de förslag på vettiga sätt? Funderade först på att fejka analog ingång genom en kondensator och räkna tiden det tar att höja/sänka spänningen. Men när jag kollat runt så skippade jag detta.
Kan man på nåt klurigt sätt korskoppla för att få ner antalet pinnar för 4 knappar?
Re: 4 knappar på <4 pins
Varför skulle inte RC-modellen funka?
Om du inte behöver kunna trycka på (eller detektera snarare) mer än en knapp åt gången kan du ju kombinera ihop det till 3 ingångar. Om du kan klara dig med tre knappar räcker det med två ingångar.
Knapp_1 -> In_1
Knapp_2 -> In_2
Knapp_3 -> In_1 & In_2
Knapp_4 -> In_3
Annars, ett eller flera shiftregister. 2 eller 3 pinnar, "obegränsat" med ingångar.
Om du inte behöver kunna trycka på (eller detektera snarare) mer än en knapp åt gången kan du ju kombinera ihop det till 3 ingångar. Om du kan klara dig med tre knappar räcker det med två ingångar.
Knapp_1 -> In_1
Knapp_2 -> In_2
Knapp_3 -> In_1 & In_2
Knapp_4 -> In_3
Annars, ett eller flera shiftregister. 2 eller 3 pinnar, "obegränsat" med ingångar.
- prototypen
- Inlägg: 11108
- Blev medlem: 6 augusti 2006, 13:25:04
- Ort: umeå
Re: 4 knappar på <4 pins
Fyrkantvåg ut på en pinne fyra knappar med dioder och 2 ingångar, sedan behövs det pullup/downmotstånd som ligger i motfas mot fyrkantvågen.
Eller SPI med 3 anslutningar, klarar hur många som helst med skiftregister.
Protte
Eller SPI med 3 anslutningar, klarar hur många som helst med skiftregister.
Protte
-
danielr112
- Inlägg: 8094
- Blev medlem: 18 januari 2009, 00:48:24
- Ort: Alvesta, Småland
Re: 4 knappar på <4 pins
Orsaken att jag skippade RC modellen är att den kändes mer "avancerad" än vad jag vill ha det samt att jag ville ha nåt som kändes enklare.
Men med 3 pinnar är ju bättre än 4 och då kan jag ju ha 5 knappar med om de behövs
Men med 3 pinnar är ju bättre än 4 och då kan jag ju ha 5 knappar med om de behövs
Re: 4 knappar på <4 pins
Har du inte några andra utgångar som kan "lånas" medan du läser av knapparna, t.ex dataledningar till en LCD eller så? Då behövs bara några dioder och en ingång.
/J
/J
Re: 4 knappar på <4 pins
Som nämts tidigare. Ta ett shiftregister som 74hct166.
Du kan också kolla på MCP23008 som kör I2C.
Shiftregister är helt klart enklast. ( du behöver data in, clock och load). Med en resistor mellan 74hct166 och inpinnen på MCU så kan du t.o.m. få utgångar, ta en 74595 och klocka först ut vad utgångarna ska vara, dra i load och shifta in vad ingångarna är. Enda nackdelen är att utgångarna måste uppdateras varje gång.
Du kan också kolla på MCP23008 som kör I2C.
Shiftregister är helt klart enklast. ( du behöver data in, clock och load). Med en resistor mellan 74hct166 och inpinnen på MCU så kan du t.o.m. få utgångar, ta en 74595 och klocka först ut vad utgångarna ska vara, dra i load och shifta in vad ingångarna är. Enda nackdelen är att utgångarna måste uppdateras varje gång.
-
danielr112
- Inlägg: 8094
- Blev medlem: 18 januari 2009, 00:48:24
- Ort: Alvesta, Småland
Re: 4 knappar på <4 pins
I detta fallet handlade om vad jag har hemma just nu i helgen 
Kan ev koppla bort någon port när man klickar till på ena knappen. Kan ivf frigöra 2 utgångar skulle jag tro som inte behövs under tiden.
Kan ev koppla bort någon port när man klickar till på ena knappen. Kan ivf frigöra 2 utgångar skulle jag tro som inte behövs under tiden.
Re: 4 knappar på <4 pins
Om du är någorlunda bra på PIC programmering (kanske overkill för det du vill ha) så kan du använda 1 analog in. PICen läser av vilken knapp som tryckts och skickar ut motsvarande spänningsnivå på en analog ut.
-
limpan4all
- Inlägg: 8510
- Blev medlem: 15 april 2006, 18:57:29
- Ort: Typ Nyköping
Re: 4 knappar på <4 pins
En 555, ett motstånd till varje knapp, koppla som oscillator. Om du väljer rätt motståndsvärden så kan du detektera om en, två, tre eller alla fyra knappar är intryckta och du förbrukar bara en CPU pinne, låt CPU´n mäta periodtiden.
-
danielr112
- Inlägg: 8094
- Blev medlem: 18 januari 2009, 00:48:24
- Ort: Alvesta, Småland
Re: 4 knappar på <4 pins
PIC är uteslutet även om jag funderade på det med. Har sakerna liggandes för det med.
Det med 555 an var smart. Låter helt klart som en ide faktiskt. Det är ju komponenter som man har hemma
Det med 555 an var smart. Låter helt klart som en ide faktiskt. Det är ju komponenter som man har hemma
-
sebastiannielsen
- Inlägg: 3663
- Blev medlem: 11 september 2004, 09:30:42
- Ort: gbg
- Kontakt:
Re: 4 knappar på <4 pins
om det inte är nödvändligt att känna av flera än 1 knapp samtidigt kan man köra med dioder:
Alla knappar matas med en 1:a. (eller jordas om man hellre vill ha/har pullup på ingångarna - tänk på hur dioderna är vända)
knapp 1 kopplas via diod till ingång 1
knapp 2 kopplas via diod till ingång 2
knapp 3 kopplas via dioder till ingång 1 & 2.
knapp 4 kopplas via diod till ingång 3
knapp 5 kopplas via dioder till ingång 1 & 3
knapp 6 kopplas via dioder till ingång 2 & 3
knapp 7 kopplas via dioder till ingång 1 & 2 & 3
Sedan läser du av vilken knapp som blev tryckt binärt. 7 knappar på 3 pinnar.
Alla knappar matas med en 1:a. (eller jordas om man hellre vill ha/har pullup på ingångarna - tänk på hur dioderna är vända)
knapp 1 kopplas via diod till ingång 1
knapp 2 kopplas via diod till ingång 2
knapp 3 kopplas via dioder till ingång 1 & 2.
knapp 4 kopplas via diod till ingång 3
knapp 5 kopplas via dioder till ingång 1 & 3
knapp 6 kopplas via dioder till ingång 2 & 3
knapp 7 kopplas via dioder till ingång 1 & 2 & 3
Sedan läser du av vilken knapp som blev tryckt binärt. 7 knappar på 3 pinnar.
-
danielr112
- Inlägg: 8094
- Blev medlem: 18 januari 2009, 00:48:24
- Ort: Alvesta, Småland
