Sommario:

Come collegare una tastiera PS/2 all'iPhone: 11 passaggi
Come collegare una tastiera PS/2 all'iPhone: 11 passaggi

Video: Come collegare una tastiera PS/2 all'iPhone: 11 passaggi

Video: Come collegare una tastiera PS/2 all'iPhone: 11 passaggi
Video: TRASFORMARE L’IPHONE IN PLAYSTATION! 2024, Novembre
Anonim
Come collegare una tastiera PS/2 all'iPhone
Come collegare una tastiera PS/2 all'iPhone
Come collegare una tastiera PS/2 all'iPhone
Come collegare una tastiera PS/2 all'iPhone
Come collegare una tastiera PS/2 all'iPhone
Come collegare una tastiera PS/2 all'iPhone

Anche se ho visto molte immagini di tastiere PS/2 collegate a iPhone su Internet, nessuno ha ancora pubblicato una guida dettagliata su come farlo funzionare da soli. Fino ad ora, cioè.

In questo Instructable ti mostrerò come puoi creare un convertitore da tastiera PS/2 a iPhone, incluse tutte le istruzioni hardware e software.

Prerequisiti

  • iPhone jailbroken: l'SDK ufficiale non consente l'accesso alla porta seriale a causa della cospirazione degli elfi, quindi è necessario il jailbreak. Tutto quello che devi sapere sul jailbreak è sul blog del team di sviluppatori di iPhone.
  • Arduino Diecimila o Dumilanove (o clone), disponibile da molti posti. Questo howto presuppone che il tuo Arduino sia assemblato.
  • Una scheda Breakout per iPod, come questa di Sparkfun. Qualsiasi prodotto simile funzionerà.
  • Un connettore per tastiera PS/2 (Din 6) femmina. Prendine uno da un vecchio computer o acquistane uno da Digikey o da un fornitore simile.
  • Filo, preferibilmente di diversi colori e calibro 24 circa. Sto usando una bobina di RadioShack nelle foto qui sotto.
  • Una resistenza da 500k. Sto usando un resistore a foro passante assiale di RadioShack, ma potresti aggiungerlo anche al tuo ordine Digikey.
  • Saldatore e saldatore. Se non sai saldare, puoi imparare qui e qui.
  • (Facoltativo) Intestazioni pin, come queste. Li rompo e li saldo alle estremità dei fili, in modo che si inseriscano bene nell'Arduino.
  • (Facoltativo) Il cablaggio della batteria Sweet 9v in modo che il tuo Arduino diventi portatile disponibile dal Maker Store.
  • (Opzionale) Jack per cuffie stereo da RadioShack o Digikey.

Passaggio 1: saldare il breakout dell'iPhone - Parte 1

Saldare l'IPhone Breakout - Parte 1
Saldare l'IPhone Breakout - Parte 1

Una volta che tutti gli ingredienti sono arrivati, accendi il saldatore e dai una rapida occhiata al pin-out del connettore dell'iPod.

Useremo quattro di questi pin per la tastiera: 11, 13, 16 e 21. La definizione del pin 21 dice che dobbiamo posizionare un resistore da 500k tra il pin 21 e la massa per abilitare le comunicazioni seriali con l'iPhone, quindi andremo ad attaccare un resistore tra il pin 21 e il pin 16, che è la massa seriale. Aggiungeremo anche intestazioni pin ai pin 11 e 13, che fungeranno da pin TX e RX per le comunicazioni seriali. Poiché invieremo SOLO all'iPhone, utilizziamo solo il pin RX dell'iPhone, quindi aggiungeremo anche un pezzo di filo per collegare il pin 11, il pin TX inutilizzato, direttamente a terra sul pin 16.

Puoi anche aggiungere facoltativamente il jack per cuffie stereo ai pin 2, 3 e 4 in questo momento e funzionerà ogni volta che il breakout è collegato. Questo non ha nulla a che fare con la tastiera, ma se hai un iPhone 1G con lo zoppo non- jack per cuffie standard, questo lo risolverà.

Passaggio 2: saldare il breakout dell'iPhone - Parte 2

Saldare l'IPhone Breakout - Parte 2
Saldare l'IPhone Breakout - Parte 2

Ho messo il ponticello tra il pin 11 e il pin 16 sul retro della breakout board. Può essere un po 'complicato montare tutto sul pin 16, quindi consiglio di inserire prima il resistore attraverso il foro, quindi avvolgere l'estremità del cavo del ponticello attorno ad esso e saldarli insieme prima di tagliare il cavo del resistore.

Un'altra tattica che può essere utile qui è quella di prima stagnare le estremità del filo, quindi applicare un po' di saldatura sul foro in cui si desidera attaccare il filo. Usa il lato del saldatore per riscaldare il tuo blob di saldatura e fai scivolare l'estremità stagnata del filo nel blob. Rimuovi il ferro, lascia raffreddare il blob, quindi lascia andare il filo.

Passaggio 3: saldare il connettore PS/2 - Parte 1

Saldare il connettore PS/2 - Parte 1
Saldare il connettore PS/2 - Parte 1

Non c'è alcun percorso che puoi seguire attraverso la numerazione dei pin del connettore PS/2 che abbia alcun senso al di fuori del contesto delle folli divagazioni di una riunione del comitato. Non pensare troppo ai numeri dei pin, guarda l'immagine.

Utilizzeremo quattro pin qui e li collegheremo tutti ad Arduino. Ground sarà collegato a Ground sull'Arduino, VCC sarà collegato a 5V e i pin Data e Clock saranno portati su due dei pin digitali di Arduino (3 e 4).

Passaggio 4: saldare il connettore PS/2 - Parte 2

Saldare il connettore PS/2 - Parte 2
Saldare il connettore PS/2 - Parte 2

La parte inferiore del connettore PS/2 è ancora meno intuitiva dello schema di numerazione. Consiglio di controllare questa immagine, ma anche di verificare che i pin nella parte inferiore del connettore corrispondano ai pin numerati che pensi che facciano prima di saldare qualsiasi cosa. Puoi verificare la connettività con un normale multimetro impostandolo per misurare la resistenza e collegando una sonda al pin sul fondo e inserendo l'altra nel foro. Se c'è qualche resistenza, quel pin è collegato a quel foro.

Sto usando il filo verde per il pin dell'orologio, il filo rosso per VCC, il filo bianco per i dati e il filo nero per la terra.

Passaggio 5: saldare le intestazioni dei pin ai cavi

Intestazioni pin a saldare a cavi
Intestazioni pin a saldare a cavi

Una volta collegati i connettori, spella le altre estremità dei fili e salda i cavi alle intestazioni dei pin. Questo ti permetterà di collegarli facilmente ad Arduino. Se non hai ottenuto le intestazioni dei pin, puoi provare a stagnare con cura i fili per farli rimanere meglio nei fori dei pin di Arduino.

Ho collegato alcuni fili alle intestazioni dei pin sui pin 11 e 13 della scheda breakout dell'iPhone. Il filo nero va a massa (pin 11) e il filo rosso va a VCC (pin 13). Ho quindi saldato le intestazioni dei pin ai cavi per i due fili dalla scheda breakout e i quattro provenienti dal connettore PS/2.

Passaggio 6: cablaggio della batteria da 9 V (opzionale)

(Opzionale) Cablaggio batteria da 9 V
(Opzionale) Cablaggio batteria da 9 V

Sto usando un Arduino Diecimila, poiché questo programma non richiede un chip migliore. Questo è mostrato con un cablaggio della batteria da 9 V di SparkFun per la portabilità.

Passaggio 7: collegare i cavi PS/2 ad Arduino

Collega i cavi PS/2 ad Arduino
Collega i cavi PS/2 ad Arduino

Successivamente, colleghiamo il connettore PS/2 ad Arduino. Collegare il cavo dell'orologio al pin digitale 3, il cavo dati al pin digitale 4 e collegare il cavo di terra a terra sull'Arduino e il cavo VCC al piedino 5V.

Passaggio 8: collegare i cavi dell'iPhone ad Arduino

Collega i cavi dell'iPhone ad Arduino
Collega i cavi dell'iPhone ad Arduino

Per connettere il breakout dell'iPhone, collega semplicemente il cavo dal Pin 13 al Pin TX su Arduino (pin digitale 1) e quindi collega il cavo dal Pin 11 a qualsiasi terra disponibile su Arduino.

IMPORTANTE: per evitare problemi con il flashing di Arduino, scollegare il pin TX su Arduino prima di eseguire il flashing. Ne parleremo più avanti. Dopodiché, tutta la saldatura è terminata. Ora è il momento di passare alla programmazione di Arduino!

Passaggio 9: il codice Arduino

Il codice Arduino
Il codice Arduino

Il software Arduino estrae i dati dalla tastiera, traduce i codici di scansione della tastiera in codici chiave e gestisce le pressioni dei tasti Maiusc e Bloc Maiusc.

Prima di tutto, scarica e installa l'ambiente di sviluppo Arduino da qui. Segui le indicazioni sul sito, ma assicurati di installare il driver FTDI appropriato dalla directory dei driver nell'installazione di Arduino.

Successivamente, avrai bisogno di una libreria Arduino aggiuntiva per PS/2. Scarica il file “ps2.zip” da questa pagina. Per installare, decomprimi il download in una cartella e sposta quella cartella in una sottodirectory della directory "hardware/librerie" sotto l'installazione di Arduino. Su OSX, puoi prima andare su Arduino.app e "Mostra contenuto pacchetto".

Una volta installati Arduino e la libreria ps2, scarica il codice sorgente da qui. Apri l'applicazione Arduino, crea un nuovo progetto e incollaci il codice sorgente. Salva, quindi vai su Schizzo-> Verifica/Compila per assicurarti che venga compilato. In caso contrario, assicurati che la libreria sia installata correttamente.

In una nota a margine, in realtà non ho scritto assolutamente alcun codice per questo progetto. Ho iniziato cercando di utilizzare la libreria PS2KeyboardExt2, ma quella libreria si basa sugli interrupt e sebbene possa funzionare su un Arduino che parla anche seriale a 9600 bps, una volta che ho aumentato la seriale fino a 19200 bps, gli interrupt hanno smesso di funzionare in un modo stabile. Quindi ho estratto tutto il bel codice da PS2KeyboardExt2, comprese le definizioni dei tasti e la buona gestione dei maiuscole e del blocco delle maiuscole e l'ho rielaborato in un programma che non utilizza gli interrupt e fa uso di una libreria PS/2 diversa e molto più semplice. Ciò lo rende in grado di gestire in modo affidabile una seriale a 19200 bps.

Ora, per programmare Arduino!

Scollegare il cavo che va al Pin 1 su Arduino. Quindi, collega Arduino al computer tramite cavo USB. Potrebbe essere necessario riavviare l'applicazione Arduino in modo che rilevi correttamente il nuovo dispositivo seriale USB. Carica lo schizzo salvato con la fonte, quindi premi il pulsante Carica per programmare Arduino.

Una volta caricato il programma, collega la tastiera al connettore PS/2. Dovresti vedere le luci lampeggiare. Puoi aprire il monitor seriale nell'applicazione Arduino e provare a digitare alcune lettere sulla tastiera. Dovresti vedere quelle lettere apparire nel monitor seriale. Prova ad attivare e disattivare il Caps Lock, la spia sulla tastiera dovrebbe accendersi e spegnersi e i caratteri dovrebbero uscire correttamente in maiuscolo.

Passaggio 10: il programma client per iPhone

Ora per configurare il programma client per iPhone.

Per il codice client, sto utilizzando un programma che ho trovato nella pagina del codice Google di Anthony Pray. Questo programma legge l'input dalla porta seriale a 19200 bps e quindi inietta l'evento della tastiera appropriato utilizzando una libreria client VNC. Ho creato qui un mirror di solo testo locale della fonte, che può essere facilmente recuperato con wget.

Poiché inietteremo i tasti premuti da VNC, dovrai anche eseguire un server VNC su iPhone. Useremo Veency (che è fantastico e dovresti installarlo comunque).

Vai su Cydia o Icy e installa i seguenti pacchetti:

  • Veency - Fornisce il server VNC, configuralo per l'esecuzione all'avvio
  • LibVNCServer - Fornisce libvncclient
  • iPhone 2.0 Toolchain - Fornisce un ambiente di compilazione (gcc, libgcc, ldid, libz sono necessari se segui un'altra strada)
  • MobileTerminal - Così puoi accedere al terminale iPhone
  • wget - Così puoi scaricare il file sorgente

Ora per scaricare e compilare il sorgente. Apri MobileTerminal o SSH sul tuo telefono, quindi procedi come segue:

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

L'ultimo passaggio, utilizzando ldid, simula la firma del binario. Senza di esso, il sistema operativo iPhone interromperà immediatamente il tuo processo.

Per avviare il programma, eseguilo da Mobile Terminal con:

./TouchClient

Ciò farà apparire Veency una finestra di dialogo che chiede se si desidera accettare la connessione VNC. Premi Accetta.

Ho notato che l'esecuzione di questo da MobileTerminal mantiene vivo il programma anche quando esci da MobileTerminal, ma sarebbe meglio usare launchd. Non l'ho ancora capito.

Passaggio 11: ritocchi finali e lavoro futuro

Per finire, ricollega il cavo dal Pin 13 sul breakout dell'iPhone al pin TX (pin 1) sull'Arduino. Scollegare il cavo USB e passare all'alimentazione esterna di Arduino. Collega il breakout dell'iPhone al tuo iPhone.

Se:

  • TouchClient è in esecuzione sul tuo iPhone
  • Il software PS2 è in esecuzione sul tuo Arduino
  • La tastiera è collegata al connettore e il connettore è collegato correttamente ad Arduino
  • Veency è in esecuzione e hai accettato la connessione da TouchClient
  • Nient'altro è rovinato

Dovresti essere in grado di digitare sulla tastiera PS/2 e di tradurre quelle sequenze di tasti nelle sequenze di tasti appropriate dell'iPhone. Funzionerà ovunque nell'iPhone, in qualsiasi app o funzionalità nativa.

Questa soluzione non è perfetta, ma è un approccio generico all'utilizzo di Arduino per aggiungere il supporto della tastiera PS/2 a quasi tutto ciò che può leggere semplici messaggi seriali.

Lavoro futuro:

  • La mappatura del codice di scansione potrebbe essere spostata interamente sull'iPhone e la parte hardware di questo progetto potrebbe essere reimplementata su un chip molto più economico e a basso consumo energetico, come un PIC. Ciò ridurrebbe il costo dell'unità di circa $ 30, anche se richiederebbe un programmatore PIC.
  • Non tutti i tasti speciali sono mappati correttamente, ma se guardi nel codice Arduino e poi nel codice iPhone, vedrai che questo è un processo incredibilmente semplice. Si prega di pubblicare eventuali modifiche apportate di nuovo qui come commento!
  • Piuttosto che essere un folle hack di filo, mi piacerebbe vederlo adattarsi a un piccolo involucro aderente per una vera portabilità. Tutte le idee in questo reparto sarebbero apprezzate.
  • Vorrei dare a TouchClient una password per Veency in modo che non ci sia quel fastidioso pop-up Accetta/Rifiuta.
  • Questo metodo esatto potrebbe essere utilizzato per aggiungere una tastiera Bluetooth. Basta aggiungere un modulo seriale Bluetooth al breakout dell'iPhone e continuare a utilizzare TouchClient e Veency.

Questo è tutto. Spero ti sia piaciuto Instructable! Aspetto i vostri commenti. Saluti, - awgh

Consigliato: