Índice:
- Pré-requisitos
- Etapa 1: Solde o IPhone Breakout - Parte 1
- Etapa 2: Soldar o IPhone Breakout - Parte 2
- Etapa 3: Solde o conector PS / 2 - Parte 1
- Etapa 4: Solde o Conector PS / 2 - Parte 2
- Etapa 5: soldar os cabeçalhos dos pinos nas derivações
- Etapa 6: (opcional) chicote de bateria de 9V
- Etapa 7: Anexe cabos PS / 2 ao Arduino
- Etapa 8: Anexe leads de IPhone ao Arduino
- Etapa 9: o código do Arduino
- Etapa 10: O Programa Cliente IPhone
- Etapa 11: Toques finais e trabalho futuro
Vídeo: Como conectar um teclado PS / 2 ao iPhone: 11 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:40
Embora eu tenha visto muitas fotos de teclados PS / 2 conectados a iPhones na Internet, ninguém ainda publicou um tutorial detalhado sobre como fazer isso funcionar sozinho. Até agora, claro.
Neste Instrutível, mostrarei como você pode fazer um conversor de teclado PS / 2 para iPhone, incluindo todas as instruções de hardware e software.
Pré-requisitos
- IPhone desbloqueado - O SDK oficial não permite o acesso à porta serial devido ao Elf Conspiracy, então o jailbreak é necessário. Tudo o que você precisa saber sobre o jailbreak está no iPhone Dev Team Blog.
- Arduino Diecimila ou Dumilanove (ou clone), disponível em muitos lugares. Este tutorial presume que seu Arduino está montado.
- Uma placa para iPod Breakout, como esta da Sparkfun. Qualquer produto semelhante funcionará.
- Um conector de teclado PS / 2 (Din 6) fêmea. Retire um de um computador antigo ou compre um da Digikey ou de um fornecedor semelhante.
- Fio, de preferência várias cores e calibre 24. Estou usando um carretel do RadioShack nas fotos abaixo.
- Um resistor de 500k. Estou usando um resistor de orifício axial da RadioShack, mas você também pode adicioná-lo ao seu pedido Digikey.
- Ferro de soldar e solda. Se você não sabe soldar, pode aprender aqui e aqui.
- (Opcional) Fixar cabeçalhos, como estes. Eu os quebro e os soldo nas pontas dos fios, para que se conectem perfeitamente ao Arduino.
- (Opcional) Chicote de bateria Sweet 9v para que seu Arduino se torne portátil, disponível na Maker Store.
- (Opcional) Conector de fone de ouvido estéreo da RadioShack ou Digikey.
Etapa 1: Solde o IPhone Breakout - Parte 1
Quando todos os ingredientes chegarem, ligue o ferro de solda e dê uma olhada rápida na pinagem do conector do iPod.
Usaremos quatro desses pinos para o teclado: 11, 13, 16 e 21. A definição do pino 21 diz que precisamos colocar um resistor de 500k entre o pino 21 e o terra para permitir as comunicações seriais com o iPhone, então vamos colocar um resistor entre os pinos 21 e 16, que é o aterramento serial. Também adicionaremos cabeçalhos de pinos aos pinos 11 e 13, que funcionarão como os pinos TX e RX para comunicações seriais. Como SOMENTE enviaremos para o iPhone, usaremos apenas o pino RX do iPhone, então também adicionaremos um pedaço de fio para conectar o pino 11, o pino TX não utilizado, diretamente ao aterramento no pino 16.
Você também pode adicionar opcionalmente o conector de fone de ouvido estéreo aos pinos 2, 3 e 4 agora e ele funcionará sempre que o breakout for conectado. Isso não tem nada a ver com o teclado, mas se você tiver um iPhone 1G com o jack de fone de ouvido padrão, isso vai consertar.
Etapa 2: Soldar o IPhone Breakout - Parte 2
Eu coloquei o jumper entre os pinos 11 e 16 na parte traseira da placa de breakout. Pode ser um pouco complicado encaixar tudo no pino 16, então eu recomendo primeiro enfiar o resistor através do orifício, em seguida, enrolar a extremidade do fio de ligação em torno dele e soldá-los antes de cortar o cabo do resistor.
Outra tática que pode ser útil aqui é primeiro estanhar as pontas do fio e, em seguida, soltar um pouco de solda no orifício em que deseja prender o fio. Use a lateral do ferro de solda para aquecer a bolha de solda e DESLIZE a ponta estanhada do fio na bolha. Remova o ferro, deixe a bolha esfriar e depois solte o arame.
Etapa 3: Solde o conector PS / 2 - Parte 1
Não há caminho que você possa seguir através da numeração de pinos do Conector PS / 2 que faça algum tipo de sentido fora do contexto das divagações desordenadas de uma reunião de comitê. Não pense muito sobre os números dos pinos, apenas verifique a imagem.
Usaremos quatro pinos aqui e conectaremos todos eles ao Arduino. O aterramento será conectado ao aterramento no Arduino, o VCC será conectado a 5V e os pinos de dados e relógio serão colocados em dois dos pinos digitais do Arduino (3 e 4).
Etapa 4: Solde o Conector PS / 2 - Parte 2
A parte inferior do conector PS / 2 é ainda menos intuitiva do que o esquema de numeração. Eu recomendo verificar esta imagem, mas também verificar se os pinos na parte inferior do seu conector correspondem aos pinos numerados que você acha que eles correspondem antes de soldar qualquer coisa. Você pode verificar a conectividade com um multímetro regular configurando-o para medir a resistência e conectando uma ponta de prova ao pino na parte inferior e colocando a outra no orifício. Se houver alguma resistência, então esse pino está conectado a esse orifício.
Estou usando o fio verde para o pino do relógio, o fio vermelho para VCC, o fio branco para dados e o fio preto para aterramento.
Etapa 5: soldar os cabeçalhos dos pinos nas derivações
Depois de instalar os conectores, descasque as outras extremidades dos fios e solde os condutores nos conectores dos pinos. Isso permitirá que você os conecte ao Arduino facilmente. Se você não obteve os cabeçotes de pino, pode tentar estanhar os fios com cuidado para fazê-los permanecer nos orifícios dos pinos do Arduino melhor.
Eu conectei alguns fios aos conectores dos pinos nos pinos 11 e 13 da placa de breakout do iPhone. O fio preto é para o aterramento (pino 11) e o fio vermelho é para VCC (pino 13). Em seguida, soldei os conectores de pinos aos condutores para os dois fios da placa breakout e os quatro que vêm do conector PS / 2.
Etapa 6: (opcional) chicote de bateria de 9V
Estou usando um Arduino Diecimila, pois este programa não requer um chip melhor. Isso é mostrado com um chicote de bateria de 9V da SparkFun para portabilidade.
Etapa 7: Anexe cabos PS / 2 ao Arduino
Em seguida, conectamos o conector PS / 2 ao Arduino. Conecte o fio do relógio ao pino digital 3, o fio de dados ao pino digital 4 e conecte o fio terra ao aterramento no Arduino e o fio VCC ao pino 5V.
Etapa 8: Anexe leads de IPhone ao Arduino
Para conectar o breakout do iPhone, simplesmente conecte o cabo do pino 13 ao pino TX no Arduino (pino digital 1) e, em seguida, conecte o cabo do pino 11 a qualquer aterramento disponível no Arduino.
IMPORTANTE: Para evitar problemas com o flash do Arduino, desconecte o pino TX do Arduino antes de fazer o flash. Mais sobre isso depois. Depois disso, toda a solda está feita. Agora é hora de passar para a programação do Arduino!
Etapa 9: o código do Arduino
O software Arduino registra os dados do teclado, traduz os códigos de varredura do teclado em códigos de tecla e controla o pressionamento das teclas shift e caps lock.
Primeiro, baixe e instale o ambiente de desenvolvimento Arduino aqui. Siga as instruções no site, mas certifique-se de instalar o driver FTDI apropriado do diretório de drivers na instalação do Arduino.
Em seguida, você precisará de uma biblioteca Arduino adicional para PS / 2. Baixe o arquivo “ps2.zip” desta página. Para instalar, descompacte o download em uma pasta e mova essa pasta para um subdiretório do diretório “hardware / libraries” em sua instalação do Arduino. No OSX, você pode ir primeiro para Arduino.app e “Mostrar conteúdo do pacote”.
Depois que o Arduino e a biblioteca ps2 estiverem instalados, baixe o código-fonte aqui. Abra o aplicativo Arduino, crie um novo projeto e cole o código-fonte nele. Salve e vá para Sketch-> Verify / Compile para ter certeza de que ele é compilado. Caso contrário, certifique-se de que a biblioteca esteja instalada corretamente.
Em uma nota lateral, na verdade eu não escrevi absolutamente nenhum código para este projeto. Comecei tentando usar a biblioteca PS2KeyboardExt2, mas essa biblioteca é baseada em interrupções e embora possa rodar em um Arduino que também fala serial a 9600 bps, uma vez que aumentei o serial para 19200 bps, as interrupções pararam de funcionar em um maneira estável. Então eu arranquei todo o código legal do PS2KeyboardExt2, incluindo as definições de chave e o bom manuseio de shifts e caps lock e o retrabalhei em um programa que não usa interrupções e faz uso de uma biblioteca PS / 2 diferente e muito mais simples. Isso o torna capaz de lidar com serial de 19200 bps de maneira confiável.
Agora, para programar o Arduino!
Desconecte o cabo que vai para o pino 1 no Arduino. Em seguida, conecte o Arduino ao seu computador via cabo USB. Pode ser necessário reiniciar o aplicativo Arduino para que ele detecte o novo dispositivo serial USB corretamente. Carregue o esboço salvo com a fonte e clique no botão Upload para programar o Arduino.
Assim que o programa for carregado, conecte o teclado ao conector PS / 2. Você deve ver as luzes piscarem. Você pode abrir o Serial Monitor no aplicativo Arduino e tentar digitar algumas letras no teclado. Você deve ver essas letras aparecerem no Monitor Serial. Experimente ligar e desligar o Caps Lock, a luz do teclado deve acender e desligar e os caracteres devem sair corretamente maiúsculos.
Etapa 10: O Programa Cliente IPhone
Agora, para configurar o programa cliente do iPhone.
Para o código do cliente, estou usando um programa que encontrei na página do Google Code de Anthony Pray. Este programa lê a entrada da porta serial a 19200 bps e então injeta o evento de teclado apropriado usando uma biblioteca cliente VNC. Eu fiz um espelho local somente de texto da fonte aqui, que pode ser facilmente obtido com o wget.
Uma vez que injetaremos pressionamentos de tecla por VNC, você também precisará executar um servidor VNC no iPhone. Vamos usar o Veency (que é incrível e você deve instalar de qualquer maneira).
Vá para Cydia ou Icy e instale os seguintes pacotes:
- Veency - fornece o servidor VNC, configure-o para ser executado na inicialização
- LibVNCServer - fornece libvncclient
- iPhone 2.0 Toolchain - Fornece um ambiente de construção (gcc, libgcc, ldid, libz são necessários se você seguir outro caminho)
- MobileTerminal - para que você possa acessar o terminal do iPhone
- wget - para que você possa puxar o arquivo de origem
Agora, para baixar e construir o código-fonte. Abra o MobileTerminal ou SSH em seu telefone e faça o seguinte:
- wget
- gcc -static-libgcc -o TouchClient TouchClient.c -lvncclient
- ldid -S TouchClient
A última etapa, usando ldid, falsifica a assinatura do binário. Sem ele, o iPhone OS matará seu processo imediatamente.
Para iniciar o programa, execute-o a partir do Terminal Móvel com:
./TouchClient
Isso fará com que o Veency apareça uma caixa de diálogo perguntando se você deseja aceitar a conexão VNC. Clique em Aceitar.
Percebi que executar isso a partir do MobileTerminal mantém o programa ativo mesmo quando você sai do MobileTerminal, mas seria melhor usar o launchd. Eu não descobri isso ainda.
Etapa 11: Toques finais e trabalho futuro
Para terminar, reconecte o cabo do pino 13 no breakout do iPhone ao pino TX (pino 1) no Arduino. Desconecte o cabo USB e ligue o Arduino para alimentação externa. Conecte o breakout do iPhone ao seu iPhone.
Se:
- TouchClient está sendo executado no seu iPhone
- O software PS2 está sendo executado em seu Arduino
- O teclado está conectado ao conector, e o conector conectado ao Arduino corretamente
- Veency está funcionando e você aceitou a conexão do TouchClient
- Nada mais está bagunçado
Você deve ser capaz de digitar no teclado PS / 2 e fazer com que essas teclas sejam traduzidas para as teclas apropriadas do iPhone. Isso funcionará em qualquer lugar no iPhone, em qualquer aplicativo ou recurso nativo.
Esta solução não é perfeita, mas é uma abordagem de propósito geral para usar o Arduino para adicionar suporte de teclado PS / 2 a quase qualquer coisa que possa ler mensagens seriais simples.
Trabalho futuro:
- O mapeamento do código de varredura pode ser movido inteiramente para o iPhone, e a parte de hardware deste projeto pode ser reimplementada em um chip muito mais barato e com menor consumo de energia, como um PIC. Isso reduziria o custo da unidade em cerca de US $ 30, embora fosse necessário um programador PIC.
- Nem todas as chaves especiais estão mapeadas corretamente, mas se você olhar no código do Arduino e depois no código do iPhone, verá que este é um processo incrivelmente simples. Por favor, poste quaisquer alterações que você fizer aqui como um comentário!
- Em vez de ser um hacker maluco, gostaria de ver isso cabendo em um pequeno gabinete confortável para portabilidade real. Quaisquer ideias neste departamento serão apreciadas.
- Eu gostaria de dar ao TouchClient uma senha para Veency para que não haja aquele pop-up Aceitar / Recusar irritante.
- Este método exato pode ser usado para adicionar um teclado Bluetooth. Basta adicionar um módulo Bluetooth-Serial ao breakout do iPhone e continuar usando o TouchClient & Veency.
É isso. Espero que tenham gostado do Instructable! Aguardo seus comentários. Atenciosamente, - awgh
Recomendado:
Convertir Un Teclado Muerto a Un Teclado MIDI: 8 etapas
Convertir Un Teclado Muerto para Un Teclado MIDI: Hace un tiempo cuando era pequeño tenia un teclado funcional que me encantaba tocarlo, aunque solo sabia poquitas notas me encantaba tocarlo, un dia le conecte el eliminador equivocado pero no me habia dado cuenta cuando lo conecte todo estaba funci
Interface de teclado com 8051 e exibição de números de teclado em 7 segmentos: 4 etapas (com imagens)
Interface do teclado com 8051 e exibição de números do teclado em 7 segmentos: Neste tutorial, vou falar sobre como podemos fazer a interface do teclado com 8051 e exibir os números do teclado em um display de 7 segmentos
Como conectar um motor de máquina de lavar roupa como gerador: 3 etapas (com fotos)
Como conectar um motor de máquina de lavar como gerador: Como conectar um motor de máquina de lavar como gerador ou motor de máquina de lavar Noções básicas de fiação do gerador é um tutorial sobre os princípios de fiação do motor universal na fonte de alimentação DC e AC. Um gerador é um dispositivo que converte a força motriz em energia elétrica
Teclado Quick and Dirty Das (teclado em branco): 3 etapas
Quick and Dirty Das Keyboard (teclado em branco): Um teclado Das é o nome do teclado mais popular sem inscrições nas teclas (teclado em branco). O Das Keyboard é vendido por $ 89,95. Este instrutível irá guiá-lo para fazer um você mesmo com qualquer teclado antigo que você tenha por aí
Limpando o teclado de alumínio da Apple ou qualquer outro teclado de toque suave: 5 etapas
Limpando o teclado de alumínio da Apple … ou qualquer outro teclado de toque suave: Por mais limpos que você ou eu tentemos manter nossos teclados de alumínio da maçã, eles ficam imundos depois de um ano ou mais. Isso é instrutível para ajudá-lo a limpá-lo. Tenha cuidado, porque não sou responsável se o seu teclado quebrar enquanto faz isso …. SUGA F