Talaan ng mga Nilalaman:

Paano Ikonekta ang isang PS / 2 Keyboard sa IPhone: 11 Mga Hakbang
Paano Ikonekta ang isang PS / 2 Keyboard sa IPhone: 11 Mga Hakbang

Video: Paano Ikonekta ang isang PS / 2 Keyboard sa IPhone: 11 Mga Hakbang

Video: Paano Ikonekta ang isang PS / 2 Keyboard sa IPhone: 11 Mga Hakbang
Video: How to Use AnyDesk on iPhone 2024, Nobyembre
Anonim
Paano Ikonekta ang isang PS / 2 Keyboard sa IPhone
Paano Ikonekta ang isang PS / 2 Keyboard sa IPhone
Paano Ikonekta ang isang PS / 2 Keyboard sa IPhone
Paano Ikonekta ang isang PS / 2 Keyboard sa IPhone
Paano Ikonekta ang isang PS / 2 Keyboard sa IPhone
Paano Ikonekta ang isang PS / 2 Keyboard sa IPhone

Bagaman nakita ko ang maraming larawan ng mga PS / 2 na keyboard na naka-plug sa mga iPhone sa Internet, wala pang na-publish ang isang detalyadong howto kung paano mo ito gagana. Hanggang ngayon, ganun.

Sa Instructable na ito ipapakita ko sa iyo kung paano ka makakagawa ng isang PS / 2 keyboard sa iPhone converter, kasama ang lahat ng mga tagubilin sa hardware at software.

Mga Pangangailangan

  • Jailbroken iPhone - Hindi pinapayagan ng opisyal na SDK ang pag-access sa serial port dahil sa Elf Conspiracy, kaya kinakailangan ang jailbreak. Ang kailangan mo lang malaman tungkol sa jailbreaking ay sa iPhone Dev Team Blog.
  • Arduino Diecimila o Dumilanove (o clone), magagamit mula sa maraming mga lugar. Ipinapalagay ng howto na ang iyong Arduino ay tipunin.
  • Isang iPod Breakout board, tulad ng isang ito mula sa Sparkfun. Ang anumang katulad na produkto ay gagana.
  • Isang Babae PS / 2 (Din 6) Konektor ng keyboard. Hilahin ang isa sa isang lumang computer o bumili ng isa mula sa Digikey o katulad na vendor.
  • Wire, mas mabuti ang maraming mga kulay at tungkol sa 24 gauge. Gumagamit ako ng isang spool mula sa RadioShack sa mga larawan sa ibaba.
  • Isang 500k Resistor. Gumagamit ako ng isang axial through-hole resistor mula sa RadioShack, ngunit maaari mo itong idagdag sa iyong order na Digikey din.
  • Panghinang na Bakal at Maghinang. Kung hindi mo alam kung paano maghinang, maaari kang matuto dito at dito.
  • (Opsyonal) Mga Pin Header, tulad nito. Pinaghihiwa ko ang mga ito at hinihinang ang mga ito sa mga dulo ng mga wire, upang ang mga ito ay naka-plug nang mabuti sa Arduino.
  • (Opsyonal) Sweet 9v Battery harness kaya't ang iyong Arduino ay magagamit na portable mula sa Maker Store.
  • (Opsyonal) Stereo Headphone Jack mula sa RadioShack o Digikey.

Hakbang 1: Paghinang sa Breakout ng IPhone - Bahagi 1

Paghinang ng Breakout ng IPhone - Bahagi 1
Paghinang ng Breakout ng IPhone - Bahagi 1

Kapag dumating na ang lahat ng iyong sangkap, sunugin ang soldering iron at mabilis na tingnan ang iPod Connector Pin-Out.

Gagamitin namin ang apat sa mga pin na ito para sa keyboard: 11, 13, 16 at 21. Sinasabi ng kahulugan ng pin 21 na kailangan naming maglagay ng 500k risistor sa pagitan ng pin 21 at ground upang paganahin ang mga serial na komunikasyon sa iPhone, kaya maglalagay kami ng isang risistor sa pagitan ng pin 21 at pin 16, na kung saan ay ang serial ground. Magdaragdag din kami ng mga pin header sa mga pin 11 at 13, na kikilos bilang mga TX at RX na pin para sa mga serial na komunikasyon. Dahil magpapadala lang kami sa iPhone, gagamitin lang namin ang RX pin ng iPhone, kaya magdaragdag din kami ng isang piraso ng kawad upang ikonekta ang pin 11, ang hindi ginagamit na TX pin, nang direkta sa lupa sa pin 16.

Maaari mo ring opsyonal na idagdag ang stereo headphone jack sa mga pin 2, 3 at 4 ngayon at gagana ito tuwing naka-plug in ang breakout. Wala itong kinalaman sa keyboard, ngunit kung mayroon kang isang 1G iPhone na may pilay na hindi karaniwang headphone jack, aayusin ito.

Hakbang 2: Paghinang sa Breakout ng IPhone - Bahagi 2

Paghinang ng Breakout ng IPhone - Bahagi 2
Paghinang ng Breakout ng IPhone - Bahagi 2

Inilagay ko ang jumper sa pagitan ng pin 11 at pin 16 sa likod ng breakout board. Maaari itong maging isang medyo nakakalito upang magkasya ang lahat sa pin 16, kaya inirerekumenda ko munang idikit ang risistor sa butas, pagkatapos ay ibalot ang dulo ng jumper wire sa paligid nito at paghihinang ang mga ito bago i-clipping ang lead ng resistor.

Ang isa pang taktika na maaaring maging kapaki-pakinabang dito ay ang unang i-tin ang mga dulo ng iyong kawad, pagkatapos ay itulak ang isang maliit na panghinang sa butas na nais mong idikit sa kawad. Gamitin ang gilid ng soldering iron upang maiinit ang iyong patak ng panghinang at i-slide ang tinned na dulo ng kawad sa patak. Alisin ang bakal, hayaan ang bloke ng cool, pagkatapos ay bitawan ang kawad.

Hakbang 3: Paghinang ng Konektor ng PS / 2 - Bahagi 1

Paghinang ng Konektor ng PS / 2 - Bahagi 1
Paghinang ng Konektor ng PS / 2 - Bahagi 1

Walang landas na maaari mong gawin sa pamamagitan ng pagnunumero ng pin ng PS / 2 Connector na gumagawa ng anumang uri ng kahulugan sa labas ng konteksto ng mga sira-ulo na rambling ng isang pagpupulong ng komite. Huwag mag-isip nang labis tungkol sa mga numero ng pin, suriin lamang ang larawan.

Gagamitin namin ang apat na mga pin dito, at ikokonekta ang lahat sa kanila sa Arduino. Ang ground ay ilalagay sa Ground sa Arduino, ang VCC ay ilalagay sa 5V, at ang mga pin ng Data at Clock ay dadalhin sa dalawa sa mga digital pin ng Arduino (3 at 4).

Hakbang 4: Paghinang ng Konektor ng PS / 2 - Bahagi 2

Paghinang ng Konektor ng PS / 2 - Bahagi 2
Paghinang ng Konektor ng PS / 2 - Bahagi 2

Ang ilalim ng PS / 2 Connector ay kahit na mas mababa intuitive kaysa sa scheme ng pagnunumero. Inirerekumenda kong suriin ang larawang ito, ngunit pinatutunayan din na ang mga pin sa ilalim ng iyong konektor ay tumutugma sa mga may bilang na pin na sa palagay mo ay ginagawa nila bago maghinang ng anuman. Maaari mong suriin ang pagkakakonekta sa isang regular na multimeter sa pamamagitan ng pagtatakda nito upang masukat ang paglaban at pagkonekta ng isang pagsisiyasat sa pin sa ilalim at idikit ang isa pa sa butas. Kung mayroong anumang paglaban, pagkatapos ang pin na iyon ay konektado sa butas na iyon.

Ginagamit ko ang Green wire para sa Clock pin, ang Red wire para sa VCC, ang White wire para sa Data, at ang Black wire para sa lupa.

Hakbang 5: Mga Solder Pin Header na hahantong

Mga Solder Pin Header na hahantong
Mga Solder Pin Header na hahantong

Kapag nakuha mo na ang mga konektor na naka-wire, hubarin ang iba pang mga dulo ng mga wire at maghinang ng mga lead sa mga pin header. Papayagan ka nitong mai-plug ang mga ito sa Arduino madali. Kung hindi mo nakuha ang mga header ng pin, maaari mong subukang maingat na i-tinse ang mga wire upang mapanatili silang mas mabuti sa mga butas ng pin ng Arduino.

Nag-attach ako ng ilang mga wire sa mga header ng pin sa mga pin 11 at 13 ng iPhone breakout board. Ang Black wire ay sa Ground (pin 11) at ang Red wire ay sa VCC (pin 13). Pagkatapos ay na-solder ko ang mga header ng pin sa mga lead para sa dalawang wires mula sa breakout board at ang apat na nagmula sa konektor ng PS / 2.

Hakbang 6: (Opsyonal) 9V Battery Harness

(Opsyonal) 9V Battery Harness
(Opsyonal) 9V Battery Harness

Gumagamit ako ng isang Arduino Diecimila, dahil ang program na ito ay hindi nangangailangan ng isang mas mahusay na maliit na tilad. Ipinapakita ito gamit ang isang 9V baterya na gamit mula sa SparkFun para sa kakayahang dalhin.

Hakbang 7: Maglakip ng PS / 2 na hahantong sa Arduino

Ikabit ang PS / 2 na Humantong sa Arduino
Ikabit ang PS / 2 na Humantong sa Arduino

Susunod, ikinonekta namin ang Konektor ng PS / 2 sa Arduino. Ikonekta ang Clock wire sa Digital Pin 3, ang Data wire sa Digital Pin 4, at ikonekta ang Ground wire sa Ground sa Arduino at ang VCC wire sa 5V pin.

Hakbang 8: Ikabit ang IPhone sa Mga Arduino

Mag-attach ng IPhone Leads sa Arduino
Mag-attach ng IPhone Leads sa Arduino

Upang ikonekta ang breakout ng iPhone, ikonekta lamang ang tingga mula sa Pin 13 hanggang sa TX Pin sa Arduino (Digital Pin 1) at pagkatapos ay ikonekta ang lead mula sa Pin 11 sa anumang magagamit na Ground sa Arduino.

MAHALAGA: Upang maiwasan ang problema sa pag-flashing ng Arduino, mangyaring idiskonekta ang TX Pin sa Arduino bago i-flashing. Higit pa dito mamaya. Pagkatapos nito, tapos na ang lahat ng paghihinang. Ngayon ay oras na upang magpatuloy sa pag-program ng Arduino!

Hakbang 9: Ang Arduino Code

Ang Arduino Code
Ang Arduino Code

Ang Arduino software ay naglalagay ng data sa labas ng keyboard, isinalin ang mga code ng pag-scan ng keyboard sa mga key code, at pinangangasiwaan ang mga pagpindot ng shift at cap ng mga lock key.

Una, i-download at i-install ang Arduino development environment mula dito. Sundin ang mga direksyon sa site, ngunit tiyaking i-install ang naaangkop na driver ng FTDI mula sa direktoryo ng mga driver sa pag-install ng Arduino.

Susunod, kakailanganin mo ng isang karagdagang Arduino library para sa PS / 2. I-download ang file na "ps2.zip" mula sa pahinang ito. Upang mai-install, i-unzip ang pag-download sa isang folder at ilipat ang folder na iyon upang maging isang subdirectory ng direktoryo ng "hardware / libraries" sa ilalim ng iyong pag-install ng Arduino. Sa OSX, maaari kang pumunta sa Arduino.app at "Ipakita ang Mga Nilalaman sa Package" muna.

Kapag na-install na ang Arduino at ang library ng ps2, i-download ang source code mula rito. Buksan ang application ng Arduino, lumikha ng isang bagong proyekto, at i-paste ang source code dito. I-save, at pagkatapos ay pumunta sa Sketch-> I-verify / Compile upang matiyak na bumubuo ito. Kung hindi, tiyaking naka-install nang tama ang library.

Sa isang tala, talagang talagang hindi ako nagsulat ng code para sa proyektong ito. Sinimulan kong subukan ang paggamit ng PS2KeyboardExt2 library, ngunit ang library na iyon ay batay sa mga nakakagambala at habang maaari itong tumakbo sa isang Arduino na nagsasalita rin ng serial sa 9600 bps, sa sandaling nai-crank ko ang serial hanggang 19200 bps, ang mga nakakagambala ay tumigil sa pagtatrabaho sa isang matatag na paraan. Kaya't hinugot ko ang lahat ng magaling na code sa labas ng PS2KeyboardExt2, kasama ang mga pangunahing kahulugan at ang magagandang paghawak ng mga paglilipat at takip ng takip at muling binago ito sa isang program na hindi gumagamit ng mga nakakagambala at gumagamit ng ibang, mas simpleng library ng PS / 2. Ginagawa nitong may kakayahang hawakan ang 19200 bps serial sa isang maaasahang pamamaraan.

Ngayon, upang mai-program ang Arduino!

Idiskonekta ang nangungunang pagpunta sa Pin 1 sa Arduino. Pagkatapos, ikonekta ang Arduino sa iyong computer sa pamamagitan ng USB cable. Maaaring kailanganin mong i-restart ang application ng Arduino upang makita nito nang tama ang bagong USB serial device. I-load ang naka-save na sketch ng pinagmulan, at pagkatapos ay pindutin ang pindutang Mag-upload upang mai-program ang Arduino.

Kapag na-upload ang programa, isaksak ang keyboard sa konektor ng PS / 2. Dapat mong makita ang mga ilaw ng ilaw. Maaari mong buksan ang Serial Monitor sa Arduino application at subukang mag-type ng ilang mga titik sa keyboard. Dapat mong makita ang mga liham na iyon na nagpapakita sa Serial Monitor. Subukang i-on at i-off ang Caps Lock, ang ilaw sa keyboard ay dapat na i-on at i-off at ang mga character ay dapat na lumabas nang tama ang paggamit ng malaking titik.

Hakbang 10: Ang Programang IPhone Client

Ngayon upang mai-set up ang programa ng client ng iPhone.

Para sa client code, gumagamit ako ng isang program na nakita ko sa pahina ng Google Code ni Anthony Pray. Ang program na ito ay nagbabasa ng input mula sa serial port sa 19200 bps at pagkatapos ay injits ang naaangkop na kaganapan sa keyboard gamit ang isang library ng VNC client. Gumawa ako ng isang lokal na salamin na teksto lamang ng mapagkukunan dito, na maaaring madaling makuha ng wget.

Dahil mag-iikot kami ng mga keypress ng VNC, kakailanganin mo ring magpatakbo ng isang VNC Server sa iPhone. Gagamitin namin ang Veency (na mahusay at dapat mo ring i-install).

Pumunta sa Cydia o Icy at i-install ang mga sumusunod na package:

  • Mabilis - Nagbibigay ng VNC Server, i-configure ito upang tumakbo sa pagsisimula
  • LibVNCServer - Nagbibigay ng libvncclient
  • iPhone 2.0 Toolchain - Nagbibigay ng isang kapaligiran sa pagbuo (kinakailangan ang gcc, libgcc, ldid, libz kung pupunta ka sa ibang ruta)
  • MobileTerminal - Kaya maaari mong ma-access ang terminal ng iPhone
  • wget - Kaya maaari mong hilahin ang pinagmulang file

Ngayon upang i-download at buuin ang mapagkukunan. Alinman buksan ang MobileTerminal o SSH sa iyong telepono, at pagkatapos ay gawin ang sumusunod:

  • wget
  • gcc -static-libgcc -o TouchClient TouchClient.c -lvncclient
  • ldid -S TouchClient

Ang huling hakbang, gamit ang ldid, pekeng pag-sign sa binary. Kung wala ito, papatayin kaagad ng iPhone OS ang iyong proseso.

Upang simulan ang programa, patakbuhin ito mula sa Mobile Terminal kasama ang:

./TouchClient

Magiging sanhi ito upang mag-pop up ng isang dialog si Veency na nagtatanong kung nais mong tanggapin ang koneksyon ng VNC. Hit Tanggapin.

Napansin ko na ang pagpapatakbo nito mula sa MobileTerminal ay nagpapanatili ng programa na buhay kahit na umalis ka sa MobileTerminal, ngunit mas mahusay na gumamit ng launchd. Hindi ko pa naisip iyon.

Hakbang 11: Pagtatapos ng Mga Touch at Hinaharap na Trabaho

Upang tapusin, ikonekta muli ang tingga mula sa Pin 13 sa breakout ng iPhone sa TX pin (pin 1) sa Arduino. Idiskonekta ang USB cable at ilipat ang Arduino sa panlabas na lakas. I-plug ang iPhone breakout sa iyong iPhone.

Kung:

  • Tumatakbo ang TouchClient sa iyong iPhone
  • Ang PS2 software ay tumatakbo sa iyong Arduino
  • Ang Keyboard ay naka-plug sa konektor, at ang konektor ay wired sa Arduino nang tama
  • Tumatakbo ang veency at tinanggap mo ang koneksyon mula sa TouchClient
  • Wala ng iba pang naiipit

Dapat mong mai-type ang PS / 2 keyboard at isalin ang mga keystroke na iyon sa naaangkop na mga keystroke ng iPhone. Gagana ito saanman sa iPhone, sa anumang app o katutubong tampok.

Ang solusyon na ito ay hindi perpekto, ngunit ito ay isang pangkalahatang-layunin na diskarte sa paggamit ng Arduino upang magdagdag ng suporta sa PS / 2 sa halos lahat ng makakabasa ng simpleng mga serial message.

Trabaho sa hinaharap:

  • Ang pag-scan ng scan code ay maaaring mailipat nang buo sa iPhone, at ang bahagi ng hardware ng proyektong ito ay maaaring muling ipatupad sa isang mas mura at mas mababang chip ng pagkonsumo ng kuryente, tulad ng isang PIC. Bawasan nito ang gastos ng yunit ng humigit-kumulang na $ 30, kahit na mangangailangan ito ng isang programer ng PIC.
  • Hindi lahat ng mga espesyal na susi ay nai-mapa nang tama, ngunit kung titingnan mo ang Arduino code at pagkatapos ay ang iPhone code, makikita mo na ito ay isang hindi kapani-paniwalang simpleng proseso. Mangyaring mag-post ng anumang mga pagbabagong iyong ibabalik dito bilang isang komento!
  • Sa halip na maging isang nakatutuwang pag-hack ng kawad, nais kong makita ang akma na ito sa isang masikip na maliit na enclosure para sa tunay na kakayahang dalhin. Anumang mga ideya sa kagawaran na ito ay pinahahalagahan.
  • Nais kong bigyan ang TouchClient ng isang password para sa Veency upang walang nakakainis na pop-up na Tanggapin / Tanggihan.
  • Ang eksaktong pamamaraan na ito ay maaaring magamit upang magdagdag ng isang Bluetooth keyboard. Magdagdag lamang ng isang module na Bluetooth-Serial sa breakout ng iPhone at patuloy na gamitin ang TouchClient & Veency.

Ayan yun. Inaasahan kong nasiyahan ka sa Instructable! Inaasahan ang iyong mga komento. Mga patungkol, - awgh

Inirerekumendang: