TGB -> PIC

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
persika
EF Sponsor
Inlägg: 1552
Blev medlem: 31 juli 2006, 22:14:37
Ort: Österlen, Skåne

TGB -> PIC

Inlägg av persika »

Är det någon här som vet ett finurligt sätt att koppla
ett 16-knappars tangentbord (xy-matris) till en PIC,
med att använda så få ben som möjligt ?
Användarvisningsbild
Rohan
Inlägg: 1067
Blev medlem: 7 april 2004, 08:24:39
Ort: Eksjö, Småland
Kontakt:

Inlägg av Rohan »

Med ett antal motstånd så kan du använda ett ben, en adc. :)

I x-led sätter du motstånd med storlek 0, 1R, 2R och 3R. I y-led använder du 4R, 8R, 12R och 16R. När du trycker ner en knapp så sluts en krets med ett motstånd ur varje serie och du får exempelvis 2R + 12R = 14R. Sen får du se till att använda en AD-omvandlare för att kunna läsa ut något meningsfullt.

Så ett ben räcker.
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

Låt säga att man använder följande teknik:
Roterande nolla på raderna (ut) och pullup-motstånd på kolumnerna (in).
Sekvensen för raderna består av fyra steg, vilket alltså teoretiskt kan realiseras med TVÅ bitar (med t.ex. ett skiftregister eller logikkretsar).
Ingångarna kan kodas enligt samma princip. De fyra möjliga kolumnerna kan ju ha fem tillstånd. (0x00, 0x01, 0x02, 0x04, 0x08). De fem kombinationerna kan representeras med TRE bitar. Rent elektriskt sett så kopplar du tre av kolumnerna direkt till tre bitar på mcu:n. Det fjärde kopplar du till två av de tre benen men via två dioder.

Svårt att förklara i ord, men om det låter som ett bra förslag så kan jag förklara bättre. =)

Totalt sett har du då minskat från åtta till fem ben. Vill du minska mer så finns det speciella tangentbordsavkodningschip som dessutom kan innehålla avstudsning.
Användarvisningsbild
exile
EF Sponsor
Inlägg: 496
Blev medlem: 21 oktober 2005, 23:32:07

Inlägg av exile »

Lite förklaring på det som har sagts ovan ^^ länk
sodjan
EF Sponsor
Inlägg: 43267
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Är det någon här som vet......

Mycket möjligt, men även Microchip vet :

http://ww1.microchip.com/downloads/en/D ... 40040b.pdf
Användarvisningsbild
persika
EF Sponsor
Inlägg: 1552
Blev medlem: 31 juli 2006, 22:14:37
Ort: Österlen, Skåne

Inlägg av persika »

Har sett det med motståndskopplingen på Microchip länken.
Det är ju enkelt o bra om man har AD i pic'en.
Om man är snål o väljer en pic utan AD, skulle man kunna koppla paketet med tgb+motstånd i en oscillatorkoppling, och istället mäta periodtiden med ett pic-ben. Oscillator med OP-förstärkare eller en inverterare typ 74HC14.
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

Flera lösningar med A/D-omvandlare fungerar med komparator också. T.ex den i PIC 16F628. Färre spänningsnivåer att detektera men samma grundprincip.

Rattknapparna till stereon på SAAB:ar fungerar med knapparna i en motståndskedja. Dessa kan läsas av med en 16F628 t.ex. Kräver bara en ingång.
Skriv svar