Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Утас холбох, тохируулах
- Алхам 2: Гарын тест хийх
- Алхам 3: PS/2 -ийг USB хөрвүүлэлтийг урьдчилан үзэх
- Алхам 4: Техникийн тайлбар
- Алхам 5: Эцсийн ноорог байршуулж байна
- Алхам 6: Firmware -ийг шинэчлэх
- Алхам 7: Таашаал аваарай …
Видео: USB адаптер руу Arduino PS/2: 7 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Та хуучин PS/2 гараа зөөврийн компьютер эсвэл шинэ ширээний компьютер дээрээ ашиглахыг хүсч байгаад PS/2 порт байхгүй болсныг мэдсэн үү? Тэгээд жирийн хүний хийдэг шиг USB адаптер руу хямдхан PS/2 худалдаж авахын оронд Arduino -г PS/2 -аас USB адаптер болгон ашиглахыг хүссэн. Дараа нь та зөв газартаа хүрлээ:)
Бид үүнд орохоосоо өмнө шударгаар анхааруулж байна. Та UNO/Mega-г USB-HID төхөөрөмж болгон ашиглахдаа (зөвхөн гараар хязгаарлагдахгүй, хулгана, джойстик гэх мэт байж болно) Arduino-ийн үүргээ түр алдана. Үүнийг би та цуваа холболтыг ашиглах боломжгүй бөгөөд USB -ээр дахин програмчлах боломжгүй гэсэн үг юм. Учир нь бид USB интерфэйс чип дээрээ програмыг хэт их бичих болно (засвараас хамааран USB порт Atmega8U2 ба 16U2-ийн ойролцоо байгаа бяцхан залуу). Гэхдээ үүнийг хийх замаар UNO/Mega -ийг тоосго болгож чадахгүй гэж санаа зовох хэрэггүй, энэ нь үргэлж буцаагдах боломжтой юм.
Хэрэв танд USB-HID (Arduino Pro Micro эсвэл Леонардо гэх мэт) хайлт хийх боломжтой Arduino байгаа бол та хэзээ нэгэн цагт энд байсан зааварчилгааг мартаж, дэлхийн бэрхшээлээс өөрийгөө аврах болно. тоглож байна!
Хангамж
-
Техник хангамж
- Arduino UNO эсвэл Mega
- PS/2 гар
- Нэмэлт Arduino эсвэл ямар ч төрлийн USB програмист (USBasp, гэх мэт) хэрэг болно.
-
Програм хангамж
- Атмел FLIP
- Arduino IDE -д зориулсан PS2KeyAdvanced номын сан
Алхам 1: Утас холбох, тохируулах
Нөхцөл байдлаас шалтгаалан та хагарах самбар олж авах эсвэл хуучин портыг эх хавтангаас аврах боломжтой (миний 2 дахь оролдлого) эсвэл хэрэв та сэтгэл санаа муутай байвал ягаан үүрийг бүхэлд нь огтолж, 4 утсыг ил гаргаж болно (миний анхны оролдлого) ба тэдгээрийг НҮБ -тай холбоно уу.
Гар _Arduino
+5V (VCC) _+5V
ГАЗАР _ GND
ЦАГИЙН _ Зүү 2 **
Өгөгдөл _ PIN3*
*Та DATA пин -ийг хүссэн үедээ өөрчилж болно, гэхдээ ноорогоо шинэчлэхээ мартуузай.
** CLOCK нь Arduino дээрх тасалдлын зүүтэй холбогдсон байх ёстой бөгөөд энэ нь зөвхөн НҮБ дээр PIN 2 эсвэл 3 байж болно (ноорогоо шинэчлэхийг санаарай). Дэлгэрэнгүй мэдээлэл болон самбарын өөр өөр тохиргоог авахын тулд PS2KeyAdvanced номын сангийн жишээнүүдийн тайлбар хэсгийг шалгаж болно.
Алхам 2: Гарын тест хийх
Бүх тавцан дээр гарахаасаа өмнө бүх зүйл гар болон номын санд ажиллаж байгаа эсэхийг шалгаарай.
Энд би PS2KeyAdvanced номын сангийн SimpleTest.ino -ийн өөрчилсөн хувилбарыг шинэчилсэн цаг, өгөгдлийн хавчуургатай, мөн "хийх", "таслах" дүрслэлтэй хавсаргасан болно. Гаралтын талаархи зарим тайлбарыг энд оруулав.
- Энэхүү скайн кодын "хийх", "таслах" систем ба түлхүүр дарах эсвэл түлхүүр гаргах хувилбаруудын тусгаарлагдсан (c & 0xFF) сканд код болох "Код" нь PS/2-ийг USB рүү хөрвүүлэхэд чухал үүрэг гүйцэтгэдэг тул танд судалж үзэхийг зөвлөж байна. Хэрэв та эцсийн ноорогоо сайжруулах эсвэл өөрчлөх (өөр өөр байршилд түлхүүрүүдийг дахин солих) төлөвлөж байгаа бол илүү сайн ойлгохын тулд номын санд ирдэг бусад 2 жишээг авч үзье. Мөн та '\ Documents / Arduino / libraries / PS2KeyAdvanced / src \' дээрээс 'PS2KeyAdvanced.h' эсвэл 'PS2KeyCode.h' файлуудыг нээж номын сангаас PS/2 сканд кодын бүрэн жагсаалтыг авах боломжтой.
- "Статусын битүүд" гэдэг нь өөрчлөх товчлууруудыг (Ctrl, Alt, Windows, Shift/Caps) хэлдэг бөгөөд нэмэлт өөрчлөх товчлуур тус бүрт энэ утга өөрчлөгдөж байгааг харах болно. Гэхдээ эцсийн зураг дээр би энэ аргыг үл тоомсорлож, эдгээр өөрчлөх товчлууруудыг энгийн товчлуур дарах хэлбэрээр хэрэгжүүлсэн (Эдгээр товчлуурууд нь олон товчлуур дарагдсан эсэхээс үл хамааран ердийн товчлууруудаас үл хамааран "хийх", "таслах" сканд кодтой болохыг та харах болно.) Учир нь энэ нь USB-HID протоколын тусламжтайгаар ажлыг хөнгөвчилдөг.
Алхам 3: PS/2 -ийг USB хөрвүүлэлтийг урьдчилан үзэх
Armeino-г USB гар гэж тодорхойлохын тулд Atmega8U2 эсвэл 16U2 (UNO Rev3) -ыг шинэчлэхээс өмнө хөрвүүлэх бүх зүйл зөв ажиллаж байгаа бөгөөд эцсийн эцсийн зургийг байршуулсан эсэхийг шалгах хэрэгтэй. Анхны болон USB гарны зургаан өнцөгт файлуудын хооронд дахин дахин програм суулгах нь зөв ноорог байршуулах боломжтой болно. Хэрэв танд USBasp эсвэл өөр Arduino гэх мэт гадаад програмист байхгүй бол энэ нь үнэн болно. Тиймээс энд бид аливаа зүйлийг туршиж үзэхийн тулд хүний унших боломжтой гаралт бүхий эцсийн зургийн 'DEBUG' хувилбарыг (цуваа дэлгэцээр дамжуулан) байршуулах болно.
Товчлуур бүрийг суллахад таны харж буй гаралт ийм хэлбэрээр форматлагдах болно.
00 00 00 00 00 00 00 00
Хүлээгдэж буй гаралтын талаархи үндсэн тайлбарыг энд оруулав.
Товчлуур дарах шинэ олон бүрийн хувьд та "xx" гэсэн өөр өөр утгатай шинэ мөр авах ёстой. Эцэст нь та бүх өөрчлөх товчлуурыг гаргахад 'xx' 00 болно
xx 00 00 00 00 00 00 00 00 00
Шинэ олон ердийн товчлуур бүрийн хувьд (жишээ нь бид 'xx', 'yy', 'zz' гэсэн утгатай a, b, c товчлууруудыг дарааллаар нь дарах болно) та тасралтгүй авах ёстой (заавал биш) ийм шинэ мөрүүд,
00 00 xx yy zz 00 00 00
Та зөвхөн b товчлуурыг суллахад гаралт өөрчлөгдөх ёстой
00 00 xx 00 zz 00 00 00
хэрэв та a эсвэл b товчлуурыг суллахгүйгээр 'nn' гэсэн утгатай шинэ d товчлуурыг дарвал таны гаралт өөрчлөгдөх болно,
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 байтын массивыг дээрх зургийн дагуу форматласан болно.1 Та энэ талаар илүү ихийг мэдэх боломжтой бөгөөд USB-HID-ийн тухай энэ вики-ээс өөрчлөх товчлуурын статусын байтыг хэрхэн бичсэн талаар олж мэдэх боломжтой. Үндсэндээ миний код юу хийдэг вэ гэхээр шинэ товчлуур дарагдах бүрт (PS/2 протокол нь үүнийг "хийх" гэж хэлдэг) ердийн товчлуур дарахад ашигладаг массивын сүүлийн 6 байтыг тойрч, эхний хэсгийг бөглөнө. хоосон байтыг холбогдох 'HID scancode' (Зураг 2 -т харуулав. Мөн та хавсаргасан PDF -ээс бүрэн жагсаалтыг олж болно) хүлээн авсан 'PS/2 scancode' -г олдог. Эцэст нь холбогдох түлхүүрийг гаргасны дараа (PS/2 протокол нь үүнийг "завсарлага" гэж нэрлэдэг) код нь одоогийн байтын массиваар дамжих бөгөөд зөвхөн холбогдох байтыг цэвэрлэнэ.
Хэрэв та энд хүртэл дагаж байсан бол, мөн та вики хуудсыг унших юм бол энэ аргын хувьд бага зэрэг асуудал гардаг бөгөөд ихэвчлэн түлхүүрийг суллахад HID протоколд үлдсэн байтуудыг хоосон байтаас салахаар дахин зохион байгуулдаг. үлдсэн хоосон байтын хооронд. Гэхдээ яагаад ч юм би хичнээн олон аргаар оролдсоноос үл хамааран дарагдсан товчлуурын хүсээгүй байтыг санамсаргүй цэвэрлэхгүйгээр төлөвлөсөн ёсоор нь ажиллуулж чадсангүй. Хэрэв та үүнийг сайжруулахын тулд үүнийг сайжруулах боломжтой бол сэтгэгдэл үлдээнэ үү. Хэдийгээр өдрийн төгсгөлд энэ асуудал гарны функцэд нөлөөлөхгүй боловч Arduino нь дарагдсан дарааллаас үл хамааран товчлуур дарагдсан болгоныг бүртгэдэг хэвээр байгаа (энэ нь практик хэрэглээнд ямар ч нөлөө үзүүлэхгүй).
Алхам 5: Эцсийн ноорог байршуулж байна
Эцэст нь Atmega8U2 эсвэл 16U2 (UNO Rev3) програмыг шинэчлэхээсээ өмнө манай Arduino -г USB гар гэж танихын тулд Final Sketch -ийг байршуулах ёстой. Үүнийг байршуулсны дараа, хэрэв та цуваа дэлгэц рүү очвол шинэ товчлуур дарагдсан үед хог хэвлэж байгааг харах болно. ЗА !!!
Алхам 6: Firmware -ийг шинэчлэх
Эцэст нь та Arduino -ийн програмыг USB гар болгон бүртгүүлэхийн тулд шинэчлэх боломжтой. Үүний тулд би энэ талаар маш дэлгэрэнгүй ярихгүй, учир нь энэ нь маш урт хугацаанд сургамж болно.
- "DFU ашиглан Uno эсвэл Mega2560 дээр Atmega8U2 ба 16U2-ийг шинэчлэх" тухай arduino.cc дээрх гарын авлагыг дагана уу.
- FLIP дээр Arduino -аас хамааран зорилтот төхөөрөмжийг Atmega8U2 эсвэл 16U2 хэлбэрээр сонгохоо мартуузай, мөн харилцаа холбооны хэрэгслийг сонгохдоо USB -г сонгоод ажиллуулахаасаа өмнө зөв зургаан өнцөгт файлыг ачаална уу.
- Хэрэв та драйверын алдаатай тулгарсан бол Windows төхөөрөмжийн менежер рүү очоод FLIP '\ Program Files (x86) Atmel \' суулгах директор дотроос үл мэдэгдэх драйверыг хайж олоорой.
- Хэрэв та FLIP програмыг хэд хэдэн удаа шинэчлэх явцад алдаа гарсан бол FLIP -ийг хааж, "Эхлэх цэс / FLIP \" дээрээс "Тохиргоог дахин тохируулах" командыг ажиллуулаад FLIP -ийг дахин эхлүүлээд дахин тохируулах алхмуудыг хий.
- Хэрэв та Arduino -г анхны байдалд нь оруулахыг хүсвэл энэ hex файлыг ашиглахгүйгээр дээрх arduino.cc дээрх гарын авлагыг дагана уу.
Алхам 7: Таашаал аваарай …
Одоо саяхан хөрвүүлсэн PS/2 -ийг USB гараар сайхан өнгөрүүлээрэй. P. S. Энэхүү зааварчилгааг миний зөөврийн компьютерт Arduino -ээр холбогдсон гадаад PS/2 гарнаас бүрэн бичсэн болно:)
Зөвлөмж болгож буй:
Arduino Nano to Arduino Uno адаптер: 6 алхам (зурагтай)
Arduino Nano to Arduino Uno адаптер: Arduino Nano бол Arduino -ийн гэр бүлийн сайхан, жижиг, хямд гишүүн юм. Энэ нь Atmega328 чип дээр суурилсан бөгөөд энэ нь түүний хамгийн том ах Ардуино Уно шиг хүчирхэг болгодог боловч үүнийг бага мөнгөөр авах боломжтой юм. Ebay дээр одоо хятад хувилбарууд боломжтой
Arduino -аас Excel руу өгөгдөл илгээх (ба диаграмм хийх): 3 алхам (зурагтай)
Arduino -аас Excel руу өгөгдөл илгээх (мөн үүнийг төлөвлөх): Би Arduino мэдрэгчийнхээ уншилтыг бодит цаг хугацаанд төлөвлөх арга замыг маш их хайсан. Зөвхөн хуйвалдаан хийхээс гадна цаашдын туршилт, залруулгад зориулан өгөгдлийг харуулах, хадгалах боломжтой. Миний олж мэдсэн хамгийн энгийн шийдэл бол excel ашиглах явдал юм, гэхдээ
Raspberry Pi RetroPie бүтээх ZX Spectrum USB адаптер: 5 алхам (зурагтай)
Raspberry Pi RetroPie бүтээх ZX Spectrum USB адаптер: RetroPie бол Raspberry Pis болон бусад нэг самбар бүхий компьютер дээр чимэг видео тоглоомын системийг дуурайх зориулалттай тусгай Linux дистрибутив юм. Би хэсэг хугацаанд RetroPie бүтээх ажилд хамрагдахыг хүсч байсан бөгөөд энэ хуулбарыг хараад
Arduino TTS (Текстээс яриа руу): 3 алхам (зурагтай)
Arduino TTS (Текстээс яриа руу): Сайн байна уу залуусаа өнөөдөр энэ хичээлээр би Arduino -г гадны модульгүйгээр хэрхэн яаж ярихыг танд заах болно. Энд бид үүнийг ярих термометр, робот гэх мэт олон төсөлд ашиглаж болно. Тиймээс цаг алдалгүй энэхүү төслийг эхлүүлцгээе
Моторола утсаа цэнэглэхийн тулд адаптер руу орохын тулд Energizer Energi -ийг өөрчил: 4 алхам
Motorola утсаа цэнэглэхийн тулд Energizer Energi -ийг адаптер болгон өөрчил: Би Palm TX -ээ газар дээр нь тоглуулах явцад цэнэглэхийн тулд Energizer Energi To Go цэнэглэгч худалдаж авсан. Энэ нь Palm -ийг цэнэглэх адаптертай хамт ирсэн бөгөөд миний эзэмшдэггүй санамсаргүй гар утсыг цэнэглэх боломжтой болсон. Хэрэв би Моторолоо цэнэглэхийг хүсч байвал надад санагдах болно