Simulera tangentbordstryckningar m. PIC?
Simulera tangentbordstryckningar m. PIC?
Hej!
Jag har spånat på ett projekt till datorn.
Projektet går ut på att genom en liten modul kunna ändra autopilot inställningarna i Flight Simulator 9/X. Till detta hade jag tänkt att använda diverse knappar, pulsgivare och en PIC som i sin tur ska simulera tangentbordtryckningar i datorn så jag slipper få modulen att kommunicera direkt med flight simulator.
Ett exempel: Jag trycker på en knapp på ett kretskort som är anslutet till en dator. Datorn uppfattar detta som om jag skulle trycka ner tangenten "D" och ev. skriva ut det i notepad eller liknande.
Men nu undrar jag om det i huvudtaget går att programmera en pic så att den fungerar ungefärr som ett tangentbord? Jag har sökt mycket på google och på diverse forum men det verkar som de flesta som har spånat på samma idé köper färdiga moduler eller färdiga kretskort som inte direkt är billiga.
Har hittat lite information om keyboard emulators eller keyboard matrix. En kille slaktade ett tangentbord och tog "styrchippet" från den och fick det att fungera, men hur han gjorde står det ingenting om.
Jag har inte kommit riktigt hit än - Ärligt talat så har jag precis börjat programmera PIC å fått den att blinka en LED. Men jag känner mig rätt omotiverad att fortsätta mitt projekt om det ändå slutar med att jag måste köpa en färdig modul för flera tusen kr.
Här har ni en länk till en färdig modul - Den innehåller många fler funktioner än den jag tänkt bygga gör
Jag har spånat på ett projekt till datorn.
Projektet går ut på att genom en liten modul kunna ändra autopilot inställningarna i Flight Simulator 9/X. Till detta hade jag tänkt att använda diverse knappar, pulsgivare och en PIC som i sin tur ska simulera tangentbordtryckningar i datorn så jag slipper få modulen att kommunicera direkt med flight simulator.
Ett exempel: Jag trycker på en knapp på ett kretskort som är anslutet till en dator. Datorn uppfattar detta som om jag skulle trycka ner tangenten "D" och ev. skriva ut det i notepad eller liknande.
Men nu undrar jag om det i huvudtaget går att programmera en pic så att den fungerar ungefärr som ett tangentbord? Jag har sökt mycket på google och på diverse forum men det verkar som de flesta som har spånat på samma idé köper färdiga moduler eller färdiga kretskort som inte direkt är billiga.
Har hittat lite information om keyboard emulators eller keyboard matrix. En kille slaktade ett tangentbord och tog "styrchippet" från den och fick det att fungera, men hur han gjorde står det ingenting om.
Jag har inte kommit riktigt hit än - Ärligt talat så har jag precis börjat programmera PIC å fått den att blinka en LED. Men jag känner mig rätt omotiverad att fortsätta mitt projekt om det ändå slutar med att jag måste köpa en färdig modul för flera tusen kr.
Här har ni en länk till en färdig modul - Den innehåller många fler funktioner än den jag tänkt bygga gör
Re: Simulera tangentbordstryckningar m. PIC?
Jag har fått intrycket att det är ganska enkelt att emulera ett PS2-tangentbord. Datan som skickas är vanlig 8n1 seriedata om jag minns rätt. Tror det var AVR-projekt jag läste om.
Numera finns ju även microcontrollers som klarar USB. Ett USB-tangentbord är nog inte heller så svårt att emulera. Jag har lagt exempelkod på en AVR som gjorde att den emulerade en mus.
Numera finns ju även microcontrollers som klarar USB. Ett USB-tangentbord är nog inte heller så svårt att emulera. Jag har lagt exempelkod på en AVR som gjorde att den emulerade en mus.
Senast redigerad av bearing 30 mars 2009, 01:02:11, redigerad totalt 1 gång.
Re: Simulera tangentbordstryckningar m. PIC?
Det finns två interface PS/2 och USB. Köp en MCU som klarar det du behöver.
Sedan är det "bara" att implementera ett fejkat tangentbord. Borde inte vara så svårt.
Sedan är det "bara" att implementera ett fejkat tangentbord. Borde inte vara så svårt.
Re: Simulera tangentbordstryckningar m. PIC?
hehe, det låter enkelt när ni säger det sådär. Jag har svårt att hitta information om detta på internet.. kanske använder jag fel sökord?
Jo, hade tänkt att göra det med USB
Om det är någon som gjort något liknande (behöver inte vara till flight simulator) eller vet någon sida med information om detta så var vänlig posta en länk
Tack för ett par snabba svar!
Jo, hade tänkt att göra det med USB
Om det är någon som gjort något liknande (behöver inte vara till flight simulator) eller vet någon sida med information om detta så var vänlig posta en länk
Tack för ett par snabba svar!
Re: Simulera tangentbordstryckningar m. PIC?
Bra sökord:
GND, USB, HID, Keyboard, AVR, Scancode, PS/2, MSB, playback
GND, USB, HID, Keyboard, AVR, Scancode, PS/2, MSB, playback
Re: Simulera tangentbordstryckningar m. PIC?
http://www.obdev.at/products/avrusb/hidkeys.html
Vilket är en exempelimplementation av AVR USB.
http://www.obdev.at/products/avrusb/index.html
Vilket är en exempelimplementation av AVR USB.
http://www.obdev.at/products/avrusb/index.html
- PHermansson
- EF Sponsor
- Inlägg: 4340
- Blev medlem: 22 december 2004, 00:46:38
- Ort: Särestad Grästorp
- Kontakt:
Re: Simulera tangentbordstryckningar m. PIC?
Det fanns en bra wiki med mycket pedagogisk info om hur man arbetade med PIC18F4550, bland annat en tangentbordsemulator. Minns att jag testade mus-exemplet, ganska kul när Pic'en fick muspekaren att göra cirklar på skärmen. Den verkar vara borta, tur att Waybackmachine finns:
http://web.archive.org/web/200712131442 ... idKeyboard
http://web.archive.org/web/200712131442 ... idKeyboard
Re: Simulera tangentbordstryckningar m. PIC?
Jag har byggt ungefär vad du vill bygga (för många år sedan), en liten kontrollpanel som mappar till tangenter på ett USB-tangentbord.
Vi slaktade ett USB-tangentbord (finns billigt på t ex Clas ohlson). Sedan är det inte så svårt att reverse-engineera pinnarna som går ut till tangenterna. Vi använde PIC + en multiplexer för att simulera att tangenterna trycktes ner. Mycket enkelt, totalkostnad ca 100 kr. Bygget var lite stort, kanske 5x10 cm vilket vi inte kunde göra så mycket åt eftersom vi "stal" kretskortet från tangentbordet. Vet inte om det får plats i det du tänkt bygga, men för oss var det inte något problem.
Vi slaktade ett USB-tangentbord (finns billigt på t ex Clas ohlson). Sedan är det inte så svårt att reverse-engineera pinnarna som går ut till tangenterna. Vi använde PIC + en multiplexer för att simulera att tangenterna trycktes ner. Mycket enkelt, totalkostnad ca 100 kr. Bygget var lite stort, kanske 5x10 cm vilket vi inte kunde göra så mycket åt eftersom vi "stal" kretskortet från tangentbordet. Vet inte om det får plats i det du tänkt bygga, men för oss var det inte något problem.
Re: Simulera tangentbordstryckningar m. PIC?
Gjorde också ett tangentbordsemuleringsprogram för AVR, MEGA8. Satt i serie mellan dator och tangentbord.
Finns kod om du vill ha.
Finns kod om du vill ha.
Re: Simulera tangentbordstryckningar m. PIC?
Jag ryktes också med här nu. Håller också på med en Atmega8 för tangentbordssimulering. Tänkte det kunde vara kul att bygga någon "flightpanel" till flightsim, hade varit kul med en stor panel på skrivbordet, som är lite mer gedigen än dom som går att köpa(ingen plast här inte).
Finns det flygplansskrotar? hade varit roligt att mecka loss en befintlig panel och bygga om för flightsim/USB bruk
Det som verkar vara lite lurigt är spänningsnivåerna. Läste att datorn förväntar sig 3.6v för logisk 1, medans en Atmega som kör på 12Mhz måste ha 4.5v. Beställde lite Zenerdioder för att kunna ställa ner det hela.
//Alexander
Finns det flygplansskrotar? hade varit roligt att mecka loss en befintlig panel och bygga om för flightsim/USB bruk

Det som verkar vara lite lurigt är spänningsnivåerna. Läste att datorn förväntar sig 3.6v för logisk 1, medans en Atmega som kör på 12Mhz måste ha 4.5v. Beställde lite Zenerdioder för att kunna ställa ner det hela.
//Alexander