Avkoda USB-tangentbord med PIC

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Avkoda USB-tangentbord med PIC

Inlägg av newbadboy »

Ska koppla ett litet numeriskt usb (1-9/*-+enter) tangentbord till en PIC.

Sedan ska jag typ göra enkla grejer som att trycker jag siffran 1 och enter tänder jag en led en kort stund.

Finns det ngn bra sida med underlag och fakta hur man avkodar usb med just PIC kanske lite schema/ program exemmpel etc.

Kan tilläga att jag skriver i MikroC så det är ett extra plus om dess syntax används i exempel ;)
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Avkoda usb tangetent bord med PIC

Inlägg av bearing »

Vad använder du för PIC? Det är inte många PIC som kan vara USB Host.

USB-tangentbord brukar kunna köra PS2-protokollet på samma pinnar som USB. I alla fall de första USB-tangentborden. De anslöts med en passiv USB/PS2-adapter. PS2 borde inte vara så svårt att läsa av med en vanlig 8-bit PIC.
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Avkoda usb tangetent bord med PIC

Inlägg av newbadboy »

Det är eg fritt fram att välja. Inte ens pic kretsen är bestämd. Vore trevligt med så lite mellan elektronik som möjligt
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Avkoda usb tangetent bord med PIC

Inlägg av bearing »

Tror att du behöver gå upp till PIC32 för att få USB-host.
Vad har du själv letat fram?

http://www.mikroe.com/download/eng/docu ... ibrary.htm
Längst ned finns kopplingsschema.

EDIT: Hade visst råkat länka till MikroBasic-biblioteket, men finns såklart även till MikroC, dock utan kopplingsschemat, så jag låter länken ovan ligga kvar.
http://www.mikroe.com/download/eng/docu ... ibrary.htm
Senast redigerad av bearing 5 april 2014, 12:11:40, redigerad totalt 2 gånger.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46974
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Avkoda usb tangetent bord med PIC

Inlägg av TomasL »

Du måste ha en processor som kan agera USB-Host.
Därefter måste du koda en USB-Hoststack, först därefter kan du avkoda tangentbordet.

Förslagsvis så tar du en PIC32a, finns ett antal som har USB-Host.
Microchip har även färdiga stackar du kan använda.
Enklast för dig är att du köper en lämplig PIC32 Starterkit.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Avkoda usb tangetent bord med PIC

Inlägg av sodjan »

Absolut enklast är att *inte* använda ett USB tangentbord!
Ta ett vanligt matriskopplat och avkoda det "som vanligt".
Oerhört mycket enklare och du kan använda vilken PIC som helst.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46974
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Avkoda usb tangetent bord med PIC

Inlägg av TomasL »

Förvisso, men om man vill använda ett standardtgb, inköpt på kjell eller klas, så är det USB som gäller.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Avkoda usb tangetent bord med PIC

Inlägg av sodjan »

OK.

Kjell artnr 91028 säger "USB- eller PS/2-anslutning".
Jag har för mig att PS/2 är betydligt enklare att hantera.
I princip bara att avkoda seriell data.
http://www.piclist.com/techref/microchi ... ps2-jc.htm
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Avkoda usb tangetent bord med PIC

Inlägg av bearing »

MicroC PS/2-bibliotek är länkat några inlägg upp. PS/2 använder pull-up till 5V på båda signalerna, medan USB 1k5 till 3.3V på ena. Antagligen känner tangentbordet av hur det ska kommunicera genom den skillnaden.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46974
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Avkoda usb tangetent bord med PIC

Inlägg av TomasL »

PS2 är väl bara scankoderna seriellt samt klocka, har jag för mig.
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Avkoda usb tangetent bord med PIC

Inlägg av newbadboy »

Hade jag kört vanligt vanligt matrisbord är det som sagt enkelt. Enda orsaken till att jag funderar på usb bord är att då får man allt snyggt förpackat med en kabel ut bara. Matris bord har jag inte hittat färdigt utan alla jag sett måste man bygga in i låda.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46974
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Avkoda usb tangetent bord med PIC

Inlägg av TomasL »

bearing skrev:MicroC PS/2-bibliotek är länkat några inlägg upp. PS/2 använder pull-up till 5V på båda signalerna, medan USB 1k5 till 3.3V på ena. Antagligen känner tangentbordet av hur det ska kommunicera genom den skillnaden.
Det är nog väldigt modell/tillverkarberoende, då det inte finns någon standard.
Man kan inte ens lita på att adaptrar från samma tillverkare men olika modeller är kompatibla med varandra.
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Avkoda usb tangetent bord med PIC

Inlägg av bearing »

newbadboy skrev:Hade jag kört vanligt vanligt matrisbord är det som sagt enkelt. Enda orsaken till att jag funderar på usb bord är att då får man allt snyggt förpackat med en kabel ut bara. Matris bord har jag inte hittat färdigt utan alla jag sett måste man bygga in i låda.
OK, men kan du inte kommentera PS/2 spåret då?
Du kan väl i alla fall skriva vad du har för tangentbord, så att det går att ta reda på om ditt tangentbord klarar PS/2?
Eller berätta om du vill att din apparat ska klara alla marknadens modeller av USB-tangentbord?

Jag borde aldrig mer gå in på det här forumet, för jag blir bara arg så fort jag läser något här.

*Ett lovande lösningsförslag kommer i första svaret.
*Trådskaparen kommenterar inte lösningsförslaget
*Två nya deltagare i tråden resonerar en stund, som om de inte läst första svaret, och kommer fram till samma sak som första svaret.
*Trådskaparen fortsätter att inte kommentera lösningsförslaget.
TomasL skrev:
bearing skrev:MicroC PS/2-bibliotek är länkat några inlägg upp. PS/2 använder pull-up till 5V på båda signalerna, medan USB 1k5 till 3.3V på ena. Antagligen känner tangentbordet av hur det ska kommunicera genom den skillnaden.
Det är nog väldigt modell/tillverkarberoende, då det inte finns någon standard.
Man kan inte ens lita på att adaptrar från samma tillverkare men olika modeller är kompatibla med varandra.
Möjligtvis, men om du inte har något belägg för detta utgår jag ifrån att du hittat på det.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46974
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Avkoda usb tangetent bord med PIC

Inlägg av TomasL »

Tja egen erfarenhet, tidigare så brukade jag spara dem (samma med PS2/AT adaptern) men nu hivar jag dem, då de i regel inte är kompatibla.
samt från Wikipedia
Such passive adapters are not standardized and may therefore be specific to the device they came with
Användarvisningsbild
newbadboy
Inlägg: 2485
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Avkoda usb tangetent bord med PIC

Inlägg av newbadboy »

Slappna av. Jag har inget tangentbord heller. Jag håller på och kollar upp alla möjligheter. Jag behöver inte alls klara en massa olika. En variant funkar bra. Så ev kan ps2 lösningen funka men jag måste undersöka den. Kan inte alls ngt om detta vid nuläget.

Är fö ute och leker med min dotter så tagga ner lite om jag inte kan svara varje minut eller missar svara på vissa frågor
Skriv svar