Mündəricat:

PS/2 klaviaturasını IPhone -a necə bağlamaq olar: 11 addım
PS/2 klaviaturasını IPhone -a necə bağlamaq olar: 11 addım

Video: PS/2 klaviaturasını IPhone -a necə bağlamaq olar: 11 addım

Video: PS/2 klaviaturasını IPhone -a necə bağlamaq olar: 11 addım
Video: Как подключить Bluetooth-клавиатуру к компьютеру 2024, Dekabr
Anonim
PS/2 klaviaturasını iPhone -a necə bağlamaq olar
PS/2 klaviaturasını iPhone -a necə bağlamaq olar
PS/2 klaviaturasını IPhone -a necə bağlamaq olar
PS/2 klaviaturasını IPhone -a necə bağlamaq olar
PS/2 klaviaturasını IPhone -a necə bağlamaq olar
PS/2 klaviaturasını IPhone -a necə bağlamaq olar

İnternetdə iPhone -lara qoşulmuş bir çox PS/2 klaviatura şəklini görsəm də, heç kim bu işi özünüz necə əldə etməyinizə dair ətraflı bir üsul dərc etməmişdir. İndiyə qədər, yəni.

Bu Təlimat kitabında, bütün hardware və proqram təlimatları daxil olmaqla iPhone çeviricisinə PS/2 klaviatura necə hazırlaya biləcəyinizi sizə göstərəcəyəm.

Ön şərtlər

  • Jailbroken iPhone - Rəsmi SDK, Elf Conspiracy səbəbiylə serial portuna girişə icazə vermir, buna görə də jailbreak lazımdır. Jailbreaking haqqında bilmək lazım olan hər şey iPhone Dev Team Blogundadır.
  • Bir çox yerdən əldə edilə bilən Arduino Diecimila və ya Dumilanove (və ya klon). Bu, Arduino -nun yığıldığını güman edir.
  • Bir iPod Breakout lövhəsi, bu kimi Sparkfun. Hər hansı bir oxşar məhsul işləyəcək.
  • Qadın PS/2 (Din 6) Klaviatura konnektoru. Köhnə bir kompüteri çıxarın və ya Digikey və ya oxşar satıcıdan satın alın.
  • Tel, tercihen bir neçə rəng və təxminən 24 ölçü. Aşağıdakı şəkillərdə RadioShack makarasından istifadə edirəm.
  • Bir 500k rezistor. RadioShack-dan eksenel delikli bir rezistor istifadə edirəm, ancaq bunu Digikey sifarişinizə də əlavə edə bilərsiniz.
  • Lehimləmə Dəmiri və Lehim. Lehimləməyi bilmirsinizsə, burada və burada öyrənə bilərsiniz.
  • (İsteğe bağlı) Bu kimi pin başlıqları. Bunları kəsib tellərin uclarına lehimləyirəm ki, Arduinoya yaxşı yapışsınlar.
  • (İsteğe bağlı) Şirin 9v Batareya qurğusu, beləliklə Arduino Maker Mağazasında portativ ola bilər.
  • (İsteğe bağlı) RadioShack və ya Digikey -dən stereo qulaqlıq yuvası.

Addım 1: IPhone Breakout - 1 hissəsini lehimləyin

IPhone Breakout - 1 hissəsini lehimləyin
IPhone Breakout - 1 hissəsini lehimləyin

Bütün maddələr gəldikdən sonra, lehimləmə dəmirini yandırın və iPod Connector Pin-Out-a tez baxın.

Klaviatura üçün bu sancaqlardan dördünü istifadə edəcəyik: 11, 13, 16 və 21. Pin 21 -in tərifi, iPhone -a ardıcıl ünsiyyət qurmaq üçün pin 21 ilə torpaq arasına 500k müqavimət qoymalı olduğumuzu bildirir. pin 21 və pin 16 arasında bir zəmin olan bir rezistor yapışdıracağıq. Ayrıca, seriyalı rabitə üçün TX və RX pinləri kimi çıxış edəcək 11 və 13 pinlərə pin başlıqları əlavə edəcəyik. YALNIZ iPhone -a göndərəcəyimiz üçün yalnız iPhone -un RX pinindən istifadə edirik, buna görə də istifadə edilməyən TX pin pin 11 -i pin 16 -da birbaşa yerə bağlamaq üçün bir tel parçası əlavə edəcəyik.

İsteğe bağlı olaraq stero qulaqlıq yuvasını 2, 3 və 4 sancaqlara əlavə edə bilərsiniz və hər dəfə kəsildikdə işləyəcək. Bunun klaviatura ilə heç bir əlaqəsi yoxdur. standart qulaqlıq yuvası, bunu düzəldəcək.

Addım 2: IPhone Breakout - 2 hissəsini lehimləyin

IPhone Breakout - 2 hissəsini lehimləyin
IPhone Breakout - 2 hissəsini lehimləyin

Keçid lövhəsinin arxasındakı pin 11 ilə pin 16 arasına qoydum. Hər şeyi 16 -cı pinə bağlamaq bir az çətin ola bilər, buna görə əvvəlcə rezistoru çuxurdan yapışdırmağı, sonra tullanan telin ucunu ətrafına sarmağı və rezistor qurğusunu kəsmədən əvvəl bir -birinə lehimləməyi məsləhət görürəm.

Burada faydalı ola biləcək başqa bir taktika, əvvəlcə telinizin uclarını qalaylamaq, sonra teli yapışdırmaq istədiyiniz çuxura bir az lehim kəsməkdir. Lehim boşluğunuzu və telin qalaymış ucunu sürüşdürmək üçün lehimləmə dəmirinin tərəfini istifadə edin. Dəmiri çıxarın, damarı soyudun, sonra teli buraxın.

Addım 3: PS/2 Konnektorunu lehimləyin - 1 -ci hissə

PS/2 Konnektorunu lehimləyin - 1 -ci hissə
PS/2 Konnektorunu lehimləyin - 1 -ci hissə

Bir komitə iclasının pozulmuş rambling kontekstindən kənarda hər hansı bir məna kəsb edən PS/2 Konnektorunun pin nömrələməsindən keçə biləcəyiniz bir yol yoxdur. Pin nömrələri haqqında çox düşünməyin, sadəcə şəkilə baxın.

Burada dörd sancaqdan istifadə edəcəyik və hamısını Arduinoya bağlayacağıq. Torpaq Arduino üzərindəki Ground -a, VCC 5V -ə, Data və Clock pinləri də Arduinonun iki rəqəmsal pininə (3 və 4) gətiriləcək.

Addım 4: PS/2 Konnektorunu lehimləyin - 2 -ci hissə

PS/2 Konnektorunu lehimləyin - 2 -ci hissə
PS/2 Konnektorunu lehimləyin - 2 -ci hissə

PS/2 Konnektorunun alt hissəsi nömrələmə sxemindən daha az intuitivdir. Bu şəkli yoxlamağı, eyni zamanda bağlayıcınızın altındakı sancaqların bir şey lehim etməzdən əvvəl etdiklərini düşündüyünüz nömrəli sancaqlar ilə uyğunluğunu yoxlamağı məsləhət görürəm. Müqaviməti ölçmək və bir probu altdakı pinə bağlamaq və digərini çuxura yapışdırmaqla nizamlı bir multimetr ilə əlaqəni yoxlaya bilərsiniz. Hər hansı bir müqavimət varsa, o pin o çuxura bağlanır.

Saat pimi üçün Yaşıl teldən, VCC üçün Qırmızı teldən, Məlumat üçün Ağ teldən və Torpaq üçün Qara teldən istifadə edirəm.

Addım 5: Lehim pin başlıqlarını liderlərə aparın

Lehim Pin Başlıqları Aparıcılara
Lehim Pin Başlıqları Aparıcılara

Bağlayıcıları bağladıqdan sonra tellərin digər uclarını soyun və ucları pin başlıqlarına lehimləyin. Bu, onları Arduinoya asanlıqla bağlamanıza imkan verəcəkdir. Pin başlıqlarını almamısınızsa, Arduino pin deliklərində daha yaxşı qalmaları üçün telləri diqqətlə bağlamağa cəhd edə bilərsiniz.

IPhone qırılma lövhəsinin 11 və 13 pinlərindəki pin başlıqlarına bəzi tellər bağladım. Qara tel Zəminə (pin 11) və Qırmızı tel VCC -yə (pin 13) aiddir. Sonra pin başlıqlarını qırılma lövhəsindən iki telin və PS/2 konnektorundan gələn dörd telin uclarına lehim etdim.

Addım 6: (İsteğe bağlı) 9V Batareya Qoşqu

(İsteğe bağlı) 9V batareya dəsti
(İsteğe bağlı) 9V batareya dəsti

Arduino Diecimila istifadə edirəm, çünki bu proqram daha yaxşı bir çip tələb etmir. Taşınabilirlik üçün SparkFun 9V batareya dəsti ilə göstərilmişdir.

Addım 7: PS/2 Liderlərini Arduinoya qoşun

PS/2 rəhbərlərini Arduinoya qoşun
PS/2 rəhbərlərini Arduinoya qoşun

Sonra, PS/2 Konnektorunu Arduinoya bağlayırıq. Saat telini Rəqəmsal Pin 3 -ə, Məlumat telini Rəqəmsal Pin 4 -ə və Arduino üzərindəki Topraklama telini və VVC telini 5V pinə bağlayın.

Addım 8: IPhone rəhbərlərini Arduinoya qoşun

IPhone rəhbərliklərini Arduinoya qoşun
IPhone rəhbərliklərini Arduinoya qoşun

IPhone kəsilməsini birləşdirmək üçün, ucu Pin 13 -dən Arduino -dakı TX Pinə (Rəqəmsal Pin 1) bağlayın və sonra Pin 11 -dən Arduino -da mövcud olan Ground -a qoşun.

ƏHƏMİYYƏTLİ: Arduinonun yanıb -sönməsində problem yaşamamaq üçün, yanıb -sönməzdən əvvəl Arduino üzərindəki TX Pinini ayırın. Bu barədə daha sonra. Bundan sonra bütün lehimləmə işləri aparılır. İndi Arduinonun proqramlaşdırılmasına keçməyin vaxtıdır!

Addım 9: Arduino Kodu

Arduino kodu
Arduino kodu

Arduino proqramı məlumatları klaviaturadan çıxarır, klaviatura tarama kodlarını əsas kodlara çevirir və növbəni və caps lock düymələrini idarə edir.

Əvvəlcə Arduino inkişaf mühitini buradan yükləyin və quraşdırın. Saytdakı təlimatları izləyin, ancaq Arduino qurğusunda sürücülər qovluğundan uyğun FTDI sürücüsünü quraşdırdığınızdan əmin olun.

Sonra, PS/2 üçün əlavə bir Arduino kitabxanasına ehtiyacınız olacaq. Bu səhifədən "ps2.zip" faylını yükləyin. Quraşdırmaq üçün yükləməni bir qovluğa açın və bu qovluğu Arduino qurğunuzun altındakı "hardware/kitabxanalar" qovluğunun alt qovluğuna köçürün. OSX -də əvvəlcə Arduino.app və "Paket İçindəkiləri Göstər" ə gedə bilərsiniz.

Arduino və ps2 kitabxanası quraşdırıldıqdan sonra mənbə kodunu buradan yükləyin. Arduino tətbiqini açın, yeni bir layihə yaradın və mənbə kodunu ona yapışdırın. Saxla və sonra qurduğundan əmin olmaq üçün Sketch-> Doğrula/tərtib et. Əgər belə deyilsə, kitabxananın düzgün quraşdırıldığından əmin olun.

Əlavə olaraq, bu layihə üçün heç bir kod yazmamışam. PS2KeyboardExt2 kitabxanasını istifadə etməyə başladım, amma bu kitabxana fasilələrə əsaslanır və eyni zamanda serialı 9600 bps sürətlə danışan bir Arduino -da işləyə bilsə də, 19200 bps -ə qədər serialı sındırdıqdan sonra fasilələr işini dayandırdı. sabit yol. Beləliklə, əsas təriflər və növbələrin və qapaq kilidlərinin gözəl işlənməsi də daxil olmaqla bütün gözəl kodları PS2KeyboardExt2 -dən çıxartdım və fasilələri istifadə etməyən və fərqli, daha sadə bir PS/2 kitabxanasından istifadə edən bir proqramda yenidən işlədim.. Bu, 19200 bps seriyanı etibarlı bir şəkildə idarə edə bilir.

İndi Arduino proqramlaşdırmaq üçün!

Arduino -da Pin 1 -ə gedən qurğunu ayırın. Sonra Arduino'yu USB kabel vasitəsilə kompüterinizə qoşun. Yeni USB seriyalı cihazı düzgün algılaması üçün Arduino tətbiqini yenidən başlatmanız lazım ola bilər. Saxlanan eskizi mənbəyə yükləyin və Arduino proqramlaşdırmaq üçün Yüklə düyməsini vurun.

Proqram yükləndikdən sonra klaviaturanı PS/2 bağlayıcısına qoşun. İşıqların yandığını görməlisiniz. Arduino tətbiqində Serial Monitoru aça və klaviaturada bəzi hərfləri yazmağa cəhd edə bilərsiniz. Bu məktubların Serial Monitorda göründüyünü görməlisiniz. Caps Lock'u açmağa və söndürməyə çalışın, klaviaturadakı işıq sönüb sönməli və simvollar düzgün yazılmalıdır.

Addım 10: IPhone Müştəri Proqramı

İndi iPhone müştəri proqramını qurmaq.

Müştəri kodu üçün Anthony Pray'ın Google Kod səhifəsində tapdığım bir proqramdan istifadə edirəm. Bu proqram 19200 bps -də serial portundan daxil olan məlumatları oxuyur və sonra VNC müştəri kitabxanasından istifadə edərək uyğun klaviatura hadisəsini vurur. Mən buradakı mənbənin yalnız mətndən ibarət bir güzgüsünü düzəltdim, onu wget ilə asanlıqla əldə etmək olar.

VNC tərəfindən düymələr vuracağımıza görə, iPhone -da bir VNC Server də işləməlisən. Veency -dən istifadə edəcəyik (zəhmli və hər halda quraşdırmalısınız).

Cydia və ya Icy -ə gedin və aşağıdakı paketləri quraşdırın:

  • Veency - VNC Serverini təmin edir, onu başlanğıcda işə salmaq üçün konfiqurasiya edin
  • LibVNCServer - libvncclient təmin edir
  • iPhone 2.0 Alət Zənciri - Bir qurma mühiti təmin edir (başqa bir marşruta girsəniz gcc, libgcc, ldid, libz tələb olunur)
  • MobileTerminal - Beləliklə, iPhone terminalına daxil ola bilərsiniz
  • wget - Beləliklə, mənbə faylını aşağı çəkə bilərsiniz

İndi mənbəni yükləyin və qurun. Ya telefonunuzda MobileTerminal ya da SSH açın və sonra aşağıdakıları edin:

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

Ldid istifadə edərək, son addım, saxta ikili imzalanmasıdır. Bu olmadan, iPhone OS prosesi dərhal öldürəcək.

Proqramı başlatmaq üçün onu Mobil Terminaldan işə salın:

./TouchClient

Bu, Veency -nin VNC bağlantısını qəbul etmək istədiyinizi soruşan bir informasiya qutusu açmasına səbəb olacaq. Qəbul Et vurun.

Bunu MobileTerminal -dan işə salmağın, MobileTerminal -dan ayrılsanız da proqramı canlı saxladığını gördüm, ancaq launchd istifadə etmək daha yaxşı olardı. Hələ bunu başa düşmədim.

Addım 11: Toxunmaları və Gələcək İşi Bitirin

İşi başa çatdırmaq üçün, iPhone qırılmasında Pin 13 -dən Arduino -dakı TX pininə (pin 1) yenidən qoşulun. USB kabelini ayırın və Arduino'yu xarici gücə keçirin. IPhone qırılmasını iPhone -a qoşun.

Əgər:

  • TouchClient iPhone -da işləyir
  • PS2 proqramı Arduino -da işləyir
  • Klaviatura konnektora qoşulmuşdur və bağlayıcı Arduino -ya düzgün bağlanmışdır
  • Veency çalışır və TouchClient -dən əlaqəni qəbul etdiniz
  • Başqa heç nə bərbad deyil

PS/2 klaviaturasını yazmalı və bu düymələri uyğun iPhone düymələrinə çevirməlisiniz. Bu, iPhone -un hər hansı bir yerində, hər hansı bir tətbiqdə və ya yerli xüsusiyyətdə işləyəcək.

Bu həll mükəmməl deyil, ancaq sadə serial mesajlarını oxuya bilən demək olar ki, hər şeyə PS/2 klaviatura dəstəyi əlavə etmək üçün Arduino istifadə etmək üçün ümumi məqsədli bir yanaşmadır.

Gələcək işlər:

  • Tarama kodu xəritələşdirilməsi tamamilə iPhone -a köçürülə bilər və bu layihənin aparat hissəsi PIC kimi daha ucuz və daha aşağı enerji istehlakı çipində tətbiq oluna bilər. Bu, PIC proqramçısı tələb etsə də, vahidin dəyərini təxminən 30 dollar azaldar.
  • Xüsusi düymələrin hamısı düzgün xəritələnmir, ancaq Arduino koduna və sonra iPhone koduna baxsanız bunun inanılmaz dərəcədə sadə bir proses olduğunu görəcəksiniz. Zəhmət olmasa etdiyiniz dəyişiklikləri şərh olaraq bura yazın!
  • Çılğın bir tel kəsmə olmaq əvəzinə, bunun real taşınabilirlik üçün rahat bir kiçik korpusa uyğun olmasını istərdim. Bu şöbədəki hər hansı bir fikir təqdir ediləcəkdir.
  • TouchClient-ə Veency üçün bir parol vermək istərdim ki, o qədər əsəbi Qəbul/Reddet pop-upı olmasın.
  • Bu dəqiq üsul Bluetooth klaviatura əlavə etmək üçün istifadə edilə bilər. Sadəcə iPhone-un qırılmasına Bluetooth-Serial modulu əlavə edin və TouchClient & Veency-dən istifadə etməyə davam edin.

Bu belədir. Ümid edirəm Təlimatlandırmadan zövq aldınız! Şərhlərinizi gözləyirik. Hörmətlə, - vay

Tövsiyə: