Taula de continguts:

Com connectar un teclat PS / 2 a l'iPhone: 11 passos
Com connectar un teclat PS / 2 a l'iPhone: 11 passos

Vídeo: Com connectar un teclat PS / 2 a l'iPhone: 11 passos

Vídeo: Com connectar un teclat PS / 2 a l'iPhone: 11 passos
Vídeo: Conectando controle falso de ps3 no IPHONE 2023😎 2024, De novembre
Anonim
Com connectar un teclat PS / 2 a l'iPhone
Com connectar un teclat PS / 2 a l'iPhone
Com connectar un teclat PS / 2 a l'iPhone
Com connectar un teclat PS / 2 a l'iPhone
Com connectar un teclat PS / 2 a l'iPhone
Com connectar un teclat PS / 2 a l'iPhone

Tot i que he vist moltes imatges de teclats PS / 2 connectats a iPhones a Internet, ningú no ha publicat encara una instrucció detallada sobre com fer-ho funcionar vosaltres mateixos. Fins ara, és a dir.

En aquest instructiu us mostraré com podeu fer un convertidor de teclat PS / 2 a iPhone, incloses totes les instruccions de maquinari i programari.

Requisits previs

  • IPhone amb jailbreak: l'SDK oficial no permet l'accés al port sèrie a causa de l'Elf Conspiracy, de manera que cal fer el jailbreak. Tot el que heu de saber sobre el jailbreak és al bloc iPhone Dev Team.
  • Arduino Diecimila o Dumilanove (o clon), disponibles des de molts llocs. Així es suposa que el vostre Arduino està muntat.
  • Un tauler d’iPod Breakout, com aquest de Sparkfun. Qualsevol producte similar funcionarà.
  • Un connector de teclat femella PS / 2 (Din 6). Traieu-ne un de vell ordinador o bé compreu-ne un de Digikey o d'un proveïdor similar.
  • Filferro, preferiblement de diversos colors i calibre d’uns 24. Estic fent servir un rodet de RadioShack a les imatges següents.
  • Una resistència de 500 k. Estic fent servir una resistència axial de forat de RadioShack, però també podeu afegir-la a la vostra comanda Digikey.
  • Soldador i soldador. Si no sabeu soldar, podeu aprendre aquí i aquí.
  • (Opcional) Capçaleres de fixació, com aquestes. Els trenco i els soldo fins als extrems dels cables, de manera que es connectin bé a l'Arduino.
  • (Opcional) Arnès de bateria Sweet 9v perquè el vostre Arduino passi a ser disponible a la botiga Maker.
  • (Opcional) Connector per a auriculars estèreo de RadioShack o Digikey.

Pas 1: soldeu l'iPhone Breakout: primera part

Soldeu l’iPhone Breakout: primera part
Soldeu l’iPhone Breakout: primera part

Un cop arribin tots els ingredients, enceneu la planxa de soldadura i doneu una ullada ràpida a la sortida del connector del iPod.

Farem ús de quatre d’aquests pins per al teclat: 11, 13, 16 i 21. La definició del pin 21 diu que hem de col·locar una resistència de 500 k entre el pin 21 i la terra per permetre les comunicacions en sèrie a l’iPhone. anem a enganxar una resistència entre el pin 21 i el pin 16, que és el sòl serial. També afegirem capçaleres de pins als pins 11 i 13, que actuaran com a pins TX i RX per a les comunicacions en sèrie. Com que NOMÉS enviarem a l’iPhone, només fem servir el pin RX de l’iPhone, de manera que afegirem un tros de fil per connectar el pin 11, el pin TX no utilitzat, directament a terra al pin 16.

Opcionalment, també podeu afegir el connector per a auriculars stero als pins 2, 3 i 4 ara mateix i funcionarà sempre que es connecti el brot. Això no té res a veure amb el teclat, però si teniu un iPhone 1G amb el lame no presa per a auriculars estàndard, això ho solucionarà.

Pas 2: soldeu l’iPhone Breakout: part 2

Soldeu l’iPhone Breakout: part 2
Soldeu l’iPhone Breakout: part 2

He posat el pont entre el pin 11 i el pin 16 a la part posterior del tauler de ruptura. Pot ser una mica complicat encaixar-ho tot al pin 16, de manera que us recomanem que primer fixeu la resistència pel forat, que després emboliqueu l'extrem del cable de pont i els soldeu abans de retallar el cable de la resistència.

Una altra tàctica que pot ser útil aquí és primer estanyar els extrems del filferro, i després fer una mica de soldadura al forat al qual vulgueu enganxar el filferro. Utilitzeu el costat del soldador per escalfar la gota de soldadura i feu lliscar l'extrem estanyat del cable a la gota. Traieu la planxa, deixeu refredar la gota i deixeu anar el filferro.

Pas 3: soldeu el connector PS / 2: primera part

Soldeu el connector PS / 2: primera part
Soldeu el connector PS / 2: primera part

No hi ha cap camí que pugueu fer a través de la numeració de pins del connector PS / 2 que tingui cap sentit fora del context de les divergències trastornades d’una reunió del comitè. No us penseu massa en els números dels pins, només cal veure la imatge.

Farem ús de quatre pins aquí i connectarem tots ells a l’Arduino. La terra es connectarà a terra a l’Arduino, el VCC es connectarà a 5 V i els pins de dades i rellotge es portaran a dos dels pins digitals d’Arduino (3 i 4).

Pas 4: soldeu el connector PS / 2: part 2

Soldeu el connector PS / 2: part 2
Soldeu el connector PS / 2: part 2

La part inferior del connector PS / 2 és encara menys intuïtiva que l’esquema de numeració. Us recomano marcar aquesta imatge, però també verificar que els pins de la part inferior del connector coincideixin amb els pins numerats que creieu que fan abans de soldar res. Podeu comprovar la connectivitat amb un multímetre normal configurant-lo per mesurar la resistència i connectant una sonda al passador de la part inferior i ficant l’altra al forat. Si hi ha resistència, aquest passador està connectat a aquest forat.

Estic fent servir el fil verd per al pin del rellotge, el fil vermell per a VCC, el fil blanc per a dades i el fil negre per a terra.

Pas 5: Capçaleres de pin de soldadura a derivacions

Capçaleres de pin de soldadura a cables
Capçaleres de pin de soldadura a cables

Un cop connectats els connectors, retireu els altres extrems dels cables i soldeu els cables a les capçaleres dels pins. Això us permetrà connectar-los fàcilment a l'Arduino. Si no heu obtingut les capçaleres dels pins, podeu provar d’estanyar els cables amb cura perquè quedin millor als forats del pin Arduino.

He connectat alguns cables a les capçaleres dels pins dels pins 11 i 13 del tauler de ruptura de l'iPhone. El cable negre és a terra (pin 11) i el cable vermell a VCC (pin 13). Després he soldat capçaleres de pin als cables dels dos cables de la placa de ruptura i dels quatre que provenen del connector PS / 2.

Pas 6: Arnès de bateria de 9V (opcional)

(Opcional) Arnès de bateria de 9V
(Opcional) Arnès de bateria de 9V

Estic fent servir un Arduino Diecimila, ja que aquest programa no requereix un millor xip. Això es mostra amb un arnès de bateria de 9V de SparkFun per a la seva portabilitat.

Pas 7: connecteu els cables PS / 2 a Arduino

Adjunta els cables PS / 2 a Arduino
Adjunta els cables PS / 2 a Arduino

A continuació, connectem el connector PS / 2 a l’Arduino. Connecteu el cable del rellotge al pin digital 3, el cable de dades al pin digital 4 i connecteu el cable de terra a terra a l’Arduino i el cable VCC al pin de 5 V.

Pas 8: connecteu els cables d’iPhone a Arduino

Adjunta els cables d’iPhone a Arduino
Adjunta els cables d’iPhone a Arduino

Per connectar l'iPhone breakout, simplement connecteu el cable del pin 13 al pin TX de l'Arduino (Pin digital 1) i, a continuació, connecteu el cable del pin 11 a qualsevol terra disponible a l'Arduino.

IMPORTANT: per evitar problemes amb el parpelleig d'Arduino, desconnecteu el pin TX de l'Arduino abans de parpellejar. Més sobre això més endavant. Després d’això, ja s’ha acabat tota la soldadura. Ara és hora de passar a programar l’Arduino!

Pas 9: el codi Arduino

El codi Arduino
El codi Arduino

El programari Arduino relliga les dades del teclat, tradueix els codis d’escaneig del teclat a codis de tecles i gestiona les pulsacions de les tecles Maj i Maj.

En primer lloc, descarregueu i instal·leu l'entorn de desenvolupament Arduino des d'aquí. Seguiu les instruccions del lloc, però assegureu-vos d’instal·lar el controlador FTDI adequat al directori de controladors de la instal·lació d’Arduino.

A continuació, necessitareu una biblioteca Arduino addicional per a PS / 2. Baixeu el fitxer "ps2.zip" des d'aquesta pàgina. Per instal·lar-lo, descomprimiu la descàrrega a una carpeta i moveu-la a un subdirectori del directori "maquinari / biblioteques" a la instal·lació d'Arduino. A OSX, primer podeu anar a Arduino.app i “Mostrar el contingut del paquet”.

Un cop Arduino i la biblioteca ps2 instal·lats, descarregueu el codi font des d’aquí. Obriu l'aplicació Arduino, creeu un projecte nou i enganxeu-hi el codi font. Deseu i, a continuació, aneu a Esbós-> Verifica / Compila per assegurar-vos que es construeix. Si no ho fa, assegureu-vos que la biblioteca estigui instal·lada correctament.

En una nota lateral, en realitat no he escrit absolutament cap codi per a aquest projecte. Vaig començar provant d’utilitzar la biblioteca PS2KeyboardExt2, però aquesta biblioteca es basa en interrupcions i, tot i que pot funcionar en un Arduino que també parla en sèrie a 9600 bps, una vegada que heu activat la sèrie fins a 19200 bps, les interrupcions van deixar de funcionar en un manera estable. Així que vaig treure tot el bon codi de PS2KeyboardExt2, incloses les definicions de claus i el bon maneig de torns i majúscules, i el vaig tornar a treballar en un programa que no utilitza interrupcions i fa servir una biblioteca PS / 2 molt més senzilla.. Això fa que sigui capaç de gestionar la sèrie de 19200 bps d’una manera fiable.

Ara, per programar l’Arduino!

Desconnecteu el cable que va al pin 1 de l'Arduino. A continuació, connecteu l'Arduino a l'ordinador mitjançant un cable USB. És possible que hàgiu de reiniciar l'aplicació Arduino per tal que detecti correctament el nou dispositiu sèrie USB. Carregueu l'esbós desat amb la font i, a continuació, premeu el botó Puja per programar l'Arduino.

Un cop carregat el programa, connecteu el teclat al connector PS / 2. Hauríeu de veure els llums parpellejar. Podeu obrir el monitor de sèrie a l'aplicació Arduino i provar d'escriure algunes lletres al teclat. Hauríeu de veure aquestes lletres al Monitor de sèrie. Proveu d’activar i desactivar el bloqueig de majúscules, la llum del teclat s’ha d’encendre i apagar i els caràcters haurien de sortir amb majúscula correctament.

Pas 10: el programa IPhone Client

Ara per configurar el programa client de l'iPhone.

Per al codi de client, utilitzo un programa que he trobat a la pàgina de Google Code d’Anthony Pray. Aquest programa llegeix l'entrada del port sèrie a 19200 bps i després injecta l'esdeveniment de teclat adequat mitjançant una biblioteca client VNC. Aquí he creat un mirall local de només font de text, que es pot obtenir fàcilment amb wget.

Com que injectarem les tecles premudes per VNC, també haureu d’executar un servidor VNC a l’iPhone. Utilitzarem Veency (que és increïble i hauríeu d’instal·lar-ho de totes maneres).

Aneu a Cydia o Icy i instal·leu els paquets següents:

  • Veency: proporciona el servidor VNC, configureu-lo perquè s’executi a l’inici
  • LibVNCServer: proporciona libvncclient
  • iPhone 2.0 Toolchain: proporciona un entorn de construcció (es necessiten gcc, libgcc, ldid, libz si aneu per una altra ruta)
  • MobileTerminal: per tant, podeu accedir al terminal de l'iPhone
  • wget: per tant, podeu arrossegar el fitxer font

Ara per descarregar i construir la font. Obriu MobileTerminal o SSH al telèfon i, a continuació, feu el següent:

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

L'últim pas, mitjançant ldid, falsifica la signatura del binari. Sense ella, l’OS iPhone eliminarà el vostre procés immediatament.

Per iniciar el programa, executeu-lo des de Mobile Terminal amb:

./TouchClient

Això farà que Veency aparegui un diàleg que us demani si voleu acceptar la connexió VNC. Prem Accepta.

He notat que executar això des de MobileTerminal manté viu el programa fins i tot quan surti de MobileTerminal, però seria millor utilitzar launchd. Encara no ho he entès.

Pas 11: Acabar els tocs i el treball futur

Per acabar, torneu a connectar el cable del pin 13 de l’iPhone Breakout al pin TX (pin 1) de l’Arduino. Desconnecteu el cable USB i canvieu l'Arduino a una alimentació externa. Connecteu l'iPhone Breakout al vostre iPhone.

Si:

  • TouchClient s’executa al vostre iPhone
  • El programari PS2 s’executa al vostre Arduino
  • El teclat està connectat al connector i el connector està connectat a l'Arduino correctament
  • Veency s'està executant i heu acceptat la connexió des de TouchClient
  • No hi ha res més fotut

Hauríeu de poder escriure al teclat PS / 2 i fer traduir aquestes pulsacions a les pulsacions de l’iPhone adequades. Això funcionarà a qualsevol lloc de l'iPhone, en qualsevol aplicació o funció nativa.

Aquesta solució no és perfecta, però és un enfocament general per utilitzar Arduino per afegir suport de teclat PS / 2 a gairebé qualsevol cosa que pugui llegir missatges en sèrie simples.

Treballs futurs:

  • L'assignació de codis d'escaneig es podria traslladar completament a l'iPhone i la part de maquinari d'aquest projecte es podria reimplementar en un xip de consum d'energia molt més barat i baix, com un PIC. Això reduiria el cost de la unitat en uns 30 dòlars, tot i que requeriria un programador PIC.
  • No totes les claus especials estan mapades correctament, però si mireu el codi Arduino i el codi iPhone, veureu que es tracta d’un procés increïblement senzill. Envieu tots els canvis que feu aquí com a comentari.
  • En lloc de ser un esbojarrat de filferro boig, m’agradaria veure que encaixava en un petit recinte còmode per a una portabilitat real. S’agrairia qualsevol idea d’aquest departament.
  • M’agradaria donar a TouchClient una contrasenya per a Veency perquè no hi hagi una finestra emergent Acceptar / Rebutjar tan molesta.
  • Aquest mètode exacte es podria utilitzar per afegir un teclat Bluetooth. Simplement afegiu un mòdul de sèrie Bluetooth a l’iPhone Breakout i continueu utilitzant TouchClient & Veency.

Això és. Espero que us hagi agradat l’Instruible! Esperem els vostres comentaris. Salutacions, - awgh

Recomanat: