Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Johdotus ja asennus
- Vaihe 2: Näppäimistön testaaminen
- Vaihe 3: PS/2 - USB -muunnoksen esikatselu
- Vaihe 4: Tekninen selitys
- Vaihe 5: Lopullisen luonnoksen lataaminen
- Vaihe 6: Laiteohjelmiston päivittäminen
- Vaihe 7: Nauti ……
Video: Arduino PS/2 - USB -sovitin: 7 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Oletko koskaan halunnut käyttää vanhaa PS/2 -näppäimistöäsi kannettavan tietokoneen tai uuden pöytätietokoneen kanssa ja huomannut, että niissä ei ole enää PS/2 -portteja? Ja sen sijaan, että menisit ostamaan halpaa PS/2 -USB -sovitinta, kuten tavallinen ihminen tekisi, halusi käyttää Arduinoa PS/2 -USB -sovittimena. Sitten olet tullut oikeaan paikkaan:)
Oikea varoitus ennen kuin ryhdymme siihen. Kun käytät UNO/Mega -laitettasi USB-HID-laitteena (ei rajoitu näppäimistöön, se voi olla jopa hiiri, ohjaussauva jne.), Menetät väliaikaisesti sen toiminnot Arduinona. Tällä tarkoitan, ettet voi käyttää sarjaliikennettä etkä voi ohjelmoida sitä uudelleen USB: n kautta. Tämä johtuu siitä, että kirjoitamme liikaa laiteohjelmiston sen USB-liitäntäpiiriin (pieni kaveri lähellä USB-porttia Atmega8U2 ja 16U2 tarkistuksesta riippuen). Mutta älä huoli, ettet voi todellakaan tiilittää UNO/Mega -laitettasi tekemällä tämä aina palautuvaksi.
Myös jos sinulla on Arduino, jolla on jo USB-HID-ominaisuus (Arduino Pro Micro tai Leonardo jne. Tee google-haku), voit unohtaa tämän opastettavan koskaan olemassa olleen menemällä suoraan tänne pelastaaksesi ongelman maailmasta, vain vitsi!
Tarvikkeet
-
Laitteisto
- Arduino UNO tai Mega
- PS/2 -näppäimistö
- Lisävarusteena voi tulla ylimääräinen Arduino tai mikä tahansa USB -ohjelmoija (USBasp jne.).
-
Ohjelmisto
- Atmel FLIP
- PS2KeyAdvanced -kirjasto Arduino IDE: lle
Vaihe 1: Johdotus ja asennus
Tilanteesta riippuen voit joko löytää murtokortin tai pelastaa vanhan portin emolevystä (toinen kokeiluni) tai jos tunnet olosi erityisen tuuliseksi, voit jopa katkaista violetin liittimen kokonaan ja paljastaa 4 johtoa (ensimmäinen yritys) ja yhdistä ne UNO: hon.
Näppäimistö Arduino
+5V (VCC) _+5V
GROUND_GND
KELLO _ 2 PIN **
TIEDOT _ PIN3*
*Voit muuttaa DATA -nastan haluamaksesi, mutta muista päivittää luonnos.
** CLOCK on kytkettävä Arduinon keskeytystappiin, joka voi olla vain PIN 2 tai 3 (muista päivittää luonnos) UNO: ssa. Lisätietoja ja erilaisia kortin kokoonpanoja löydät PS2KeyAdvanced -kirjastoesimerkkien kommenttiosasta.
Vaihe 2: Näppäimistön testaaminen
Ennen kuin lähdet kannelle, varmista, että kaikki toimii näppäimistöllä ja kirjastolla.
Tässä olen liittänyt PS2KeyAdvanced -kirjastoesimerkkien muokatun version SimpleTest.ino -ohjelmasta, jossa on päivitetyt kello- ja datanastat sekä "make" ja "break" -esitys. Tässä hieman selitystä tuotokselle.
- Tällä "tee" ja "tauko" skannauskoodijärjestelmällä ja "koodilla", joka on joko näppäimen painalluksen tai avaimen vapautuksen (c & 0xFF) skannauskoodi, on tärkeä osa PS/2-USB-muunnoksessa, ja suosittelen, että tutustut muut kaksi esimerkkiä, jotka toimitetaan kirjaston mukana, jotta saat paremman käsityksen siitä, aiotko parantaa tai muuttaa lopullista luonnosta (muuttaa näppäimiä eri asetteluihin). Voit myös saada täydellisen luettelon PS/2 -skannauskoodeista kirjastosta avaamalla joko 'PS2KeyAdvanced.h' tai 'PS2KeyCode.h' tiedostot kohdasta / Documents / Arduino / libraries / PS2KeyAdvanced / src / '
- "Statusbitit" viittaa muokkausnäppäimiin (Ctrl, Alt, Windows, Shift/Caps), ja huomaat, että jokaisen lisämuokkainavaimen yhteydessä tämä arvo muuttuu, kun taas normaalin (ei-muokkaava) -näppäimen pääkoodi on muuttumaton. Mutta lopullisessa luonnoksessa olen jättänyt tämän menetelmän huomiotta ja toteuttanut nämä muokkausavaimet yksinkertaisina näppäinten painalluksina (Näet, että näillä muokkausavaimilla on myös "make" ja "break" skannauskoodi riippumatta normaaleista näppäimistä riippumatta siitä, painetaanko useita näppäimiä vai ei.) koska se helpottaa asioita USB-HID-protokollan avulla.
Vaihe 3: PS/2 - USB -muunnoksen esikatselu
Ennen kuin päivitämme Atmega8U2 tai 16U2 (UNO Rev3) tunnistaaksemme Arduinomme USB-näppäimistönä, meidän on varmistettava, että kaikki muunnokset toimivat oikein ja lopullinen luonnos ladataan, tai muuten on suuri kipu jatkaa kirjoittamista laiteohjelmisto uudestaan ja uudestaan alkuperäisen ja USB-näppäimistön heksatiedostojen välillä, jotta voit ladata oikean luonnoksen. Tästä tulee erityisen totta, jos sinulla ei ole ulkoista ohjelmoijaa, kuten USBasp tai muu Arduino käytettäväksi Internet -palveluntarjoajana. Joten tässä lataamme lopullisen luonnoksen "DEBUG" -version ihmisen luettavalla ulostulolla (sarjamonitorin kautta) testataksesi asioita.
Näkymäsi tuloste muotoillaan näin, kun jokainen avain vapautetaan, 00 00 00 00 00 00 00 00
Tässä on perus selitys odotetulle tuotokselle,
Jokaiselle uudelle usean modifikaattorin näppäimen painallukselle saat uuden rivin, jolla on eri arvot xx: lle. Lopuksi, kun vapautat kaikki muokkausavaimet, "xx" pitäisi olla 00
xx 00 00 00 00 00 00 00
Jokaisesta uudesta useasta normaalista näppäimen painalluksesta (esimerkiksi painamme sekä hypoteettista näppäintä a, näppäintä b että näppäintä c, joiden arvot ovat "xx", "yy" ja "zz" tässä järjestyksessä), sinun pitäisi saada jatkuva (ei pakollinen) tällaiset uudet rivit,
00 00 x x yy zz 00 00 00
kun vapautat vain näppäimen b, ulostulon pitäisi muuttua,
00 00 x x 00 zz 00 00 00
ja jos painat uutta näppäintä d, jonka arvo on nn, vapauttamatta näppäintä a tai näppäintä b, tulosteen pitäisi muuttua,
00 00 xx nn zz 00 00 00
ja palaa lopuksi tähän, kun jokainen avain vapautetaan,
00 00 00 00 00 00 00 00
ja lopuksi, jos painat joko Caps Lock, Num Lock tai Scroll Lock, sinun pitäisi saada jotain tällaista, jossa on useita rivejä samanaikaisesti,
00 00 xx 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
Jos kaikki tapahtuu, olet kultainen jatkamaan!
Vaihe 4: Tekninen selitys
Jos haluat, voit ohittaa tämän vaiheen. Tämä on vain selitys aiemmille tuotoksille. Näkemäsi 8-tavuinen matriisi on muotoiltu yllä olevan kuvan 1 mukaisesti. Voit oppia paljon enemmän tästä ja myös siitä, kuinka muokkausavainten tila-tavu kirjoitetaan tästä wikistä USB-HID: stä. Pohjimmiltaan koodini tekee joka kerta, kun uutta näppäintä painetaan (PS/2-protokolla viittaa tähän nimellä 'make'), se selaa matriisin viimeisten 6 tavun läpi, joita käytetään normaaliin näppäinpainallukseen, ja täytä ensimmäinen tyhjä tavu, jonka se löytää asianomaisella 'HID -skannauskoodilla' (näkyy kuvassa 2. Löydät myös täydellisen luettelon liitteenä olevasta PDF -tiedostosta) vastaanotetulle 'PS/2 -skannauskoodille'. Ja lopuksi, kun asiaankuuluva avain vapautetaan (PS/2 -protokolla viittaa tähän 'tauko'), koodi kiertää nykyisen tavutaulukon läpi ja tyhjentää vain asianmukaisen tavun.
Jos seurasit tähän asti ja myös lukiessasi wikisivua, huomaat, että tässä menetelmässä on pieni ongelma, tavallisesti avaimen vapautuksen jälkeen, HID-protokollassa jäljellä olevat tavut järjestetään uudelleen tyhjien tavujen poistamiseksi jäljellä olevien tyhjien tavujen välillä. Mutta jostain syystä riippumatta siitä, kuinka monella tavalla yritin, en saanut sitä toimimaan suunnitellusti poistamatta vahingossa myös ei -toivottuja tavuja painetuille näppäimille. Jos voit parantaa tätä saadaksesi sen toimimaan, jätä kommentti. Vaikka päivän päätteeksi tämä ongelma ei vaikuta näppäimistön toimivuuteen niin kauan kuin Arduino rekisteröi jokaisen painetun näppäimen painamisjärjestyksestä riippumatta (mikä ei vaikuta käytännön käyttöön millään tavalla).
Vaihe 5: Lopullisen luonnoksen lataaminen
Joten ennen kuin päivität vihdoin Atmega8U2- tai 16U2 -laiteohjelmiston (UNO Rev3) tunnistaaksesi Arduinomme USB -näppäimistönä, meidän on ladattava lopullinen luonnos. Kun olet ladannut tämän, jos siirryt sarjamonitoriin, näet, että se tulostaa roskaa jokaisen uuden näppäimen painamisen jälkeen, tämä on hyvä merkki siitä, että kaikki toimii suunnitellulla tavalla ja voimme jatkaa viimeiseen vaiheeseen. JEE!!!
Vaihe 6: Laiteohjelmiston päivittäminen
Lopuksi voit päivittää Arduinon laiteohjelmiston rekisteröimään sen USB -näppäimistöksi. Tätä varten en aio mennä yksityiskohtiin, koska se tekee tästä ohjeesta liian pitkän.
- Noudata tätä arduino.cc: n opasta aiheesta "Atmega8U2: n ja 16U2: n päivittäminen Uno: lla tai Mega2560: lla DFU: ta käyttäen", mutta sen sijaan, että käytät "Arduino-usbserial-uno.hex", käytä oheista "Arduino-keyboard-0.3.hex"
- Muista valita FLIP -ohjelmassa kohdelaite Atmega8U2 tai 16U2 riippuen Arduinosta ja valitse viestintävälineestä USB ja lopuksi Lataa oikea heksatiedosto ennen suorituksen valitsemista.
- Jos törmäsit ohjainvirheeseen, siirry Windowsin laitehallintaan ja valitse etsiäksesi tuntematon ohjain FLIP '\ Program Files (x86) Atmel \' asennushakemistosta
- Jos törmäsit virheisiin päivittäessäsi laiteohjelmiston FLIP -ohjelmasta useita kertoja, sulje FLIP ja suorita Reset Preferences valikosta Käynnistä -valikko / FLIP / ja käynnistä sitten FLIP uudelleen ja suorita määritysvaiheet ennen kuin yrität uudelleen. Tämä yleensä toimii minulle.
- Jos haluat palauttaa Arduinon alkuperäiseen tilaansa, noudata yllä olevaa arduino.cc -opasta kirjeeseen käyttämättä tätä heksatiedostoa.
Vaihe 7: Nauti ……
Nauti nyt vastikään muunnetusta PS/2: sta USB -näppäimistöön…. P. S. Tämä Instructable on kirjoitettu kokonaan ulkoisesta PS/2 -näppäimistöstä, joka on kytketty kannettavaan tietokoneeseen Arduinon kautta:)
Suositeltava:
DIY 37 Leds Arduino -rulettipeli: 3 vaihetta (kuvilla)
DIY 37 Leds Arduino Roulette Peli: Ruletti on kasinopeli, joka on nimetty ranskalaisen sanan mukaan, joka tarkoittaa pientä pyörää
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
Pitkä kantama, 1,8 km, Arduino-Arduino Langaton tiedonsiirto HC-12: n kanssa: 6 vaihetta (kuvilla)
Pitkä kantama, 1,8 km, Arduino-Arduino Langaton tiedonsiirto HC-12: n avulla: Tässä ohjeessa opit kommunikoimaan Arduinojen välillä pitkän matkan, jopa 1,8 km: n päässä ulkona. HC-12 on langaton sarjaportti viestintämoduuli, joka on erittäin hyödyllinen, erittäin tehokas ja helppokäyttöinen. Ensin otat
Halvin Arduino -- Pienin Arduino -- Arduino Pro Mini -- Ohjelmointi -- Arduino Neno: 6 vaihetta (kuvilla)
Halvin Arduino || Pienin Arduino || Arduino Pro Mini || Ohjelmointi || Arduino Neno: …………………………. Tilaa YouTube -kanavani saadaksesi lisää videoita ……. Tässä projektissa keskitytään kaikkien aikojen pienimpään ja halvinan arduinoon. Pienin ja halvin arduino on arduino pro mini. Se muistuttaa arduinoa
LED -matriisijoukon ohjaaminen Arduino Unolla (Arduino -käyttöinen robotti): 4 vaihetta (kuvilla)
LED -matriisiohjaimen ohjaaminen Arduino Unolla (Arduino -käyttöinen robottikasvo): Tämä ohje näyttää kuinka hallita 8x8 LED -matriisiryhmää Arduino Unolla. Tätä opasta voidaan käyttää luomaan yksinkertainen (ja suhteellisen halpa näyttö) omille projekteillesi. Tällä tavalla saatat näyttää kirjaimia, numeroita tai mukautettuja animaatioita