Daftar Isi:

Cara Menghubungkan Keyboard PS/2 ke IPhone: 11 Langkah
Cara Menghubungkan Keyboard PS/2 ke IPhone: 11 Langkah

Video: Cara Menghubungkan Keyboard PS/2 ke IPhone: 11 Langkah

Video: Cara Menghubungkan Keyboard PS/2 ke IPhone: 11 Langkah
Video: Rental PS Sepi Tahun 2023 2024, November
Anonim
Cara Menghubungkan Keyboard PS/2 ke IPhone
Cara Menghubungkan Keyboard PS/2 ke IPhone
Cara Menghubungkan Keyboard PS/2 ke IPhone
Cara Menghubungkan Keyboard PS/2 ke IPhone
Cara Menghubungkan Keyboard PS/2 ke IPhone
Cara Menghubungkan Keyboard PS/2 ke IPhone

Meskipun saya telah melihat banyak gambar keyboard PS/2 yang dicolokkan ke iPhone di Internet, belum ada yang mempublikasikan cara mendetail tentang cara membuatnya bekerja sendiri. Sampai sekarang begitu.

Dalam Instruksi ini saya akan menunjukkan kepada Anda bagaimana Anda dapat membuat konverter keyboard PS/2 ke iPhone, termasuk semua instruksi perangkat keras dan perangkat lunak.

Prasyarat

  • iPhone Jailbroken – SDK resmi tidak mengizinkan akses ke port serial karena Konspirasi Elf, jadi jailbreak diperlukan. Yang perlu Anda ketahui tentang jailbreaking ada di iPhone Dev Team Blog.
  • Arduino Diecimila atau Dumilanove (atau clone), tersedia dari banyak tempat. Howto ini mengasumsikan bahwa Arduino Anda telah dirakit.
  • Papan iPod Breakout, seperti ini dari Sparkfun. Produk serupa apa pun akan berfungsi.
  • Konektor Keyboard PS/2 (Din 6) Wanita. Tarik satu dari komputer lama atau beli dari Digikey atau vendor serupa.
  • Kawat, sebaiknya beberapa warna dan sekitar 24 gauge. Saya menggunakan spool dari RadioShack di foto di bawah ini.
  • Satu resistor 500k. Saya menggunakan resistor lubang aksial dari RadioShack, tetapi Anda juga dapat menambahkan ini ke pesanan Digikey Anda.
  • Solder dan Solder. Jika Anda tidak tahu cara menyolder, Anda bisa belajar di sini dan di sini.
  • (Opsional) Pin Header, seperti ini. Saya memutuskan ini dan menyoldernya ke ujung kabel, sehingga mereka terhubung dengan baik ke Arduino.
  • (Opsional) Harness Baterai Manis 9v sehingga Arduino Anda menjadi portabel tersedia dari Maker Store.
  • (Opsional) Jack Headphone Stereo dari RadioShack atau Digikey.

Langkah 1: Solder Breakout IPhone - Bagian 1

Solder Breakout IPhone - Bagian 1
Solder Breakout IPhone - Bagian 1

Setelah semua bahan Anda tiba, nyalakan besi solder dan lihat Pin-Out Konektor iPod dengan cepat.

Kami akan menggunakan empat pin ini untuk keyboard: 11, 13, 16 dan 21. Definisi pin 21 mengatakan bahwa kita perlu menempatkan resistor 500k antara pin 21 dan ground untuk mengaktifkan komunikasi serial ke iPhone, jadi kita akan menempelkan resistor antara pin 21 dan pin 16, yang merupakan ground serial. Kami juga akan menambahkan pin header ke pin 11 dan 13, yang akan bertindak sebagai pin TX dan RX untuk komunikasi serial. Karena kami HANYA akan mengirim ke iPhone, kami hanya menggunakan pin RX iPhone, jadi kami juga akan menambahkan sepotong kabel untuk menghubungkan pin 11, pin TX yang tidak digunakan, langsung ke ground di pin 16.

Anda juga dapat secara opsional menambahkan jack headphone stero ke pin 2, 3 dan 4 sekarang dan itu akan berfungsi setiap kali breakout dicolokkan. Ini tidak ada hubungannya dengan keyboard, tetapi jika Anda memiliki iPhone 1G dengan non- jack headphone standar, ini akan memperbaikinya.

Langkah 2: Solder Breakout IPhone - Bagian 2

Solder Breakout IPhone - Bagian 2
Solder Breakout IPhone - Bagian 2

Saya telah menempatkan jumper antara pin 11 dan pin 16 di bagian belakang papan breakout. Mungkin agak sulit untuk memasukkan semuanya ke pin 16, jadi saya sarankan terlebih dahulu menempelkan resistor melalui lubang, kemudian membungkus ujung kabel jumper di sekitarnya dan menyoldernya bersama-sama sebelum memotong ujung resistor.

Taktik lain yang mungkin berguna di sini adalah pertama-tama menyemir ujung kawat Anda, lalu mengoleskan sedikit solder pada lubang tempat Anda ingin menempelkan kawat. Gunakan sisi besi solder untuk menghangatkan gumpalan solder Anda dan SLIDE ujung kawat yang dikalengkan ke dalam gumpalan. Lepaskan setrika, biarkan gumpalan dingin, lalu lepaskan kawat.

Langkah 3: Solder Konektor PS/2 - Bagian 1

Solder Konektor PS/2 - Bagian 1
Solder Konektor PS/2 - Bagian 1

Tidak ada jalan yang dapat Anda ambil melalui penomoran pin Konektor PS/2 yang masuk akal di luar konteks ocehan gila rapat komite. Jangan terlalu mikirin nomor pin, cek aja gambarnya.

Kami akan menggunakan empat pin di sini, dan menghubungkan semuanya ke Arduino. Ground akan disambungkan ke Ground di Arduino, VCC akan disambungkan ke 5V, dan pin Data dan Jam akan dibawa ke dua pin digital Arduino (3 dan 4).

Langkah 4: Solder Konektor PS/2 - Bagian 2

Solder Konektor PS/2 - Bagian 2
Solder Konektor PS/2 - Bagian 2

Bagian bawah Konektor PS/2 bahkan kurang intuitif dibandingkan skema penomoran. Saya sarankan memeriksa gambar ini, tetapi juga memverifikasi bahwa pin di bagian bawah konektor Anda cocok dengan pin bernomor yang Anda pikir mereka lakukan sebelum menyolder apa pun. Anda dapat memeriksa konektivitas dengan multimeter biasa dengan mengaturnya untuk mengukur resistansi dan menghubungkan satu probe ke pin di bagian bawah dan menempelkan yang lain ke dalam lubang. Jika ada hambatan sama sekali, maka pin itu terhubung ke lubang itu.

Saya menggunakan kabel Hijau untuk pin Jam, kabel Merah untuk VCC, kabel Putih untuk Data, dan kabel Hitam untuk ground.

Langkah 5: Solder Pin Header ke Leads

Solder Pin Header ke Leads
Solder Pin Header ke Leads

Setelah Anda memasang konektor, lepaskan ujung kabel yang lain dan solder ujungnya ke pin header. Ini akan memungkinkan Anda mencolokkannya ke Arduino dengan mudah. Jika Anda tidak mendapatkan pin header, Anda dapat mencoba dengan hati-hati memasang kabel untuk membuatnya tetap berada di lubang pin Arduino dengan lebih baik.

Saya memasang beberapa kabel ke pin header pada pin 11 dan 13 dari papan breakout iPhone. Kabel Hitam ke Ground (pin 11) dan kabel Merah ke VCC (pin 13). Saya kemudian menyolder pin header ke lead untuk dua kabel dari papan breakout dan empat yang berasal dari konektor PS/2.

Langkah 6: (Opsional) Harness Baterai 9V

(Opsional) Harness Baterai 9V
(Opsional) Harness Baterai 9V

Saya menggunakan Arduino Diecimila, karena program ini tidak memerlukan chip yang lebih baik. Ini ditunjukkan dengan harness baterai 9V dari SparkFun untuk portabilitas.

Langkah 7: Pasang PS/2 Leads ke Arduino

Pasang Kabel PS/2 ke Arduino
Pasang Kabel PS/2 ke Arduino

Selanjutnya kita sambungkan Konektor PS/2 ke Arduino. Hubungkan kabel Clock ke Digital Pin 3, kabel Data ke Digital Pin 4, dan sambungkan kabel Ground ke Ground pada Arduino dan kabel VCC ke pin 5V.

Langkah 8: Lampirkan IPhone Leads ke Arduino

Lampirkan IPhone Leads ke Arduino
Lampirkan IPhone Leads ke Arduino

Untuk menghubungkan breakout iPhone, cukup sambungkan kabel dari Pin 13 ke Pin TX di Arduino (Pin Digital 1) dan kemudian sambungkan kabel dari Pin 11 ke Ground yang tersedia di Arduino.

PENTING: Untuk menghindari masalah dengan mem-flash Arduino, harap lepaskan Pin TX di Arduino sebelum melakukan flashing. Lebih lanjut tentang ini nanti. Setelah itu, semua penyolderan selesai. Sekarang saatnya beralih ke pemrograman Arduino!

Langkah 9: Kode Arduino

Kode Arduino
Kode Arduino

Perangkat lunak Arduino mengeluarkan data dari keyboard, menerjemahkan kode pindaian keyboard ke kode tombol, dan menangani penekanan tombol shift dan caps lock.

Pertama, unduh dan instal lingkungan pengembangan Arduino dari sini. Ikuti petunjuk di situs, tetapi pastikan untuk menginstal driver FTDI yang sesuai dari direktori driver di instalasi Arduino.

Selanjutnya, Anda memerlukan perpustakaan Arduino tambahan untuk PS/2. Unduh file “ps2.zip” dari halaman ini. Untuk menginstal, unzip unduhan ke folder dan pindahkan folder itu menjadi subdirektori dari direktori “hardware/libraries” di bawah instalasi Arduino Anda. Di OSX, Anda bisa pergi ke Arduino.app dan “Show Package Contents” terlebih dahulu.

Setelah Arduino dan perpustakaan ps2 diinstal, unduh kode sumber dari sini. Buka aplikasi Arduino, buat proyek baru, dan tempel kode sumber ke dalamnya. Simpan, lalu buka Sketch->Verify/Compile untuk memastikan bahwa itu dibangun. Jika tidak, pastikan perpustakaan diinstal dengan benar.

Sebagai tambahan, saya benar-benar tidak menulis kode untuk proyek ini. Saya mulai mencoba menggunakan perpustakaan PS2KeyboardExt2, tetapi perpustakaan itu didasarkan pada interupsi dan sementara itu dapat berjalan di Arduino yang juga berbicara serial pada 9600 bps, setelah saya memutar serial hingga 19200 bps, interupsi berhenti bekerja di a cara yang stabil. Jadi saya mencabut semua kode bagus dari PS2KeyboardExt2, termasuk definisi kunci dan penanganan shift dan caps lock yang bagus dan mengolahnya kembali menjadi program yang tidak menggunakan interupsi dan menggunakan pustaka PS/2 yang berbeda dan lebih sederhana. Ini membuatnya mampu menangani serial 19200 bps dengan cara yang andal.

Sekarang, untuk memprogram Arduino!

Putuskan sambungan ke Pin 1 di Arduino. Kemudian, hubungkan Arduino ke komputer Anda melalui kabel USB. Anda mungkin perlu memulai ulang aplikasi Arduino agar dapat mendeteksi perangkat serial USB baru dengan benar. Muat sketsa yang disimpan dengan sumbernya, lalu tekan tombol Unggah untuk memprogram Arduino.

Setelah program diunggah, colokkan keyboard ke konektor PS/2. Anda harus melihat lampu berkedip. Anda dapat membuka Serial Monitor di aplikasi Arduino dan mencoba mengetik beberapa huruf di keyboard. Anda akan melihat surat-surat itu muncul di Serial Monitor. Coba nyalakan dan matikan Caps Lock, lampu pada keyboard harus menyala dan mati dan karakter akan keluar dengan huruf kapital yang benar.

Langkah 10: Program Klien iPhone

Sekarang untuk mengatur program klien iPhone.

Untuk kode klien, saya menggunakan program yang saya temukan di halaman Google Code Anthony Pray. Program ini membaca input dari port serial pada 19200 bps dan kemudian menyuntikkan acara keyboard yang sesuai menggunakan pustaka klien VNC. Saya telah membuat mirror hanya teks lokal dari sumber di sini, yang dapat dengan mudah diambil dengan wget.

Karena kami akan menyuntikkan penekanan tombol oleh VNC, Anda juga harus menjalankan Server VNC di iPhone. Kami akan menggunakan Veency (yang luar biasa dan Anda harus tetap menginstalnya).

Buka Cydia atau Icy dan instal paket-paket berikut:

  • Veency - Menyediakan Server VNC, konfigurasikan untuk dijalankan saat startup
  • LibVNCServer - Menyediakan libvncclient
  • iPhone 2.0 Toolchain - Menyediakan lingkungan build (gcc, libgcc, ldid, libz diperlukan jika Anda menggunakan rute lain)
  • MobileTerminal - Jadi Anda dapat mengakses terminal iPhone
  • wget - Jadi Anda dapat menarik file sumber

Sekarang untuk mengunduh dan membangun sumbernya. Buka MobileTerminal atau SSH ke ponsel Anda, lalu lakukan hal berikut:

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

Langkah terakhir, menggunakan ldid, memalsukan penandatanganan biner. Tanpa itu, OS iPhone akan segera mematikan proses Anda.

Untuk memulai program, jalankan dari Terminal Seluler dengan:

./Klien Sentuh

Ini akan menyebabkan Veency memunculkan dialog yang menanyakan apakah Anda ingin menerima koneksi VNC. Tekan Terima.

Saya perhatikan bahwa menjalankan ini dari MobileTerminal membuat program tetap hidup bahkan ketika Anda meninggalkan MobileTerminal, tetapi akan lebih baik menggunakan launchd. Saya belum mengetahuinya.

Langkah 11: Sentuhan Akhir dan Pekerjaan Masa Depan

Untuk menyelesaikan, sambungkan kembali kabel dari Pin 13 pada breakout iPhone ke pin TX (pin 1) di Arduino. Cabut kabel USB dan alihkan Arduino ke daya eksternal. Pasang pelarian iPhone ke iPhone Anda.

Jika:

  • TouchClient berjalan di iPhone Anda
  • Perangkat lunak PS2 berjalan di Arduino Anda
  • Keyboard dicolokkan ke konektor, dan konektor disambungkan ke Arduino dengan benar
  • Veency sedang berjalan dan Anda telah menerima koneksi dari TouchClient
  • Tidak ada lagi yang kacau

Anda harus dapat mengetik pada keyboard PS/2 dan penekanan tombol tersebut diterjemahkan ke penekanan tombol iPhone yang sesuai. Ini akan berfungsi di mana saja di iPhone, di aplikasi atau fitur asli apa pun.

Solusi ini tidak sempurna, tetapi ini adalah pendekatan tujuan umum untuk menggunakan Arduino untuk menambahkan dukungan keyboard PS/2 ke hampir semua hal yang dapat membaca pesan serial sederhana.

Pekerjaan masa depan:

  • Pemetaan kode pemindaian dapat dipindahkan seluruhnya ke iPhone, dan bagian perangkat keras dari proyek ini dapat diimplementasikan kembali pada chip konsumsi daya yang jauh lebih murah dan lebih rendah, seperti PIC. Ini akan mengurangi biaya unit sekitar $30, meskipun akan membutuhkan programmer PIC.
  • Tidak semua kunci khusus dipetakan dengan benar, tetapi jika Anda melihat kode Arduino dan kemudian kode iPhone, Anda akan melihat bahwa ini adalah proses yang sangat sederhana. Silakan posting setiap perubahan yang Anda buat kembali ke sini sebagai komentar!
  • Alih-alih menjadi peretasan kawat yang gila, saya ingin melihat ini cocok dengan penutup kecil yang nyaman untuk portabilitas nyata. Setiap ide di departemen ini akan dihargai.
  • Saya ingin memberi TouchClient kata sandi untuk Veency sehingga tidak ada pop-up Terima/Tolak yang mengganggu.
  • Metode yang tepat ini dapat digunakan untuk menambahkan keyboard Bluetooth. Cukup tambahkan modul Bluetooth-Serial ke terobosan iPhone dan tetap gunakan TouchClient & Veency.

Itu dia. Saya harap Anda menikmati Instructable! Menantikan komentar Anda. Salam, - awgh

Direkomendasikan: