Satura rādītājs:

Arduino PS/2 uz USB adapteri: 7 soļi (ar attēliem)
Arduino PS/2 uz USB adapteri: 7 soļi (ar attēliem)

Video: Arduino PS/2 uz USB adapteri: 7 soļi (ar attēliem)

Video: Arduino PS/2 uz USB adapteri: 7 soļi (ar attēliem)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Jūlijs
Anonim
Arduino PS/2 uz USB adapteri
Arduino PS/2 uz USB adapteri
Arduino PS/2 uz USB adapteri
Arduino PS/2 uz USB adapteri

Vai kādreiz esat vēlējies izmantot veco PS/2 tastatūru kopā ar klēpjdatoru vai jaunu galddatoru un uzzinājāt, ka tiem vairs nav PS/2 portu? Un tad, nevis doties pirkt lētu PS/2 USB adapteri, kā to darītu parasts cilvēks, gribēja izmantot savu Arduino kā PS/2 USB adapteri. Tad tu esi nonācis īstajā vietā:)

Godīgs brīdinājums, pirms mēs tajā nonākam. Ja UNO/Mega izmantojat kā USB-HID ierīci (ne tikai tastatūra, tā var būt pat pele, kursorsvira utt.), Jūs īslaicīgi zaudēsit tās funkcijas kā Arduino. Ar to es domāju, ka jūs nevarat izmantot seriālos sakarus un nevarat to pārprogrammēt, izmantojot USB. Tas ir tāpēc, ka mēs pārrakstīsim programmaparatūru uz tās USB saskarnes mikroshēmas (mazs puisis pie USB porta Atmega8U2 un 16U2 atkarībā no pārskatīšanas). Bet neuztraucieties, ka jūs faktiski nevarat izveidot savu UNO/Mega ķieģeļu, to darot, tas vienmēr ir atgriezenisks.

Arī jebkurā gadījumā, ja jums ir Arduino, kuram jau ir USB-HID iespēja (Arduino Pro Micro vai Leonardo utt. Veiciet Google meklēšanu), varat aizmirst šo pamācību, kas kādreiz pastāvējusi, dodieties tieši šeit, lai glābtu sevi no nepatikšanām. joko!

Piegādes

  • Aparatūra
    • Arduino UNO vai Mega
    • PS/2 tastatūra
    • Pēc izvēles var noderēt papildu Arduino vai jebkura veida USB programmētājs (USBasp utt.).
  • Programmatūra
    • Atmel FLIP
    • PS2KeyAdvanced bibliotēka Arduino IDE

1. darbība. Elektroinstalācija un iestatīšana

Elektroinstalācija un iestatīšana
Elektroinstalācija un iestatīšana
Elektroinstalācija un iestatīšana
Elektroinstalācija un iestatīšana
Elektroinstalācija un iestatīšana
Elektroinstalācija un iestatīšana
Elektroinstalācija un iestatīšana
Elektroinstalācija un iestatīšana

Atkarībā no situācijas jūs varat vai nu atrast izlaušanas dēli, vai arī izglābt veco portu no mātesplates (mans otrais mēģinājums), vai arī, ja jūtaties īpaši garastāvokļa pilns, jūs pat varat pilnībā pārgriezt purpursarkano ligzdu un atklāt 4 vadus (mans pirmais mēģinājums) un savienojiet tos ar UNO.

Tastatūra_Arduino

+5V (VCC) _+5V

GROUND_GND

Pulkstenis _ 2. PIN **

DATI _ PIN3*

*Jūs varat mainīt DATA tapu uz to, ko vēlaties, bet atcerieties atjaunināt skici.

** CLOCK ir jāpievieno Arduino pārtraukšanas tapai, kas UNO var būt tikai PIN 2 vai 3 (atcerieties atjaunināt skici). Lai iegūtu papildinformāciju un dažādas paneļa konfigurācijas, pārbaudiet PS2KeyAdvanced bibliotēkas piemēru komentāru sadaļu.

2. darbība. Tastatūras pārbaude

Pirms visu roku uz klāja pārliecinieties, vai viss darbojas ar tastatūru un bibliotēku.

Šeit es esmu pievienojis PS2KeyAdvanced bibliotēkas piemēru SimpleTest.ino modificētu versiju ar atjauninātiem pulksteņa un datu tapām, kā arī “make” un “break” attēlojumu. Šeit ir daži izvades skaidrojumi.

  • Šai "izgatavošanas" un "pārtraukuma" skenēšanas koda sistēmai un "kodam", kas ir atsevišķs (c & 0xFF) skenēšanas kods taustiņu nospiešanai vai atslēgas atlaišanai, ir svarīga loma PS/2 pārveidošanā par USB, un es iesaku jums izpētīt pārējie divi piemēri, kas pievienoti bibliotēkai, lai labāk izprastu, vai plānojat uzlabot vai mainīt (pārveidot taustiņus dažādiem izkārtojumiem) galīgo skici. Arī jūs varat iegūt pilnu PS/2 skenēšanas kodu sarakstu no bibliotēkas, atverot vai nu "PS2KeyAdvanced.h" vai "PS2KeyCode.h" failus no "\ Documents / Arduino / libraries / PS2KeyAdvanced / src \"
  • "Statusa biti" attiecas uz modifikācijas taustiņiem (Ctrl, Alt, Windows, Shift/Caps), un jūs redzēsiet, ka ar katru papildu modificēšanas taustiņu šī vērtība mainās, kamēr parastās (nemodificējošās) atslēgas galvenais "kods" nemainās. Bet pēdējā skicē es neesmu ievērojis šo metodi un ieviesis šīs modificējošās atslēgas kā vienkāršas taustiņu nospiešanas (Jūs redzēsiet, ka šīm modificēšanas taustiņām ir arī “make” un “break” skenēšanas kods neatkarīgi no parastajiem taustiņiem neatkarīgi no tā, vai tiek nospiesti vairāki taustiņi.) jo tas atvieglo lietas, izmantojot USB-HID protokolu.

3. darbība: PS/2 uz USB konversijas priekšskatījums

Pirms Atmega8U2 vai 16U2 (UNO Rev3) atjaunināšanas, lai identificētu mūsu Arduino kā USB tastatūru, mums jāpārliecinās, vai visas reklāmguvumu lietas darbojas pareizi un vai augšējā augšējā skice ir augšupielādēta, vai arī citādi sagādās lielas sāpes. programmaparatūru atkal un atkal starp oriģinālajiem un USB tastatūras hex failiem, lai jūs varētu augšupielādēt pareizo skici. Tas kļūst īpaši aktuāli, ja jums nav ārēja programmētāja, piemēram, USBasp vai cita Arduino, ko izmantot kā ISP. Tātad šeit mēs augšupielādēsim galīgās skices “DEBUG” versiju ar cilvēkam nolasāmu izvadi (caur sērijas monitoru), lai pārbaudītu lietas.

Redzamā izvade tiks formatēta šādi, atlaižot katru atslēgu, 00 00 00 00 00 00 00 00

Šeit ir pamata skaidrojums gaidāmajai produkcijai,

Katrai jaunai vairāku modifikatoru taustiņu nospiešanai jums vajadzētu iegūt jaunu rindiņu ar dažādām 'xx' vērtībām. Visbeidzot, atlaižot visas modifikācijas atslēgas, “xx” jākļūst par 00

xx 00 00 00 00 00 00 00

Katrai jaunai vairāku parasto taustiņu nospiešanai (piemēram, mēs nospiežam gan hipotētisko taustiņu a, gan taustiņu b, gan taustiņu c ar vērtībām “xx”, “yy” un “zz” šādā secībā) jums vajadzētu saņemt nepārtrauktu (nav obligāti) šādas jaunas rindas,

00 00 xx yy zz 00 00 00

atlaižot tikai taustiņu b, izvadam vajadzētu mainīties uz,

00 00 xx 00 zz 00 00 00

un, nospiežot jaunu taustiņu d ar vērtību “nn”, neatlaižot taustiņu a vai b, izvadei vajadzētu mainīties uz,

00 00 xx nn zz 00 00 00

un beidzot atgriezties pie tā, kad tiek atbrīvota katra atslēga,

00 00 00 00 00 00 00 00

visbeidzot, nospiežot Caps Lock, Num Lock vai Scroll Lock, jums vajadzētu iegūt kaut ko līdzīgu ar vairākām rindām vienlaicīgi,

00 00 xx 00 00 00 00 00

00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00

Ja viss šeit notiek, jums ir zelta turpināt!

4. solis: tehniskais skaidrojums

Tehniskais skaidrojums
Tehniskais skaidrojums
Tehniskais skaidrojums
Tehniskais skaidrojums

Ja jums patīk, varat izlaist šo soli. Tas ir tikai iepriekšējo rezultātu skaidrojums. Redzētais 8 baitu masīvs ir formatēts saskaņā ar iepriekš redzamo 1. attēlu. Jūs varat uzzināt daudz vairāk par to un arī par to, kā modificēšanas taustiņu statusa baits ir rakstīts šajā wiki par USB-HID. Būtībā mans kods dara katru reizi, kad tiek nospiests jauns taustiņš (PS/2 protokols to apzīmē kā “make”), tas riņķo pa pēdējiem 6 masīva baitiem, kas tiek izmantoti parastajām taustiņu nospiešanām, un aizpilda pirmo tukšu baitu, ko tas atrod ar atbilstošo 'HID skenēšanas kodu' (parādīts, kā parādīts 2. attēlā. Pilnu sarakstu varat atrast arī pievienotajā PDF failā) saņemtajam 'PS/2 skenēšanas kodam'. Un visbeidzot, kad tiek atbrīvota attiecīgā atslēga (PS/2 protokols to apzīmē kā “pārtraukumu”), kods pārvietosies pa pašreizējo baitu masīvu un notīrīs tikai attiecīgo baitu.

Ja jūs sekojāt līdz šim brīdim un arī lasot wiki lapu, jūs redzēsit, ka šajā metodē ir neliela problēma, parasti, kad atslēga tiek atbrīvota, HID protokolā atlikušie baiti tiek pārkārtoti tā, lai atbrīvotos no tukšiem baitiem starp atlikušajiem tukšajiem baitiem. Bet kāda iemesla dēļ neatkarīgi no tā, cik daudz veidu es mēģināju, es nevarēju panākt, lai tas darbotos kā paredzēts, nejauši neizdzēšot nevēlamos baitus arī nospiestajiem taustiņiem. Ja varat to uzlabot, lai tas darbotos, lūdzu, atstājiet komentāru. Lai gan dienas beigās šī problēma neietekmē tastatūras funkcionalitāti, kamēr Arduino joprojām reģistrē katru nospiesto taustiņu neatkarīgi no to nospiešanas secības (kas praktiski neietekmē neko).

5. darbība. Galīgās skices augšupielāde

Tātad, pirms jūs beidzot atjaunināt Atmega8U2 vai 16U2 programmaparatūru (UNO Rev3), lai identificētu mūsu Arduino kā USB tastatūru, mums ir jāaugšupielādē galīgā skice. Kad esat to augšupielādējis, dodoties uz sērijveida monitoru, jūs redzēsit, ka ar katru jaunu taustiņu tiek nospiests atkritums, un tas liecina par to, ka viss darbojas kā paredzēts, un mēs varam turpināt pēdējo darbību. YAY !!!

6. darbība: programmaparatūras atjaunināšana

Visbeidzot, jūs varat atjaunināt Arduino programmaparatūru, lai to reģistrētu kā USB tastatūru. Šim nolūkam es neiedziļināšos daudzās detaļās, jo tas padarīs šo pamācību pārāk garu.

  1. Izpildiet šo rokasgrāmatu no arduino.cc par “Atmega8U2 un 16U2 atjaunināšanu Uno vai Mega2560, izmantojot DFU”, bet nevis “Arduino-usbserial-uno.hex”, izmantojiet pievienoto “Arduino-keyboard-0.3.hex”
  2. FLIP gadījumā atcerieties atlasīt mērķa ierīci kā Atmega8U2 vai 16U2 atkarībā no jums Arduino un no saziņas līdzekļa izvēlieties USB un, visbeidzot, pirms palaišanas izvēles ielādējiet pareizo hex failu.
  3. Ja radās draivera kļūda, dodieties uz Windows ierīces pārvaldnieku un izvēlieties, lai meklētu nezināmo draiveri FLIP instalācijas direktorijā / Program Files (x86) Atmel / '
  4. Ja, atjauninot programmaparatūru no FLIP vairākas reizes, radās kļūdas, aizveriet FLIP un palaidiet izvēlnē Sākt izvēlni / FLIP / "Atiestatīt preferences", pēc tam restartējiet FLIP un veiciet konfigurācijas darbības, pirms mēģināt vēlreiz.
  5. Ja vēlaties atjaunot Arduino sākotnējo stāvokli, vienkārši izpildiet iepriekš minēto arduino.cc ceļveža vēstuli, neizmantojot šo hex failu.

7. solis: izbaudiet ……

Izbaudi……
Izbaudi……

Tagad izbaudiet nesen pārveidoto PS/2 uz USB tastatūru…. P. S. Šī pamācība tika pilnībā uzrakstīta no ārējās PS/2 tastatūras, kas savienota ar manu klēpjdatoru, izmantojot Arduino:)

Ieteicams: