ዝርዝር ሁኔታ:

አርዱዲኖ PS/2 ወደ ዩኤስቢ አስማሚ 7 ደረጃዎች (ከስዕሎች ጋር)
አርዱዲኖ PS/2 ወደ ዩኤስቢ አስማሚ 7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: አርዱዲኖ PS/2 ወደ ዩኤስቢ አስማሚ 7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: አርዱዲኖ PS/2 ወደ ዩኤስቢ አስማሚ 7 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: የአርዱብሎክ መተግበሪያን በመጫን ላይ 2024, ህዳር
Anonim
አርዱዲኖ PS/2 ወደ ዩኤስቢ አስማሚ
አርዱዲኖ PS/2 ወደ ዩኤስቢ አስማሚ
አርዱዲኖ PS/2 ወደ ዩኤስቢ አስማሚ
አርዱዲኖ PS/2 ወደ ዩኤስቢ አስማሚ

በላፕቶፕዎ ወይም በአዲሱ ዴስክቶፕ ፒሲዎ የድሮውን የ PS/2 ቁልፍ ሰሌዳዎን ለመጠቀም እና ከእንግዲህ የ PS/2 ወደቦች እንደሌሏቸው ለማወቅ ፈልገዋል? እና ከዚያ አንድ ተራ ሰው እንደሚያደርገው ርካሽ PS/2 ን ወደ ዩኤስቢ አስማሚ ከመግዛት ይልቅ አርዱዲኖዎን እንደ PS/2 ወደ ዩኤስቢ አስማሚ ለመጠቀም ፈለገ። ከዚያ ወደ ትክክለኛው ቦታ መጥተዋል:)

ወደ ውስጥ ከመግባታችን በፊት ትክክለኛ ማስጠንቀቂያ። የእርስዎን ዩኤንኦ/ሜጋ እንደ የዩኤስቢ- HID መሣሪያ ሲጠቀሙ (በቁልፍ ሰሌዳ ብቻ ያልተገደበ ፣ እሱ እንኳን መዳፊት ፣ ጆይስቲክ ፣ ወዘተ ሊሆን ይችላል) ተግባሮቹን እንደ አርዱዲኖ ለጊዜው ያጣሉ። ይህ ማለት ተከታታይ ግንኙነቶችን መጠቀም አይችሉም እና በዩኤስቢ በኩል እንደገና ማረም አይችሉም ማለት ነው። ምክንያቱም እኛ በዩኤስቢ በይነገጽ ቺፕ (በ USB ወደብ Atmega8U2 እና 16U2 አቅራቢያ ያለው ትንሽ ሰው በክለሳ ላይ በመመስረት) firmware ን ከመጠን በላይ እንጽፋለን። ግን አይጨነቁ ይህንን በማድረግ UNO/ሜጋዎን በጡብ መሥራት አይችሉም ሁል ጊዜ ሊቀለበስ ይችላል።

እንዲሁም በማንኛውም አጋጣሚ ቀድሞውኑ የዩኤስቢ- HID ችሎታ ያለው (አርዱዲኖ ፕሮ ማይክሮ ወይም ሊዮናርዶ ፣ ወዘተ የጉግል ፍለጋ) ያለው አርዱኢኖ ካለዎት እራስዎን ከዚህ ችግር ዓለም ለማዳን በቀጥታ ወደዚህ ይሂዱ። መቀለድ!

አቅርቦቶች

  • ሃርድዌር

    • አርዱዲኖ UNO ወይም ሜጋ
    • PS/2 የቁልፍ ሰሌዳ
    • እንደ አማራጭ አንድ ተጨማሪ አርዱዲኖ ወይም ማንኛውም ዓይነት የዩኤስቢ ፕሮግራም አውጪ (ዩኤስቢኤስፕ ፣ ወዘተ) ሊረዳ ይችላል።
  • ሶፍትዌር

    • Atmel FLIP
    • ለ Arduino IDE PS2KeyAdvanced ቤተ -መጽሐፍት

ደረጃ 1 ሽቦ እና ማዋቀር

ሽቦ እና ማዋቀር
ሽቦ እና ማዋቀር
ሽቦ እና ማዋቀር
ሽቦ እና ማዋቀር
ሽቦ እና ማዋቀር
ሽቦ እና ማዋቀር
ሽቦ እና ማዋቀር
ሽቦ እና ማዋቀር

በሁኔታው ላይ በመመስረት የመገንጠያ ሰሌዳ ማግኘት ወይም ከእናትቦርድ (የእኔ 2 ኛ ሙከራ) የድሮ ወደብ ማዳን ወይም በተለይ ስሜት የሚሰማዎት ከሆነ ሐምራዊውን መሰኪያውን ሙሉ በሙሉ መቁረጥ እና 4 ገመዶችን (የመጀመሪያ ሙከራዬን) ማጋለጥ እና ከ UNO ጋር ያገናኙዋቸው።

የቁልፍ ሰሌዳ _ አርዱinoኖ

+5V (VCC) _+5V

መሬት _GND

ሰዓት _PIN 2 **

መረጃ _ ፒን 3*

*የፈለጉትን የ DATA ፒን መለወጥ ይችላሉ ፣ ግን ንድፉን ማዘመንዎን ያስታውሱ።

** ክሎክ በዩኤን ላይ ፒን 2 ወይም 3 ብቻ ሊሆን ይችላል (ንድፉን ማዘመን ያስታውሱ) በአርዱዲኖ ላይ ከተቋረጠ ፒን ጋር መገናኘት አለበት። ለተጨማሪ መረጃ እና ለተለያዩ የቦርድ ውቅሮች የ PS2KeyAdvanced ቤተ -መጽሐፍት ምሳሌዎች የአስተያየት ክፍልን ማየት ይችላሉ።

ደረጃ 2 የቁልፍ ሰሌዳ ሙከራ

ሁሉንም እጆች በጀልባ ከመሄድዎ በፊት በመጀመሪያ ሁሉም ነገር በቁልፍ ሰሌዳ እና በቤተ -መጽሐፍት ላይ እየሰራ መሆኑን ያረጋግጡ።

እዚህ የተሻሻለው የ SimpleTest.ino ስሪት ከ PS2KeyAdvanced የቤተመጽሐፍት ምሳሌዎች ከተዘመነ ሰዓት እና የውሂብ ካስማዎች እና እንዲሁም “ሰሪ” እና “ሰበር” ውክልና ጋር አያይዣለሁ። ለውጤቱ አንዳንድ ማብራሪያ እዚህ አለ።

  • ይህ “ማድረግ” እና “ማቋረጥ” የፍተሻ ኮድ ስርዓት እና “ኮድ” ይህም ቁልፍ (ሲ & 0xFF) የቁልፍ-ፕሬስ ወይም ቁልፍ-መለቀቅ በ PS/2 ውስጥ ወደ ዩኤስቢ መለወጥ አስፈላጊ ሚና ይጫወታል እና እንዲያጠኑ እመክራለሁ እርስዎ ለማሻሻል ወይም ለመለወጥ (ለተለያዩ አቀማመጦች ቁልፎችን በማሳረፍ) የመጨረሻውን ንድፍ ካዘጋጁ የተሻለ ግንዛቤ ለማግኘት ከቤተ -መጽሐፍት ጋር የሚመጡ ሌሎች 2 ምሳሌዎች። እንዲሁም 'PS2KeyAdvanced.h' ወይም 'PS2KeyCode.h' ፋይሎችን ከ '\ ሰነዶች / Arduino / libraries / PS2KeyAdvanced / src \' ወይ በመክፈት የተሟላ የ PS/2 ስካን ኮዶችን ዝርዝር ከቤተ -መጽሐፍት ማግኘት ይችላሉ።
  • “የሁኔታ ቢቶች” የሚያስተካክሉ ቁልፎችን (Ctrl ፣ Alt ፣ Windows ፣ Shift/Caps) የሚያመለክት ሲሆን በእያንዳንዱ ተጨማሪ የማሻሻያ ቁልፍ ፣ ይህ እሴት ሲለወጥ የመደበኛ (የማይለወጥ) ቁልፍ ዋናው “ኮድ” ሳይለወጥ ነው። ግን በመጨረሻው ንድፍ ይህንን ዘዴ ችላ ብዬ እነዚህን የመቀየሪያ ቁልፎች እንደ ቀላል የቁልፍ መጫኛዎች ተግባራዊ አድርጌያለሁ (እነዚህ የማሻሻያ ቁልፎች እንዲሁ ብዙ ቁልፎች ተጭነውም ባይሆኑም ከተለመዱት ቁልፎች ነፃ “የማድረግ” እና “የማፍረስ” ቅኝት ኮድ እንዳላቸው ያያሉ።) ምክንያቱም በዩኤስቢ- HID ፕሮቶኮል ነገሮችን ያቃልላል።

ደረጃ 3 PS/2 ወደ ዩኤስቢ ልወጣ ቅድመ -እይታ

የእኛን አርዱዲኖን እንደ የዩኤስቢ ቁልፍ ሰሌዳ ለመለየት Atmega8U2 ወይም 16U2 (UNO Rev3) ከማዘመንዎ በፊት ሁሉም የመቀየሪያ ነገሮች በትክክል እየሠሩ መሆናቸውን እና የመጨረሻው የመጨረሻው ንድፍ እንደተሰቀለ ማረጋገጥ አለብን ወይም አለበለዚያ ጽሑፉን ከልክ በላይ መጻፍ ለመቀጠል ትልቅ ሥቃይ ይሆናል። ትክክለኛውን ንድፍ ለመስቀል በኦሪጅናል እና በዩኤስቢ-ቁልፍ ሰሌዳ ሄክስ ፋይሎች መካከል ደጋግሞ firmware። እንደ ዩኤስቢፕ ወይም ሌላ አርዱinoኖ እንደ አይኤስፒ ለመጠቀም ያለ ማንኛውም የውጭ ፕሮግራም አውጪ ከሌለዎት ይህ በተለይ እውነት ይሆናል። ስለዚህ እዚህ ነገሮችን ለመፈተሽ በሰው ሊነበብ በሚችል ውፅዓት (በተከታታይ ማሳያ በኩል) የመጨረሻውን ንድፍ ‹ደብል› ስሪት እንሰቅላለን።

እያንዳንዱ ቁልፍ በሚለቀቅበት ጊዜ የሚያዩት ውጤት በዚህ መልክ ይቀመጣል ፣

00 00 00 00 00 00 00 00

ለሚጠበቀው ውጤት መሠረታዊ ማብራሪያ እዚህ አለ ፣

ለእያንዳንዱ አዲስ ባለብዙ መቀየሪያ ቁልፍ-ለ ‹xx› የተለያዩ እሴቶች ያለው አዲስ መስመር ማግኘት አለብዎት። በመጨረሻም ሁሉንም የማሻሻያ ቁልፎች 'xx' ሲለቁ 00 መሆን አለበት።

xx 00 00 00 00 00 00 00 00

ለእያንዳንዱ አዲስ ብዙ የተለመዱ ቁልፍ-መርገጫዎች (ለምሳሌ እኛ ሁለቱንም መላምታዊ ቁልፍ ሀ ፣ ቁልፍ ለ እና ቁልፍ ሐ በእሴቶች ‹xx› ፣ ‹yy› እና ‹zz› በቅደም ተከተል እንጫናለን) ቀጣይነት ማግኘት አለብዎት (አስገዳጅ አይደለም) እንደዚህ ያሉ አዲስ መስመሮች ፣

00 00 xx yy zz 00 00 00

ቁልፍን ብቻ ሲለቁ ውጤቱ ወደ መለወጥ አለበት ፣

00 00 xx 00 zz 00 00 00

እና ቁልፍን ወይም ቁልፍን ሳይለቁ አዲስ ቁልፍ d ን በእሴት ‹N› ን ከተጫኑ የእርስዎ ምርት መለወጥ አለበት ፣

00 00 xx nn zz 00 00 00

እና እያንዳንዱ ቁልፍ በሚለቀቅበት ጊዜ በመጨረሻ ወደዚህ ይመለሱ ፣

00 00 00 00 00 00 00 00

እና በመጨረሻ የ Caps Lock ፣ Num Lock ወይም Scroll Lock ን ከተጫኑ በብዙ መስመሮች በተመሳሳይ ጊዜ እንደዚህ ያለ ነገር ማግኘት አለብዎት ፣

00 00 xx 00 00 00 00 00 00

00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00

እዚህ ሁሉም ነገር ከተከሰተ ለመቀጠል ወርቃማ ነዎት!

ደረጃ 4 ቴክኒካዊ ማብራሪያ

ቴክኒካዊ ማብራሪያ
ቴክኒካዊ ማብራሪያ
ቴክኒካዊ ማብራሪያ
ቴክኒካዊ ማብራሪያ

ከፈለጉ ይህንን ደረጃ መዝለል ይችላሉ። ይህ ለቀደሙት ውጤቶች ማብራሪያ ብቻ ነው። ያዩት የውጤት 8 ባይት ድርድር ከዚህ በላይ ባለው ምስል መሠረት የተቀረፀ ነው። ስለእዚህ የበለጠ ማወቅ እና እንዲሁም የማሻሻያ ቁልፎች ሁኔታ ባይት ከዚህ ዊኪ ስለ ዩኤስቢ- HID እንዴት እንደተፃፈ ማወቅ ይችላሉ። በመሠረቱ የእኔ ኮድ የሚሠራው እያንዳንዱ አዲስ ቁልፍ በተጫነ ቁጥር (PS/2 ፕሮቶኮል ይህንን ‹ሠራተኛ› ብሎ ይጠራዋል) ለመደበኛ የቁልፍ ማተሚያዎች ጥቅም ላይ በሚውሉት የመጨረሻዎቹ 6 ባይቶች ውስጥ ይሽከረከራል እና የመጀመሪያውን ይሙሉ ባዶ ባይት ከሚመለከተው ‹HID scancode› ጋር ያገኛል (በለስ እንደሚታየው 2 እንዲሁም ለተያያዘው ‹PS/2 scancode› የተሟላ ዝርዝር ከተያያዘው ፒዲኤፍ ማግኘት ይችላሉ)። እና የሚመለከተው ቁልፍ ሲለቀቅ (PS/2 ፕሮቶኮል ይህንን ‹ዕረፍት› ሲል ይጠራል)) ኮዱ አሁን ባለው የባይት ድርድር ውስጥ ይሽከረከራል እና ተገቢውን ባይት ብቻ ያጸዳል።

እስከዚህ ድረስ ከተከተሉ እና እንዲሁም የዊኪ ገጹን ካነበቡ በዚህ ዘዴ ውስጥ ትንሽ ችግር እንዳለ ፣ በተለምዶ ቁልፉ በሚለቀቅበት ጊዜ ፣ በ HID ፕሮቶኮል ውስጥ ባዶ ባይት ለማስወገድ እንደ ቀሪዎቹ ባይቶች እንደገና ይዘጋጃሉ። ባዶ ባልሆኑ ባይት መካከል። ነገር ግን በሆነ ምክንያት ምን ያህል መንገዶች ብሞክርም አላስፈላጊ የሆኑ ባይትዎችን ለተጫኑ ቁልፎች ሳላጸዳ እንደታሰበው እንዲሠራ ማድረግ አልቻልኩም። እንዲሠራ ይህንን ማሻሻል ከቻሉ እባክዎን አስተያየት ይተዉ። ምንም እንኳን በቀኑ መጨረሻ ላይ አርዱዲኖ ምንም እንኳን የተጫነ ቅደም ተከተላቸው ምንም ይሁን ምን እያንዳንዱ ቁልፍ ተጭኖ እስከተመዘገበ ድረስ (ይህ በተግባራዊ አጠቃቀም ላይ ምንም ነገር የማይጎዳ) እስካለ ድረስ ይህ ችግር በቁልፍ ሰሌዳው ተግባር ላይ ተጽዕኖ አያሳድርም።

ደረጃ 5: የመጨረሻውን ንድፍ በመስቀል ላይ

ስለዚህ የእኛን አርዱዲኖን እንደ የዩኤስቢ ቁልፍ ሰሌዳ ለመለየት የአትሜጋ 8 ዩ 2 ወይም የ 16U2 (UNO Rev3) firmware ን ከማዘመንዎ በፊት የመጨረሻውን ንድፍ መስቀል አለብን። ይህንን ከሰቀሉ በኋላ ወደ ተከታታይ ማሳያው ከሄዱ በእያንዳንዱ አዲስ ቁልፍ ተጭኖ ቆሻሻ ሲያተም ያያሉ ይህ ሁሉ እንደታሰበው እየሰራ መሆኑን ጥሩ ምልክት ነው እና ወደ መጨረሻው ደረጃ መቀጠል እንችላለን። አዎ !!!

ደረጃ 6 - የጽኑዌር ማዘመን

በመጨረሻም እንደ የዩኤስቢ ቁልፍ ሰሌዳ ለማስመዝገብ የአርዱኖዎን firmware ማዘመን ይችላሉ። ለዚህ እኔ ብዙ ዝርዝር ውስጥ አልገባም ምክንያቱም ይህ መመሪያን በጣም ረጅም ያደርገዋል።

  1. DFU ን በመጠቀም ‹Atmega8U2 ን እና 16U2 ን በ ‹Uno› ወይም ‹Mega2560› ላይ ማዘመንን ግን‹ Arduino-usbserial-uno.hex ›ን ከመጠቀም ይልቅ የተጣጣመውን‹ Arduino-keyboard-0.3.hex ›ይጠቀሙ።
  2. በ FLIP ውስጥ በአርዱዲኖ ላይ በመመስረት የታለመውን መሣሪያ እንደ Atmega8U2 ወይም 16U2 መምረጥዎን ያስታውሱ እና የግንኙነት መካከለኛውን ከመረጡ ዩኤስቢ ይምረጡ እና በመጨረሻም ሩጫውን ከመምረጥዎ በፊት ትክክለኛውን የሄክስ ፋይል ይጫኑ።
  3. የአሽከርካሪ ስህተት ከገጠመዎት ወደ የዊንዶውስ መሣሪያ አስተዳዳሪ ይሂዱ እና በ FLIP '\ Program Files (x86) Atmel \' 'የመጫኛ ማውጫ ውስጥ ያልታወቀውን ሾፌር ለመፈለግ ይምረጡ።
  4. ሶፍትዌሩን ከ FLIP ብዙ ጊዜ በማዘመን ላይ ሳሉ ስህተቶች ከገጠሙዎት FLIP ን ይዝጉ እና 'ምርጫዎችን ዳግም አስጀምር' ን ከ ‹ጀምር ምናሌ / FLIP \› ያሂዱ እና ከዚያ እንደገና ከመሞከርዎ በፊት FLIP ን እንደገና ያስጀምሩ እና የማዋቀሪያ እርምጃዎችን ያድርጉ ይህ ብዙውን ጊዜ ለእኔ ይሠራል።
  5. እርስዎ አርዱዲኖን ወደ መጀመሪያው ሁኔታዎ ለመመለስ ከፈለጉ ይህንን የሄክስ ፋይል ሳይጠቀሙ ከላይ ያለውን የ arduino.cc መመሪያን ይከተሉ።

ደረጃ 7: ይደሰቱ ……

ይደሰቱ ……
ይደሰቱ ……

አሁን አዲሱን ወደ PS/2 ወደ ዩኤስቢ ቁልፍ ሰሌዳ ይደሰቱ…. ፒ.ኤስ. ይህ አስተማሪ በአርዲኖ በኩል ከላፕቶፕዬ ጋር ከተገናኘው ከውጭ PS/2 ቁልፍ ሰሌዳ ሙሉ በሙሉ ተፃፈ:)

የሚመከር: