![Arduino PS/2 - USB adapter: 7 lépés (képekkel) Arduino PS/2 - USB adapter: 7 lépés (képekkel)](https://i.howwhatproduce.com/images/002/image-5200-2-j.webp)
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47
![Arduino PS/2 - USB adapter Arduino PS/2 - USB adapter](https://i.howwhatproduce.com/images/002/image-5200-3-j.webp)
![Arduino PS/2 - USB adapter Arduino PS/2 - USB adapter](https://i.howwhatproduce.com/images/002/image-5200-4-j.webp)
Szerette valaha használni a régi PS/2 billentyűzetét laptopjával vagy új asztali számítógépével, és rájött, hogy már nincs PS/2 portja? És akkor inkább vásároljon olcsó PS/2 -USB -adaptert, mint egy normális ember, az Arduino -t PS/2 -USB -adapterként akarta használni. Akkor jó helyre jöttél:)
Korrekt figyelmeztetés, mielőtt belekezdünk. Ha UNO/Mega készülékét USB-HID eszközként használja (nem csak billentyűzetre, de akár egérre, joystickra stb. Is), ideiglenesen elveszíti funkcióit Arduino-ként. Ezalatt azt értem, hogy nem használhatja a soros kommunikációt, és nem programozhatja át USB -n keresztül. Ez azért van, mert túl fogjuk írni a firmware-t az USB interfész chipjére (kis srác az Atmega8U2 és 16U2 USB port közelében, a felülvizsgálattól függően). De ne aggódjon, hogy valójában nem tudja lefalazni az UNO/Mega készüléket, mert ez mindig visszafordítható.
Szintén véletlenül, ha rendelkezik olyan Arduino-val, amely már rendelkezik USB-HID képességgel (Arduino Pro Micro vagy Leonardo, stb. Google-keresést végez), akkor elfelejtheti ezt a valaha létező oktathatót, menjen közvetlenül ide, hogy megmentse magát a bajok világától, csak vicc!
Kellékek
-
Hardver
- Arduino UNO vagy Mega
- PS/2 billentyűzet
- Opcionálisan egy extra Arduino vagy bármilyen USB programozó (USBasp, stb.) Jöhet jól.
-
Szoftver
- Atmel FLIP
- PS2KeyAdvanced könyvtár az Arduino IDE számára
1. lépés: Kábelezés és beállítás
![Kábelezés és beállítás Kábelezés és beállítás](https://i.howwhatproduce.com/images/002/image-5200-5-j.webp)
![Kábelezés és beállítás Kábelezés és beállítás](https://i.howwhatproduce.com/images/002/image-5200-6-j.webp)
![Kábelezés és beállítás Kábelezés és beállítás](https://i.howwhatproduce.com/images/002/image-5200-7-j.webp)
![Kábelezés és beállítás Kábelezés és beállítás](https://i.howwhatproduce.com/images/002/image-5200-8-j.webp)
A helyzettől függően vagy találhat egy kitörő táblát, vagy kimenthet egy régi portot az alaplapról (a második próbálkozásom), vagy ha különösen rosszkedvűnek érzi magát, akkor akár levághatja a lila aljzatot, és leleplezheti a 4 vezetéket (az első próbálkozásom). csatlakoztassa őket az UNO -hoz.
Billentyűzet _Arduino
+5V (VCC) _+5V
GROUND_GND
ÓRA _ 2. PIN **
ADATOK _ PIN3*
*Megváltoztathatja a DATA pin -t tetszés szerint, de ne felejtse el frissíteni a vázlatot.
** A CLOCK -t egy megszakító tűhöz kell csatlakoztatni az Arduino -n, amely csak a 2. vagy 3. PIN -kód lehet (ne felejtse el frissíteni a vázlatot) az UNO -n. További információkért és a különböző tábla konfigurációkért tekintse meg a PS2KeyAdvanced könyvtári példák megjegyzés szakaszát.
2. lépés: A billentyűzet tesztelése
Mielőtt minden kézzel a fedélzetre lépne, először győződjön meg arról, hogy minden működik a billentyűzeten és a könyvtárban.
Itt csatoltam a SimpleTest.ino módosított verzióját a PS2KeyAdvanced könyvtári példákból, frissített óra- és adattűkkel, valamint "make" és "break" ábrázolással. Íme néhány magyarázat a kimenetre.
- Ez a "make" és "break" scancode rendszer és a "Code", amely vagy a billentyű lenyomása, vagy a billentyűkioldás elszigetelt (c & 0xFF) szkennelési kódja, fontos szerepet játszik a PS/2 USB átalakításban, és javaslom, hogy tanulmányozza a másik 2 példa, amely a könyvtárhoz tartozik, hogy jobban megértse, ha a végleges vázlat javítását vagy megváltoztatását tervezi (kulcsok átrendezése különböző elrendezésekre). A PS/2 szkennelési kódok teljes listáját a könyvtárból is elérheti, ha megnyitja a "PS2KeyAdvanced.h" vagy a "PS2KeyCode.h" fájlokat a "Documents / Arduino / libraries / PS2KeyAdvanced / src \" mappából.
- Az "Állapotbitek" a módosító billentyűkre (Ctrl, Alt, Windows, Shift/Caps) vonatkozik, és látni fogja, hogy minden további módosító billentyűvel ez az érték megváltozik, miközben a normál (nem módosító) kulcs fő "kódja" változatlan. De a végső vázlatban figyelmen kívül hagytam ezt a módszert, és ezeket a módosító billentyűket egyszerű billentyűkombinációként implementáltam (Látni fogja, hogy ezeknek a módosító gomboknak a "make" és "break" szkennelési kódja is független a normál billentyűktől, függetlenül attól, hogy több gombot nyomnak-e vagy sem.) mert megkönnyíti a dolgokat az USB-HID protokollal.
3. lépés: PS/2 - USB konverzió előnézete
Mielőtt frissítenénk az Atmega8U2 vagy 16U2 (UNO Rev3), hogy az Arduino-t USB-billentyűzetként azonosítsuk, meg kell győződnünk arról, hogy az összes konverziós anyag megfelelően működik, és a végső vázlat feltöltésre került, vagy különben nagy fájdalmat okoz a továbbírás. firmware-t újra és újra az eredeti és az USB-billentyűzet hex fájljai között, csak hogy fel tudja tölteni a megfelelő vázlatot. Ez különösen igaz, ha nincs külső programozója, például USBasp vagy más Arduino, amelyet internetszolgáltatóként használhat. Tehát itt feltöltjük a végső vázlat „DEBUG” változatát, amely emberi olvasható kimenettel rendelkezik (a soros monitoron keresztül), hogy teszteljük a dolgokat.
A megjelenített kimenet így lesz formázva, amikor minden kulcsot elenged, 00 00 00 00 00 00 00 00
Íme egy alapvető magyarázat a várható teljesítményre,
Minden új többszörös módosító billentyű lenyomásakor egy új sort kell kapnia az „xx” különböző értékeivel. Végül, amikor elengedi az összes módosító gombot, az „xx” 00 -nak kell lennie
xx 00 00 00 00 00 00 00
Minden új, több normál gombnyomásnál (például az hipotetikus a, b és c gombokat is megnyomjuk az „xx”, „yy” és „zz” értékekkel ebben a sorrendben) folyamatosnak kell lennie (nem kötelező) ilyen új sorok,
00 00 xx yy zz 00 00 00
amikor csak a b billentyűt engedi fel, a kimenet a következőre változik:
00 00 xx 00 zz 00 00 00
és ha megnyomja az „d” értékű új d gombot az a vagy b gomb elengedése nélkül, akkor a kimenet a következőre változik:
00 00 xx nn zz 00 00 00
és végül térjen vissza ehhez, amikor minden kulcsot elengednek,
00 00 00 00 00 00 00 00
és végül, ha megnyomja a Caps Lock, a Num Lock vagy a Scroll Lock billentyűt, akkor valami ilyesmit kell kapnia egyszerre több sorral,
00 00 xx 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
Ha itt minden megtörténik, arany vagy a folytatáshoz!
4. lépés: Műszaki magyarázat
![Műszaki magyarázat Műszaki magyarázat](https://i.howwhatproduce.com/images/002/image-5200-9-j.webp)
![Műszaki magyarázat Műszaki magyarázat](https://i.howwhatproduce.com/images/002/image-5200-10-j.webp)
Ha tetszik, kihagyhatja ezt a lépést. Ez csak magyarázat a korábbi kimenetekre. A látott 8 bájtos tömb a fenti 1. ábra szerint van formázva. Sokkal többet megtudhat erről, és arról is, hogyan írják a módosító kulcsok állapotbájtját a wikiből az USB-HID-ről. A kódom alapvetően az, hogy minden egyes új billentyű megnyomásakor (a PS/2 protokoll ezt "make" -nek nevezi), a rendszer a normál billentyűlenyomáshoz használt tömb utolsó 6 bájtját végigkíséri, és kitölti az első üres bájtot talál a megfelelő „HID szkennelési kóddal” (látható a 2. ábra szerint. A teljes listát a mellékelt PDF -ből is megtalálja) a kapott „PS/2 szkennelési kódhoz”. És végül, amikor a megfelelő kulcsot elengedik (a PS/2 protokoll ezt „törésnek” nevezi), a kód átfut a jelenlegi bájt tömbön, és csak a vonatkozó bájtot törli.
Ha eddig követte, és ha elolvassa a wiki oldalt, akkor látni fogja, hogy van egy kis probléma ezzel a módszerrel, általában a kulcs elengedésekor, a HID protokollban a fennmaradó bájtok átrendeződnek, hogy megszabaduljanak az üres bájtoktól a fennmaradó nem üres bájtok között. De valamilyen oknál fogva, függetlenül attól, hogy hányféleképpen próbáltam, nem tudtam úgy működni, ahogy rendeltem, anélkül, hogy véletlenül törölném a nem kívánt bájtokat a lenyomott billentyűk számára is. Ha ezen javítani tud, hogy működjön, kérjük, írjon megjegyzést. Bár a nap végén ez a probléma nem befolyásolja a billentyűzet működését, amíg az Arduino továbbra is regisztrál minden billentyűlenyomást, függetlenül a megnyomási sorrendtől (ami a gyakorlati használatban semmit nem befolyásol).
5. lépés: A végső vázlat feltöltése
Tehát mielőtt végre frissítené az Atmega8U2 vagy 16U2 firmware -t (UNO Rev3), hogy az Arduino -t USB -billentyűzetként azonosítsa, fel kell töltenünk a végső vázlatot. A feltöltés után, ha a soros monitorhoz megy, látni fogja, hogy minden új gomb megnyomásával szemetet nyomtat, ez jó előjel, hogy minden a tervek szerint működik, és folytathatjuk az utolsó lépést. HURRÁ!!!
6. lépés: A firmware frissítése
Végül frissítheti Arduino firmware -jét, hogy regisztrálja azt USB -billentyűzetként. Ebből a szempontból nem részletezem a részleteket, mert ez túl hosszúra teszi ezt az utasítást.
- Kövesse ezt az útmutatót az arduino.cc webhelyről: „Az Atmega8U2 és 16U2 frissítése Uno vagy Mega2560 készüléken DFU használatával”, de az „Arduino-usbserial-uno.hex” helyett használja az „Arduino-keyboard-0.3.hex”
- A FLIP -ben ne felejtse el a céleszközt Atmega8U2 vagy 16U2 -ként választani, attól függően, hogy Arduino, és válassza ki a kommunikációs adathordozót az USB -ből, és végül töltse be a megfelelő hexafájlt a futtatás kiválasztása előtt.
- Ha illesztőprogram -hibába ütközött, menjen a Windows eszközkezelőbe, és válassza ki az ismeretlen illesztőprogram keresését a FLIP '\ Program Files (x86) Atmel \' telepítési könyvtárában
- Ha hibákba ütközött, miközben többször frissítette a firmware -t a FLIP -ből, zárja be a FLIP -et, és futtassa a „Reset Preferences” menüpontot a „Start menü / FLIP \” menüből, majd indítsa újra a FLIP -t, és hajtsa végre a konfigurációs lépéseket, mielőtt újra megpróbálná.
- Ha vissza szeretné állítani az Arduino eredeti állapotát, kövesse a fenti arduino.cc útmutatót a levélhez anélkül, hogy használná ezt a hexa fájlt.
7. lépés: Élvezze ……
![Élvezd…… Élvezd……](https://i.howwhatproduce.com/images/002/image-5200-11-j.webp)
Most élvezze az újonnan átalakított PS/2 USB billentyűzetet…. P. S. Ezt az Instructable -t teljes egészében egy külső PS/2 billentyűzetről írtam, amely az Arduino -n keresztül csatlakozott a laptopomhoz:)
Ajánlott:
Arduino Nano - Arduino Uno adapter: 6 lépés (képekkel)
![Arduino Nano - Arduino Uno adapter: 6 lépés (képekkel) Arduino Nano - Arduino Uno adapter: 6 lépés (képekkel)](https://i.howwhatproduce.com/images/001/image-607-j.webp)
Arduino Nano - Arduino Uno adapter: Az Arduino Nano egy szép, kicsi és olcsó tagja az Arduino családnak. Az Atmega328 chipen alapul, ami olyan erőteljes, mint a legnagyobb testvére, Arduino Uno, de kevesebb pénzért is beszerezhető. Az Ebay -en most a kínai verziók b
Apple M0110 billentyűzet crossover adapter: 3 lépés (képekkel)
![Apple M0110 billentyűzet crossover adapter: 3 lépés (képekkel) Apple M0110 billentyűzet crossover adapter: 3 lépés (képekkel)](https://i.howwhatproduce.com/images/010/image-28175-j.webp)
Apple M0110 billentyűzet keresztező adapter: Az Apple M0110 billentyűzet eredetileg moduláris csatlakozóval érkezett. Ez lényegében egy 4P4C kábel, mint egy " régi időtálló " telefonos headsetet, de átlépés helyett az eredeti Apple kábel egyenes. Kit érdekel?
Karakter LCD I2c adapter (példa az I2c csatlakozásra): 12 lépés (képekkel)
![Karakter LCD I2c adapter (példa az I2c csatlakozásra): 12 lépés (képekkel) Karakter LCD I2c adapter (példa az I2c csatlakozásra): 12 lépés (képekkel)](https://i.howwhatproduce.com/images/006/image-15623-10-j.webp)
Karakter LCD I2c adapter (I2c csatlakozási példa): Csatlakozási sémát készítek egy karakterkijelzős i2c adapterhez. Ellenőrizze a frissítéseket a webhelyemen. Most hozzáadok egy vezetékes csatlakozási sémát is, hogy az eredeti könyvtárat használjam, nem a villásomat. karakteres LCD kijelzőkhöz, villás vetítéshez
Proto Board szerelő adapter: 3 lépés (képekkel)
![Proto Board szerelő adapter: 3 lépés (képekkel) Proto Board szerelő adapter: 3 lépés (képekkel)](https://i.howwhatproduce.com/images/006/image-17847-14-j.webp)
Proto Board szerelő adapter: Az első fényképen egy MB-102, 830 pontos prototípus PCB Solderless Breadboard látható. Ezek gyakoriak és olcsók (ellenőrizze az Ebay -t). Van kisebb és nagyobb méret is. Kívánt esetben könnyen összekapcsolhatók, hogy nagyobb prototípusterületeket hozzanak létre
Arduino Atari adapter: 8 lépés (képekkel)
![Arduino Atari adapter: 8 lépés (képekkel) Arduino Atari adapter: 8 lépés (képekkel)](https://i.howwhatproduce.com/images/002/image-5233-16-j.webp)
Arduino Atari adapter: Az utóbbi időben egyre jobban érdekel a vintage számítógépes technológia. A technika egyik legérdekesebb és legbefolyásosabb klasszikus darabja az Atari 2600, amelyet 1977 -ben adtak ki először. Sajnos soha nem volt alkalmam ezt ki játszani