Tabla de contenido:

Cómo conectar un teclado PS / 2 al iPhone: 11 pasos
Cómo conectar un teclado PS / 2 al iPhone: 11 pasos

Video: Cómo conectar un teclado PS / 2 al iPhone: 11 pasos

Video: Cómo conectar un teclado PS / 2 al iPhone: 11 pasos
Video: CÓMO DESCARGAR e INSTALAR 🌟 PCSX2 🌟 paso a paso + AJUSTES || 2022 2024, Noviembre
Anonim
Cómo conectar un teclado PS / 2 al iPhone
Cómo conectar un teclado PS / 2 al iPhone
Cómo conectar un teclado PS / 2 al iPhone
Cómo conectar un teclado PS / 2 al iPhone
Cómo conectar un teclado PS / 2 al iPhone
Cómo conectar un teclado PS / 2 al iPhone

Aunque he visto muchas imágenes de teclados PS / 2 conectados a iPhones en Internet, nadie ha publicado todavía un tutorial detallado sobre cómo hacer que esto funcione. Hasta ahora, eso es.

En este Instructable, le mostraré cómo puede hacer un convertidor de teclado PS / 2 a iPhone, incluidas todas las instrucciones de hardware y software.

Prerrequisitos

  • IPhone con jailbreak: el SDK oficial no permite el acceso al puerto serie debido a Elf Conspiracy, por lo que se requiere el jailbreak. Todo lo que necesitas saber sobre el jailbreak está en el Blog del equipo de desarrollo de iPhone.
  • Arduino Diecimila o Dumilanove (o clon), disponible en muchos lugares. Este cómo asume que su Arduino está ensamblado.
  • Una placa de conexión para iPod, como esta de Sparkfun. Cualquier producto similar funcionará.
  • Un conector de teclado PS / 2 (Din 6) hembra. Saque uno de una computadora vieja o compre uno de Digikey o un proveedor similar.
  • Alambre, preferiblemente de varios colores y calibre aproximadamente 24. Estoy usando un carrete de RadioShack en las fotos de abajo.
  • Una resistencia de 500k. Estoy usando una resistencia de orificio pasante axial de RadioShack, pero también puede agregarla a su pedido de Digikey.
  • Soldador y soldadura. Si no sabe cómo soldar, puede aprender aquí y aquí.
  • (Opcional) Encabezados de pines, como estos. Los rompo y los sueldo a los extremos de los cables, para que se conecten bien al Arduino.
  • (Opcional) Arnés de batería Sweet 9v para que tu Arduino se vuelva portátil y esté disponible en Maker Store.
  • (Opcional) Conector para auriculares estéreo de RadioShack o Digikey.

Paso 1: Suelde el iPhone Breakout - Parte 1

Suelde el iPhone Breakout - Parte 1
Suelde el iPhone Breakout - Parte 1

Una vez que lleguen todos sus ingredientes, encienda el soldador y eche un vistazo rápido al pin-out del conector del iPod.

Usaremos cuatro de estos pines para el teclado: 11, 13, 16 y 21. La definición del pin 21 dice que necesitamos colocar una resistencia de 500k entre el pin 21 y tierra para permitir las comunicaciones en serie con el iPhone, así que vamos a colocar una resistencia entre el pin 21 y el pin 16, que es la tierra en serie. También agregaremos encabezados de pines a los pines 11 y 13, que actuarán como pines TX y RX para las comunicaciones en serie. Dado que SOLAMENTE enviaremos al iPhone, solo usamos el pin RX del iPhone, por lo que también agregaremos un trozo de cable para conectar el pin 11, el pin TX no utilizado, directamente a tierra en el pin 16.

También puede agregar opcionalmente el conector para auriculares estéreo a los pines 2, 3 y 4 en este momento y funcionará siempre que se conecte el breakout. Esto no tiene nada que ver con el teclado, pero si tiene un iPhone 1G con el toma de auriculares estándar, esto lo solucionará.

Paso 2: Suelde el iPhone Breakout - Parte 2

Suelde el iPhone Breakout - Parte 2
Suelde el iPhone Breakout - Parte 2

Puse el puente entre el pin 11 y el pin 16 en la parte posterior de la placa de conexión. Puede ser un poco complicado colocar todo en el pin 16, por lo que recomiendo primero pegar la resistencia a través del orificio, luego enrollar el extremo del cable de puente alrededor y soldarlos antes de cortar el cable de la resistencia.

Otra táctica que puede ser útil aquí es primero estañar los extremos del cable y luego soldar un poco el orificio en el que desea pegar el cable. Usa el costado del soldador para calentar la gota de soldadura y DESLIZA el extremo estañado del cable en la gota. Retire la plancha, deje que la gota se enfríe y luego suelte el alambre.

Paso 3: Suelde el conector PS / 2 - Parte 1

Suelde el conector PS / 2 - Parte 1
Suelde el conector PS / 2 - Parte 1

No hay ningún camino que pueda tomar a través de la numeración de pines del conector PS / 2 que tenga algún tipo de sentido fuera del contexto de las desquiciadas divagaciones de una reunión de comité. No pienses demasiado en los números de PIN, solo mira la imagen.

Usaremos cuatro pines aquí y los conectaremos todos al Arduino. La tierra se conectará a tierra en el Arduino, el VCC se conectará a 5 V y los pines de datos y reloj se llevarán a dos de los pines digitales de Arduino (3 y 4).

Paso 4: Suelde el conector PS / 2 - Parte 2

Suelde el conector PS / 2 - Parte 2
Suelde el conector PS / 2 - Parte 2

La parte inferior del conector PS / 2 es incluso menos intuitiva que el esquema de numeración. Recomiendo revisar esta imagen, pero también verificar que los pines en la parte inferior de su conector coincidan con los pines numerados que cree que hacen antes de soldar cualquier cosa. Puede verificar la conectividad con un multímetro normal configurándolo para medir la resistencia y conectando una sonda al pin en la parte inferior y pegando la otra en el orificio. Si hay alguna resistencia, entonces ese pin está conectado a ese orificio.

Estoy usando el cable verde para el pin del reloj, el cable rojo para VCC, el cable blanco para datos y el cable negro para tierra.

Paso 5: Suelde los encabezados de los pines a los cables

Suelde los cabezales de los pines a los conductores
Suelde los cabezales de los pines a los conductores

Una vez que tenga los conectores conectados, pele los otros extremos de los cables y suelde los cables a los conectores de los pines. Esto te permitirá conectarlos al Arduino fácilmente. Si no obtuvo los encabezados de los pines, puede intentar estañar con cuidado los cables para que permanezcan mejor en los orificios de los pines de Arduino.

Conecté algunos cables a los encabezados de los pines en los pines 11 y 13 de la placa de conexión del iPhone. El cable negro está a tierra (patilla 11) y el cable rojo es a VCC (patilla 13). Luego soldé los cabezales de los pines a los cables de los dos cables de la placa de conexión y los cuatro que vienen del conector PS / 2.

Paso 6: (opcional) arnés de batería de 9 V

(Opcional) Arnés de batería de 9 V
(Opcional) Arnés de batería de 9 V

Estoy usando un Arduino Diecimila, ya que este programa no requiere un chip mejor. Esto se muestra con un arnés de batería de 9V de SparkFun para su portabilidad.

Paso 7: conecte los cables PS / 2 a Arduino

Conecte los cables PS / 2 a Arduino
Conecte los cables PS / 2 a Arduino

A continuación, conectamos el conector PS / 2 al Arduino. Conecte el cable del reloj al pin digital 3, el cable de datos al pin digital 4 y conecte el cable de tierra a tierra en el Arduino y el cable VCC al pin de 5 V.

Paso 8: conecte los cables del iPhone a Arduino

Adjuntar cables de iPhone a Arduino
Adjuntar cables de iPhone a Arduino

Para conectar la salida del iPhone, simplemente conecte el cable del Pin 13 al Pin TX en el Arduino (Pin digital 1) y luego conecte el cable del Pin 11 a cualquier tierra disponible en el Arduino.

IMPORTANTE: Para evitar problemas con el flasheo del Arduino, desconecte el Pin TX en el Arduino antes de flashear. Más sobre esto más adelante. Después de eso, toda la soldadura está lista. ¡Ahora es el momento de pasar a programar el Arduino!

Paso 9: el código Arduino

El código Arduino
El código Arduino

El software Arduino registra los datos del teclado, traduce los códigos de escaneo del teclado a códigos de teclas y maneja las pulsaciones de las teclas de mayúsculas y minúsculas.

En primer lugar, descargue e instale el entorno de desarrollo Arduino desde aquí. Siga las instrucciones en el sitio, pero asegúrese de instalar el controlador FTDI apropiado desde el directorio de controladores en la instalación de Arduino.

A continuación, necesitará una biblioteca Arduino adicional para PS / 2. Descargue el archivo "ps2.zip" de esta página. Para instalar, descomprima la descarga en una carpeta y mueva esa carpeta para que sea un subdirectorio del directorio "hardware / bibliotecas" en su instalación de Arduino. En OSX, primero puede ir a Arduino.app y "Mostrar contenido del paquete".

Una vez que Arduino y la biblioteca ps2 estén instalados, descargue el código fuente desde aquí. Abra la aplicación Arduino, cree un nuevo proyecto y pegue el código fuente en él. Guarde y luego vaya a Sketch-> Verify / Compile para asegurarse de que se compile. Si no es así, asegúrese de que la biblioteca esté instalada correctamente.

En una nota al margen, en realidad no escribí absolutamente ningún código para este proyecto. Comencé tratando de usar la biblioteca PS2KeyboardExt2, pero esa biblioteca se basa en interrupciones y, aunque puede ejecutarse en un Arduino que también habla en serie a 9600 bps, una vez que puse la serie hasta 19200 bps, las interrupciones dejaron de funcionar en un forma estable. Así que saqué todo el código agradable de PS2KeyboardExt2, incluidas las definiciones de las teclas y el buen manejo de los cambios y el bloqueo de mayúsculas, y lo modifiqué en un programa que no usa interrupciones y hace uso de una biblioteca PS / 2 diferente y mucho más simple.. Esto lo hace capaz de manejar una serie de 19200 bps de manera confiable.

¡Ahora, para programar el Arduino!

Desconecte el cable que va al Pin 1 en el Arduino. Luego, conecte el Arduino a su computadora mediante un cable USB. Es posible que deba reiniciar la aplicación Arduino para que detecte correctamente el nuevo dispositivo serie USB. Cargue el boceto guardado con la fuente y luego presione el botón Cargar para programar el Arduino.

Una vez que se cargue el programa, conecte el teclado al conector PS / 2. Deberías ver las luces parpadear. Puede abrir Serial Monitor en la aplicación Arduino e intentar escribir algunas letras en el teclado. Debería ver esas letras aparecer en el Monitor de serie. Intente activar y desactivar el bloqueo de mayúsculas, la luz del teclado debe encenderse y apagarse y los caracteres deben salir correctamente en mayúsculas.

Paso 10: El programa de cliente de iPhone

Ahora para configurar el programa cliente de iPhone.

Para el código de cliente, estoy usando un programa que encontré en la página de códigos de Google de Anthony Pray. Este programa lee la entrada del puerto serie a 19200 bps y luego inyecta el evento de teclado apropiado usando una biblioteca de cliente VNC. He creado un espejo local de solo texto de la fuente aquí, que se puede recuperar fácilmente con wget.

Dado que inyectaremos pulsaciones de teclas mediante VNC, también deberá ejecutar un servidor VNC en el iPhone. Vamos a utilizar Veency (que es genial y deberías instalarlo de todos modos).

Vaya a Cydia o Icy e instale los siguientes paquetes:

  • Veency: proporciona el servidor VNC, configúrelo para que se ejecute al inicio
  • LibVNCServer: proporciona libvncclient
  • Cadena de herramientas de iPhone 2.0: proporciona un entorno de compilación (se requieren gcc, libgcc, ldid, libz si opta por otra ruta)
  • MobileTerminal: para que pueda acceder a la terminal de iPhone
  • wget: para que pueda desplegar el archivo fuente

Ahora para descargar y compilar la fuente. Abra MobileTerminal o SSH en su teléfono y luego haga lo siguiente:

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

El último paso, usando ldid, falsifica la firma del binario. Sin él, el iPhone OS matará su proceso de inmediato.

Para iniciar el programa, ejecútelo desde Mobile Terminal con:

./TouchClient

Esto hará que Veency muestre un cuadro de diálogo que le preguntará si desea aceptar la conexión VNC. Presiona Aceptar.

He notado que ejecutar esto desde MobileTerminal mantiene vivo el programa incluso cuando abandona MobileTerminal, pero sería mejor usar launchd. Todavía no me he dado cuenta de eso.

Paso 11: Toques finales y trabajo futuro

Para terminar, vuelva a conectar el cable del pin 13 en la ruptura del iPhone al pin TX (pin 1) en el Arduino. Desconecte el cable USB y cambie el Arduino a alimentación externa. Conecte el iPhone breakout a su iPhone.

Si:

  • TouchClient se está ejecutando en su iPhone
  • El software PS2 se está ejecutando en tu Arduino
  • El teclado está enchufado en el conector y el conector conectado al Arduino correctamente
  • Veency se está ejecutando y ha aceptado la conexión de TouchClient
  • Nada más está jodido

Debería poder escribir en el teclado PS / 2 y hacer que esas pulsaciones se traduzcan a las pulsaciones de teclas adecuadas del iPhone. Esto funcionará en cualquier lugar del iPhone, en cualquier aplicación o función nativa.

Esta solución no es perfecta, pero es un enfoque de propósito general para usar Arduino para agregar soporte de teclado PS / 2 a casi cualquier cosa que pueda leer mensajes seriales simples.

Trabajo futuro:

  • El mapeo del código de escaneo podría trasladarse por completo al iPhone, y la parte de hardware de este proyecto podría reimplementarse en un chip mucho más barato y de menor consumo de energía, como un PIC. Esto reduciría el costo de la unidad en aproximadamente $ 30, aunque requeriría un programador PIC.
  • No todas las teclas especiales están mapeadas correctamente, pero si miras el código Arduino y luego el código del iPhone, verás que este es un proceso increíblemente simple. ¡Publique cualquier cambio que realice aquí como comentario!
  • En lugar de ser un loco truco de cables, me gustaría verlo encajar en un pequeño y cómodo recinto para una portabilidad real. Se agradecería cualquier idea de este departamento.
  • Me gustaría darle a TouchClient una contraseña para Veency para que no aparezca esa molesta ventana emergente de Aceptar / Rechazar.
  • Este método exacto podría usarse para agregar un teclado Bluetooth. Simplemente agregue un módulo Bluetooth-Serial a la ruptura del iPhone y siga usando TouchClient & Veency.

Eso es todo. ¡Espero que hayas disfrutado del Instructable! Esperamos sus comentarios. Saludos, - awgh

Recomendado: