RS-232 till PS/2 keyboard
RS-232 till PS/2 keyboard
Nu håller jag på med ett nytt projekt. Jag vill låta ett program i min dator via RS-232 tala med en annan dator genom att låtsas vara ett tangentbord. Att jag vill göra detta är för att datorn och programmet jag vill prata med sitter i en isolerad miljö och går endast att accessas via tangentbord PS/2 anslutning.
Någon som har nån idé?
Just nu är jag inne på att man skulle kunna bygga nått med en PIC och en RS-232 mottagare.
Frågan är om någon har gjort nått liknande projekt? Dumt att uppfinna hjulet en gång till.
Sökte lite på Google men jag är nog kass på att söka för jag hittar inte det jag letar efter.
Någon som har nån idé?
Just nu är jag inne på att man skulle kunna bygga nått med en PIC och en RS-232 mottagare.
Frågan är om någon har gjort nått liknande projekt? Dumt att uppfinna hjulet en gång till.
Sökte lite på Google men jag är nog kass på att söka för jag hittar inte det jag letar efter.
- MadModder
- Co Admin
- Inlägg: 31433
- Blev medlem: 6 september 2003, 13:32:07
- Ort: MadLand (Enköping)
- Kontakt:
Att peta in signaler i ps/2-porten är inga större problem. Bara man anpassar spänningsnivåerna. ps/2 har 0 och 5V, RS232 har -12 och +12. Det kan en MAX232 fixa.
Det ska inte vara några problem att peta ut data från porten heller, för den är designad för dubbelriktad kommunikation.
Här är en beskrivning på ps/2-protokollet:
http://www.computer-engineering.org/ps2protocol/
En quick'n'dirty-lösning är ju att trasha ett tangentbord, ta kretsen i det, och styra en tangent med en pinne i serieporten. Det finns ett par man kan slå av och på som man vill, som i parallellporten. På det viset skickar man ju tangenttryckningar till den andra datorn. Utåt sen läser man av t.ex caps lock-lysdioden, med någon av inpinnarna (RI kanske), och så slar man av och på caps lock från sitt program.
Det ska inte vara några problem att peta ut data från porten heller, för den är designad för dubbelriktad kommunikation.
Här är en beskrivning på ps/2-protokollet:
http://www.computer-engineering.org/ps2protocol/
En quick'n'dirty-lösning är ju att trasha ett tangentbord, ta kretsen i det, och styra en tangent med en pinne i serieporten. Det finns ett par man kan slå av och på som man vill, som i parallellporten. På det viset skickar man ju tangenttryckningar till den andra datorn. Utåt sen läser man av t.ex caps lock-lysdioden, med någon av inpinnarna (RI kanske), och så slar man av och på caps lock från sitt program.

Nä quick and dirty kan det inte bli. Jag måste kunna använda alla tangenter på tangentbordet.
En PIC och en MAX232 skulle lösa hårdvaran, fast jag är ingen PICprogrammerare. Jag har fuskat lite med det men detta är nog lite överkurs. Skulle ju vara trevligt om det vore någon som redan gjort detta.
Eller om det fanns ett chip som man sände seriellt data till och ut fick man PS/2 data
Borde ju finnas nått sånt, eller?
En PIC och en MAX232 skulle lösa hårdvaran, fast jag är ingen PICprogrammerare. Jag har fuskat lite med det men detta är nog lite överkurs. Skulle ju vara trevligt om det vore någon som redan gjort detta.
Eller om det fanns ett chip som man sände seriellt data till och ut fick man PS/2 data

Finns mycket info om detta, googla på "PS2 keyboard codes" eller nått liknande.
Här är en sida till exempel http://www.beyondlogic.org/keyboard/keybrd.htm
Här är en sida till exempel http://www.beyondlogic.org/keyboard/keybrd.htm
Jag har pysslat en del med PS/2 protocol från PIC->PC och min erfarenhet är att det är väldigt simpelt. Datorn tolkar signalerna "rätt" även fast de ser riktigt fula ut på oscilloskopet (=fulkod) och timingen är inte jättekänslig trots att det är ett asynkront protokoll.
Jag ser inte något hinder för att du ska kunna peta ihop ett program som emulerar ett tangentbord i t.ex. VB om du vill göra det enkelt för dig. På hårdvarusidan så behöver du förstås, som nämnts tidigare, en MAX232(-liknande) krets för signalanpassning. Sidan som MadModder länkade till är RIKTIGT bra och jag skulle vilja säga att den innehåller allt du behöver veta för att skriva mjukvaran för det du vill genomföra, förutom det prog-språk du ämnar använda förstås. =)
Lycka Till!
Moderator:->
Kanske borde denna tråd flyttas till Idebanken? Inte mycker till projekt än...
MVH
/Tottish
Jag ser inte något hinder för att du ska kunna peta ihop ett program som emulerar ett tangentbord i t.ex. VB om du vill göra det enkelt för dig. På hårdvarusidan så behöver du förstås, som nämnts tidigare, en MAX232(-liknande) krets för signalanpassning. Sidan som MadModder länkade till är RIKTIGT bra och jag skulle vilja säga att den innehåller allt du behöver veta för att skriva mjukvaran för det du vill genomföra, förutom det prog-språk du ämnar använda förstås. =)
Lycka Till!
Moderator:->
Kanske borde denna tråd flyttas till Idebanken? Inte mycker till projekt än...
MVH
/Tottish
Har läst artikeln som madmodder länkade till och jag förstår i teorin hur det fungerar. Men nu när det gäller att programmera pic:en så står jag lite handfallen.
Har ett antal PIC16F88 liggande och de borde väl duga.
Tidigare har jag bara använt MicroBasic för att sätta att pinnarna på pic:en antingen är höga eller låga. Väldigt enkla projekt. Har visserligen byggt en slags sifferdisplay för badminton men då använde man de inbyggda rutinerna i MicroBasic.
Detta är verkligen överkurs för mig.
Finns det någon som kanske har en programsnutt för pic som skulle kunna hjälpa mig i rätt riktning. Behöver inte vara basic men det är ju trevligare om det skulle finnas.
Har i alla fall börjat med att sätta upp PIC:en och RS232:n på experimentbordet och kopplat in min programmerare Wisp628.
So far so good
Har ett antal PIC16F88 liggande och de borde väl duga.
Tidigare har jag bara använt MicroBasic för att sätta att pinnarna på pic:en antingen är höga eller låga. Väldigt enkla projekt. Har visserligen byggt en slags sifferdisplay för badminton men då använde man de inbyggda rutinerna i MicroBasic.
Detta är verkligen överkurs för mig.
Finns det någon som kanske har en programsnutt för pic som skulle kunna hjälpa mig i rätt riktning. Behöver inte vara basic men det är ju trevligare om det skulle finnas.
Har i alla fall börjat med att sätta upp PIC:en och RS232:n på experimentbordet och kopplat in min programmerare Wisp628.
So far so good
