Sisukord:
- Tarvikud
- Samm: juhtmestik ja seadistamine
- 2. samm. Klaviatuuri testimine
- Samm: PS/2 USB -konversiooni eelvaade
- 4. samm: tehniline selgitus
- Samm: lõpliku eskiisi üleslaadimine
- Samm: püsivara värskendamine
- Samm: nautige ……
Video: Arduino PS/2 USB -adapter: 7 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Kas olete kunagi tahtnud kasutada oma vana PS/2 klaviatuuri sülearvuti või uue lauaarvutiga ja avastanud, et neil pole enam PS/2 porte? Ja siis selle asemel, et minna odavat PS/2 -USB -adapterit ostma nagu tavaline inimene, sooviks ta kasutada teie Arduinot PS/2 -USB -adapterina. Siis olete jõudnud õigesse kohta:)
Õiglane hoiatus enne, kui me sellesse asume. Kui kasutate UNO/Mega USB-HID-seadmena (mitte ainult klaviatuur, see võib olla isegi hiir, juhtkang jne), kaotate ajutiselt selle funktsioonid Arduino-na. Selle all pean silmas, et te ei saa kasutada jadaühendust ja te ei saa seda USB kaudu ümber programmeerida. Selle põhjuseks on asjaolu, et me kirjutame püsivara üle selle USB-liidese kiibile (väike tüüp USB-pordi Atmega8U2 ja 16U2 lähedal, sõltuvalt versioonist). Kuid ärge muretsege, et te ei saa oma UNO/Mega tegelikult tellida, sest see on alati pöörduv.
Samuti, kui teil on Arduino, millel on juba USB-HID-funktsioon (Arduino Pro Micro või Leonardo jne, tehke google'i otsing), võite juhuslikult unustada, et see kunagi olemas olnud juhis on olemas ja minge otse siia, et päästa end probleemide maailmast. nalja!
Tarvikud
- Riistvara
- Arduino UNO või Mega
- PS/2 klaviatuur
- Soovi korral võib abiks olla täiendav Arduino või mis tahes USB -programmeerija (USBasp jne).
- Tarkvara
- Atmel FLIP
-
PS2KeyAdvanced raamatukogu Arduino IDE jaoks
Samm: juhtmestik ja seadistamine
Sõltuvalt olukorrast võite leida väljalülituslaua või päästa vana pordi emaplaadilt (minu teine katse) või kui tunnete end eriti tujukana, võite isegi lilla pesa täielikult katkestada ja 4 juhtmest paljastada (minu esimene katse) ja ühendage need UNO -ga.
Klaviatuur_Arduino
+5V (VCC) _+5V
GROUND_GND
KELL _ 2 PIN **
ANDMED _ PIN3*
*Saate muuta DATA tihvti sooviks, kuid ärge unustage visandit värskendada.
** CLOCK peab olema ühendatud Arduino katkestusnõelaga, mis UNO -l saab olla ainult PIN 2 või 3 (ärge unustage visandit värskendada). Lisateavet ja tahvli erinevaid konfiguratsioone leiate PS2KeyAdvanced raamatukogu näidete kommentaaride jaotisest.
2. samm. Klaviatuuri testimine
Enne kui kõik tekil käed lähevad, veenduge, et klaviatuuril ja raamatukogul töötab kõik.
Siin olen lisanud PS2KeyAdvanced raamatukogu näidete SimpleTest.ino muudetud versiooni, millel on värskendatud kella ja andmete nööpnõelad ning ka "make" ja "break" esitus. Siin on mõned väljundi selgitused.
- Sellel "tee" ja "murda" skaneerimiskoodi süsteemil ja "koodil", mis on klahvivajutuse või võtme vabastamise isoleeritud (c & 0xFF) skaneerimiskood, on oluline osa PS/2 USB-muundamisel ja soovitan teil uurida ülejäänud kaks näidet, mis on raamatukoguga kaasas, et paremini mõista, kas kavatsete lõplikku visandit parandada või muuta (klahvide ümberpaigutamine erinevatele paigutustele). Samuti saate raamatukogust PS/2 skaneerimiskoodide täieliku loendi, avades failid „PS2KeyAdvanced.h” või „PS2KeyCode.h” kaustast „\ Documents / Arduino / libraries / PS2KeyAdvanced / src \”
- "Olekubittid" viitavad muutmisklahvidele (Ctrl, Alt, Windows, Shift/Caps) ja näete, et iga täiendava muutmisklahvi korral muutub see väärtus, samal ajal kui tavalise (mitte-modifitseeriva) võtme peamine "kood" on muutumatu. Kuid viimases visandis olen ma seda meetodit eiranud ja rakendanud neid muutmisvõtmeid lihtsate klahvivajutustena (näete, et nendel muutmisklahvidel on ka "make" ja "break" skaneerimiskood tavalistest klahvidest sõltumata, olenemata sellest, kas mitut klahvi vajutatakse või mitte.) sest see muudab USB-HID-protokolli abil asjad lihtsamaks.
Samm: PS/2 USB -konversiooni eelvaade
Enne Atmega8U2 või 16U2 (UNO Rev3) värskendamist, et tuvastada meie Arduino USB-klaviatuurina, peaksime veenduma, et kõik teisendusmaterjalid töötavad õigesti ja lõplik eskiis on üles laaditud või muidu on valus üle kirjutada. püsivara ikka ja jälle algse ja USB-klaviatuuri hex-failide vahel, et saaksite üles laadida õige visandi. See kehtib eriti siis, kui teil pole Interneti -teenuse pakkujana ühtegi välist programmeerijat, nagu USBasp või mõni muu Arduino. Nii et siin laadime asjade testimiseks üles lõpliku visandi 'DEBUG' versiooni, mis on inimesele loetav.
Näete väljundit vormindatakse niimoodi, kui iga võti vabastatakse, 00 00 00 00 00 00 00 00
Siin on põhiline seletus oodatava väljundi kohta,
Iga uue mitme modifikaatori klahvivajutuse korral peaksite saama uue rea, millel on erinevad xx väärtused. Lõpuks, kui vabastate kõik muutmisnupud, peaks xx saama 00
xx 00 00 00 00 00 00 00
Iga uue mitme tavalise klahvivajutuse korral (näiteks vajutame nii hüpoteetilist klahvi a, klahvi b kui ka klahvi c väärtustega 'xx', 'yy' ja 'zz' selles järjekorras) peaksite saama pideva (pole kohustuslik) sellised uued read,
00 00 x x yy zz 00 00 00
kui vabastate ainult klahvi b, peaks väljund muutuma,
00 00 x x 00 zz 00 00 00
ja kui vajutate uut klahvi d väärtusega nn, ilma klahvi a või klahvi b vabastamata, peaks väljund muutuma,
00 00 xx nn zz 00 00 00
ja pöörduge lõpuks selle juurde tagasi, kui iga võti vabastatakse,
00 00 00 00 00 00 00 00
ja lõpuks, kui vajutate kas Caps Locki, Num Locki või Scroll Locki, peaksite saama midagi sellist mitme reaga korraga,
00 00 x x 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
Kui kõik siin juhtub, siis on kuldne jätkata!
4. samm: tehniline selgitus
Kui soovite, võite selle sammu vahele jätta. See on lihtsalt eelmiste väljundite selgitus. Väljund 8 baiti massiiv, mida nägite, on vormindatud ülaltoodud joonise 1 järgi. Selle kohta saate palju rohkem teada saada ja ka seda, kuidas modifitseerimisklahvide olekubait kirjutatakse sellest wikist USB-HID kohta. Põhimõtteliselt teeb minu kood iga kord, kui vajutatakse uut klahvi (PS/2 protokoll viitab sellele kui "make"), see liigub läbi massiivi viimased 6 baiti, mida kasutatakse tavaliste klahvivajutuste jaoks, ja täidab esimese tühi bait, mille ta leiab vastava 'HID skaneerimiskoodiga' (näidatud nagu joonisel 2. Täieliku loendi leiate ka lisatud PDF -ist) vastuvõetud 'PS/2 skaneerimiskoodi' kohta. Ja lõpuks, kui asjakohane võti vabastatakse (PS/2 protokoll viitab sellele kui "katkestusele"), käib kood praegusest baidimassiivist läbi ja tühjendab ainult asjakohase baidi.
Kui järgisite siiani ja ka wiki lehte lugedes näete, et selles meetodis on väike probleem, tavaliselt võtme vabastamisel, HID-protokollis muudavad ülejäänud baidid ümber nii, et vabaneda tühjadest baitidest ülejäänud tühjade baitide vahel. Kuid mingil põhjusel, olenemata sellest, kui palju ma proovisin, ei saanud ma mingil põhjusel toimida ettenähtud viisil, ilma et oleksin kogemata eemaldanud soovitud baidid ka vajutatud klahvide jaoks. Kui saate seda toimivuse parandamiseks parandada, jätke kommentaar. Kuigi päeva lõpuks ei mõjuta see probleem klaviatuuri funktsionaalsust seni, kuni Arduino registreerib endiselt iga klahvivajutuse olenemata nende vajutamise järjekorrast (mis praktilises kasutuses midagi ei mõjuta).
Samm: lõpliku eskiisi üleslaadimine
Nii et enne kui Atmega8U2 või 16U2 (UNO Rev3) püsivara lõpuks värskendate, et tuvastada meie Arduino USB -klaviatuurina, peame üles laadima lõpliku visandi. Kui olete selle üles laadinud, näete jadamonitori juurde minnes, et see prindib prügi iga uue klahvi vajutamisega, see on hea märk, et kõik töötab ettenähtud viisil ja saame jätkata viimase sammuga. JAH !!!
Samm: püsivara värskendamine
Lõpuks saate oma Arduino püsivara värskendada, et see USB -klaviatuurina registreerida. Selleks ei hakka ma väga üksikasjadesse laskuma, sest see muudab selle juhendi liiga pikaks.
- Järgige seda arduino.cc juhendit „Atmega8U2 ja 16U2 värskendamine Uno või Mega2560-l, kasutades DFU-d”, kuid mitte „Arduino-usbserial-uno.hex” asemel kasutage lisatud „Arduino-keyboard-0.3.hex”
- FLIP -i puhul pidage meeles, et olenevalt teie Arduino'st valige sihtseade Atmega8U2 või 16U2 ja valige kommunikatsioonivahendi hulgast USB ja lõpuks laadige õige käsk -fail enne käivitamist.
- Kui teil tekkis draiveri viga, minge Windowsi seadmehaldurisse ja valige otsida tundmatut draiverit FLIP '\ Program Files (x86) Atmel \' installikataloogist
- Kui FLIP -i püsivara mitu korda värskendades tekkisid vead, sulgege FLIP ja käivitage menüüst Start / FLIP / käsk Reset Preferences, seejärel taaskäivitage FLIP ja tehke enne uuesti proovimist konfigureerimistoimingud.
- Kui soovite Arduino oma algsesse olekusse taastada, järgige ülaltoodud kirja arduino.cc juhendit, ilma seda hex -faili kasutamata.
Samm: nautige ……
Nüüd nautige oma äsja teisendatud PS/2 USB -klaviatuuri … P. S. See juhend oli täielikult kirjutatud välisest PS/2 klaviatuurist, mis on ühendatud minu sülearvutiga Arduino kaudu:)
Soovitan:
Kuidas: Raspberry PI 4 peata (VNC) installimine RPI-pildistaja ja piltidega: 7 sammu (koos piltidega)
Kuidas: Raspberry PI 4 peata (VNC) installimine Rpi-pildistaja ja piltidega: kavatsen seda Rapsberry PI-d kasutada oma blogis hunniku lõbusate projektide jaoks. Vaadake seda julgelt. Tahtsin uuesti oma Raspberry PI kasutamist alustada, kuid mul polnud uues asukohas klaviatuuri ega hiirt. Vaarika seadistamisest oli tükk aega möödas
Lihtne 5 -minutiline USB -päikeseenergia laadija/ellujäämis -USB -laadija: 6 sammu (piltidega)
Lihtne 5 -minutiline USB -päikeseenergia laadija/ellujäämise USB -laadija: Tere poisid! Täna tegin just (ilmselt) kõige lihtsama usb päikesepaneelide laadija! Kõigepealt vabandan, et ma ei laadinud teile üles mõnda õpetatavat ülesannet .. Viimastel kuudel sain mõned eksamid (mitte tegelikult paar nädalat või nii). Aga
Kuidas teha oma USB -autolaadija mis tahes iPodi või muude USB -ühenduse kaudu laadivate seadmete jaoks: 10 sammu (piltidega)
Kuidas teha oma USB -autolaadija mis tahes iPodi või muude USB -ühenduse kaudu laadivate seadmete jaoks: looge USB -autolaadija igale iPodile või muule USB -laadimisseadmele, ühendades autoadapteri, mille väljundiks on 5 V ja USB -pistik. Selle projekti kõige olulisem osa on veenduda, et valitud autoadapteri väljund on panustatud
USB sise-/välistermomeeter (või „Minu esimene USB -seade”): 4 sammu (piltidega)
USB sise-/välistermomeeter (või „Minu esimene USB -seade”): see on lihtne disain, mis näitab PIC 18F -de USB -välisseadet. 18F4550 40 -kiibiliste kiipide kohta on Internetis hulgaliselt näiteid, see disain näitab väiksemat 18F2550 28 -pin versiooni. PCB kasutab pinnakinnitusega osi, kuid kõik
USA - USB: Ameerika lipu USB mälestusmärk: 8 sammu (koos piltidega)
USA - USB: Ameerika lipu USB mälestusmärk: Plug and play lipu lehvitamise tseremoonia. PC = Isamaaline arvuti. Seotud fotod ja videod siin. Lisateavet leiate veebisaidilt ni9e.com