Orodha ya maudhui:

Arduino PS / 2 kwa Adapter ya USB: Hatua 7 (na Picha)
Arduino PS / 2 kwa Adapter ya USB: Hatua 7 (na Picha)

Video: Arduino PS / 2 kwa Adapter ya USB: Hatua 7 (na Picha)

Video: Arduino PS / 2 kwa Adapter ya USB: Hatua 7 (na Picha)
Video: Айфон 4 - ЛУЧШИЙ АЙФОН ВСЕХ ВРЕМЁН 2024, Novemba
Anonim
Arduino PS / 2 kwa Adapter ya USB
Arduino PS / 2 kwa Adapter ya USB
Arduino PS / 2 kwa Adapter ya USB
Arduino PS / 2 kwa Adapter ya USB

Je! Ulishawahi kutaka kutumia kibodi yako ya zamani ya PS / 2 na kompyuta yako ndogo au PC mpya ya desktop na kugundua kuwa hawana bandari za PS / 2 tena? Na kisha badala ya kwenda kununua bei rahisi PS / 2 kwa USB Adapter kama mtu wa kawaida angefanya, alitaka kutumia Arduino yako kama PS / 2 kwa Adapter ya USB. Basi umefika mahali pa haki:)

Onyo la haki kabla ya kuingia ndani. Unapotumia UNO / Mega yako kama kifaa cha USB-HID (Haizuiliwi kwa kibodi, inaweza kuwa panya, fimbo ya kufurahisha, n.k.) utafungua kazi zake kama Arduino kwa muda. Kwa kuwa namaanisha huwezi kutumia mawasiliano ya Serial na huwezi kuipanga upya kupitia USB. Hii ni kwa sababu tutaandika zaidi firmware kwenye chip chip ya kiunga cha USB (mtu mdogo karibu na bandari ya USB Atmega8U2 na 16U2 kulingana na marekebisho). Lakini usijali huwezi kutengeneza UNO / Mega yako kwa kufanya hivi inabadilishwa kila wakati.

Pia kwa nafasi yoyote ikiwa unayo Arduino ambayo tayari ina uwezo wa USB-HID (Arduino Pro Micro au Leonardo, n.k tafuta google) unaweza kusahau hii inayoweza kufundishwa kuwahi kutokea nenda moja kwa moja hapa kujiokoa kutoka ulimwengu wa shida, tu utani!

Vifaa

  • Vifaa
    • Arduino UNO au Mega
    • Kinanda cha PS / 2
    • Kwa hiari Arduino ya ziada au aina yoyote ya programu ya USB (USBasp, nk) inaweza kuja kwa urahisi.
  • Programu

    • Flip ya jioni
    • Maktaba ya juu ya PS2Key ya Arduino IDE

Hatua ya 1: Wiring na Kuweka Up

Wiring na Kuweka Up
Wiring na Kuweka Up
Wiring na Kuweka Up
Wiring na Kuweka Up
Wiring na Kuweka Up
Wiring na Kuweka Up
Wiring na Kuweka Up
Wiring na Kuweka Up

Kulingana na hali hiyo unaweza kupata bodi ya kuzuka au kuokoa bandari ya zamani kutoka kwa ubao wa mama (jaribio langu la 2) au ikiwa unahisi haswa unaweza hata kukata jack ya zambarau kabisa na kufunua waya 4 (jaribio langu la 1) na waunganishe na UNO.

Kinanda_Arduino

+ 5V (VCC) _ + 5V

HALI YA chini ya ardhi

BARAZA _ 2 **

DATA _ PIN3 *

* Unaweza kubadilisha pini ya DATA kuwa kile unachotaka lakini kumbuka kusasisha mchoro.

** CLOCK inapaswa kushikamana na pini ya kukatiza kwenye Arduino ambayo inaweza kuwa tu PIN 2 au 3 (kumbuka kusasisha mchoro) kwenye UNO. Kwa habari zaidi na usanidi wa bodi tofauti unaweza kuangalia sehemu ya maoni ya mifano ya maktaba ya PS2KeyAdvanced.

Hatua ya 2: Kujaribu Kinanda

Kabla ya kwenda mikono yote kwenye staha kwanza hakikisha kila kitu kinafanya kazi kwenye kibodi na maktaba.

Hapa nimeambatanisha toleo lililobadilishwa la SimpleTest.ino kutoka kwa mifano ya maktaba ya PS2KeyAdvanced na saa zilizosasishwa na pini za data na pia uwakilishi wa "make" na "break". Hapa kuna maelezo juu ya pato.

  • Mfumo huu wa "kutengeneza" na "kuvunja" skancode na "Code" ambayo ni skancode iliyotengwa (c & 0xFF) ya vyombo vya habari muhimu au kutolewa kwa ufunguo ina sehemu muhimu katika PS / 2 hadi ubadilishaji wa USB na ninapendekeza ujifunze mifano mingine 2 inayokuja na maktaba ili kupata uelewa mzuri ikiwa unapanga kuboresha au kubadilisha (kurudisha funguo kwa mpangilio tofauti) mchoro wa mwisho. Pia unaweza kupata orodha kamili ya skani za PS / 2 kutoka maktaba kwa kufungua faili za 'PS2KeyAdvanced.h' au 'PS2KeyCode.h' kutoka '\ Nyaraka / Arduino / maktaba / PS2KeyAdvanced / src \'
  • "Biti za Hali" inahusu funguo za kurekebisha (Ctrl, Alt, Windows, Shift / Caps) na utaona kuwa kwa kila kitufe cha ziada cha kubadilisha, thamani hii inabadilika wakati "Kanuni" kuu ya kitufe cha kawaida (kisichobadilisha) haijabadilishwa. Lakini katika mchoro wa mwisho nimepuuza njia hii na kutekeleza vitufe hivi vya kubadilisha kama vitufe rahisi (Utaona kuwa funguo hizi za kurekebisha pia zina "kutengeneza" na "kuvunja" scancode huru kutoka kwa funguo za kawaida ikiwa funguo nyingi zimeshinikizwa au la.) kwa sababu inafanya mambo kuwa rahisi na itifaki ya USB-HID.

Hatua ya 3: PS / 2 kwa hakikisho la Uongofu wa USB

Kabla ya kusasisha Atmega8U2 au 16U2 (UNO Rev3) kutambua Arduino yetu kama kibodi ya USB tunapaswa kuhakikisha kuwa mambo yote ya uongofu yanafanya kazi kwa usahihi na mchoro wa mwisho wa mwisho unapakiwa au vinginevyo itakuwa maumivu makubwa kuendelea kuandika zaidi firmware tena na tena kati ya Faili za hex za Asili na USB -bodi ili uweze kupakia mchoro sahihi. Hii inakuwa kweli haswa ikiwa hauna programu yoyote ya nje kama USBasp au Arduino nyingine ya kutumia kama ISP. Kwa hivyo hapa tutapakia toleo la 'DEBUG' la mchoro wa mwisho na pato linaloweza kusomwa na mwanadamu (kupitia mfuatiliaji wa serial) kujaribu mambo.

Matokeo unayoona yatapangiliwa kama hii wakati kila kitufe kinatolewa, 00 00 00 00 00 00 00 00

Hapa kuna maelezo ya kimsingi ya pato linalotarajiwa,

Kwa kila kitufe kipya cha kubadilisha moduli nyingi unapaswa kupata laini mpya na maadili tofauti ya 'xx'. Mwishowe unapoachilia funguo zote za kurekebisha 'xx' inapaswa kuwa 00

xx 00 00 00 00 00 00 00

Kwa kila vyombo vya habari vya funguo vipya vya kawaida (kwa mfano tutabonyeza kitufe cha kudhani a, ufunguo b na ufunguo c na maadili 'xx', 'yy' na 'zz' kwa mpangilio huo) unapaswa kuendelea (sio lazima) laini mpya kama hii,

00 00 xx yy zz 00 00 00

unapotoa tu ufunguo b pato linapaswa kubadilika kuwa,

00 00 xx 00 zz 00 00 00

na ikiwa unabonyeza kitufe kipya d na thamani 'nn' bila kutolewa kitufe a au ufunguo b pato lako linapaswa kubadilika kuwa,

00 00 xx nn zz 00 00 00

na mwishowe kurudi kwa hii wakati kila kitufe kinatolewa,

00 00 00 00 00 00 00 00

na mwishowe ukibonyeza Caps Lock, Num Lock au Scroll Lock unapaswa kupata kitu kama hiki na laini nyingi kwa wakati mmoja,

00 00 xx 00 00 00 00 00

00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00

Ikiwa kila kitu hapa kinatokea wewe ni dhahabu kuendelea!

Hatua ya 4: Ufafanuzi wa Kiufundi

Ufafanuzi wa Kiufundi
Ufafanuzi wa Kiufundi
Ufafanuzi wa Kiufundi
Ufafanuzi wa Kiufundi

Ikiwa unapenda unaweza kuruka hatua hii. Hii ni maelezo tu kwa matokeo ya awali. Pato la kaiti 8 ulizoziona zimepangwa kulingana na mtini hapo juu.1 Unaweza kujifunza mengi zaidi juu ya hii na pia jinsi kibadilishaji hali ya funguo inavyoandikwa kutoka kwa wiki hii kuhusu USB-HID. Kimsingi kile nambari yangu hufanya kila wakati kitufe kipya kinapobanwa (itifaki ya PS / 2 inamaanisha hii kama 'kutengeneza') huzunguka kwa ka 6 za mwisho za safu ambazo hutumiwa kwa vyombo vya habari vya kawaida, na ujaze ya kwanza Byte tupu hupatikana na 'HID scancode' inayofaa (Imeonyeshwa kama kwenye tini. 2 Pia unaweza kupata orodha kamili kutoka kwa PDF iliyoambatishwa) kwa 'PS / 2 scancode' iliyopokelewa. Na mwishowe kitufe kinachofaa kinapotolewa (itifaki ya PS / 2 inaelezea hii kama 'mapumziko') nambari itazunguka kupitia safu ya sasa ya ka na itafuta tu kaiti inayofaa.

Ikiwa ulifuata mpaka hapa na pia ukisoma ukurasa wa wiki utaona kuwa kuna shida kidogo katika njia hii, kawaida wakati ufunguo unapotolewa, katika itifaki ya HID, kaiti zilizobaki hupangwa upya ili kuondoa ka tupu. kati ya kaa ambazo hazina tupu. Lakini kwa sababu fulani bila kujali ni njia ngapi nilijaribu sikuweza kuifanya ifanye kazi kama ilivyokusudiwa bila kusafisha kwa bahati ka zisizohitajika kwa funguo zilizobanwa pia. Ikiwa unaweza kuboresha hii ili iweze kufanya kazi tafadhali acha maoni. Ingawa mwisho wa siku shida hii haiathiri utendaji wa kibodi muda mrefu kama Arduino bado inasajili kila kitufe bila kujali mpangilio wao (Ambayo haiathiri chochote katika matumizi ya vitendo).

Hatua ya 5: Kupakia Mchoro wa Mwisho

Kwa hivyo kabla ya hatimaye kusasisha firmware ya Atmega8U2 au 16U2 (UNO Rev3) kutambua Arduino yetu kama kibodi ya USB lazima tupakie Mchoro wa Mwisho. Baada ya kupakia hii, ukienda kwa mfuatiliaji wa serial utaona inachapisha takataka na kila kitufe kipya kilichobanwa hii ni ishara nzuri kwamba kila kitu kinafanya kazi kama ilivyokusudiwa na tunaweza kuendelea na hatua ya mwisho. YAY !!!

Hatua ya 6: Kusasisha Firmware

Mwishowe unaweza kusasisha firmware ya Arduino yako kusajili kama kibodi ya USB. Kwa hili sitaenda kwa maelezo mengi kwani itafanya hii kufundisha kuwa ndefu sana.

  1. Fuata mwongozo huu kutoka arduino.cc kuhusu 'Kusasisha Atmega8U2 na 16U2 kwenye Uno au Mega2560 ukitumia DFU' lakini badala ya kutumia 'Arduino-usbserial-uno.hex' tumia 'Arduino-keyboard-0.3.hex' iliyowekwa
  2. Katika FLIP kumbuka kuchagua kifaa lengwa kama Atmega8U2 au 16U2 kulingana na wewe Arduino na, kutoka kwa kuchagua mawasiliano kati chagua USB na mwishowe Pakia faili sahihi ya hex kabla ya kuchagua kukimbia.
  3. Ikiwa uliingia kwenye kosa la dereva, nenda kwa msimamizi wa kifaa cha windows na uchague kutafuta dereva asiyejulikana ndani ya saraka ya usakinishaji wa FLIP '\ Program Files (x86) Atmel \'
  4. Ikiwa ulikosea wakati wa kusasisha firmware kutoka FLIP mara kadhaa, funga FLIP na uendeshe 'Upyaji wa Mapendeleo' kutoka kwa 'Anzisha menyu / FLIP' na kisha uanze tena FLIP na ufanye hatua za usanidi kabla ya kujaribu tena hii kawaida hufanya kazi kwangu.
  5. Ikiwa unataka kukurejeshea Arduino katika hali yake ya asili fuata mwongozo wa arduino.cc hapo juu kwa barua bila kutumia faili hii ya hex.

Hatua ya 7: Furahiya ……

Furahiya ……
Furahiya ……

Sasa furahiya PS / 2 yako mpya iliyobadilishwa kuwa kibodi ya USB…. P. S. Hii inayoweza kufundishwa iliandikwa kikamilifu kutoka kwa kibodi ya nje ya PS / 2 iliyounganishwa na kompyuta yangu ndogo kupitia Arduino:)

Ilipendekeza: