Sadržaj:

Kako spojiti PS/2 tipkovnicu na iPhone: 11 koraka
Kako spojiti PS/2 tipkovnicu na iPhone: 11 koraka

Video: Kako spojiti PS/2 tipkovnicu na iPhone: 11 koraka

Video: Kako spojiti PS/2 tipkovnicu na iPhone: 11 koraka
Video: Ako imate iPhone, OVO MORATE ISPROBATI! 2024, Studeni
Anonim
Kako spojiti PS/2 tipkovnicu na iPhone
Kako spojiti PS/2 tipkovnicu na iPhone
Kako spojiti PS/2 tipkovnicu na iPhone
Kako spojiti PS/2 tipkovnicu na iPhone
Kako spojiti PS/2 tipkovnicu na iPhone
Kako spojiti PS/2 tipkovnicu na iPhone

Iako sam na internetu vidio mnogo slika PS/2 tipkovnica priključenih na iPhone, nitko još nije objavio detaljne upute o tome kako sami to učiniti. Dosad je tako.

U ovom Instructableu pokazat ću vam kako možete napraviti PS/2 pretvornik tipkovnice u iPhone, uključujući sve upute o hardveru i softveru.

Preduvjeti

  • Jailbroken iPhone - Službeni SDK ne dopušta pristup serijskom portu zbog Elf Conspiracy -a, pa je jailbreak potreban. Sve što trebate znati o bjekstvu iz zatvora nalazi se na blogu iPhone Dev Team.
  • Arduino Diecimila ili Dumilanove (ili klon), dostupni s mnogih mjesta. Ovaj način pretpostavlja da je vaš Arduino sastavljen.
  • IPod Breakout ploča, poput ove iz Sparkfuna. Svaki sličan proizvod će raditi.
  • Ženski priključak za tipkovnicu PS/2 (Din 6). Skinite ga sa starog računala ili ga kupite od Digikey -a ili sličnog dobavljača.
  • Žica, po mogućnosti nekoliko boja i oko 24 kolosijeka. Koristim kalem iz RadioShacka na donjim slikama.
  • Jedan otpornik od 500k. Koristim aksijalni otpornik kroz RadioShack, ali ovo biste mogli dodati i u svoju Digikey narudžbu.
  • Lemilica i lemljenje. Ako ne znate lemiti, možete naučiti ovdje i ovdje.
  • (Opcionalno) Pin Headers, poput ovih. Odlomim ih i lemim na krajeve žica, tako da se lijepo spoje na Arduino.
  • (Izborno) Slatki 9v baterijski snop kako bi vaš Arduino postao prenosiv dostupan u trgovini Maker.
  • (Opcionalno) Stereo priključak za slušalice s RadioShacka ili Digikeyja.

Korak 1: Lemite proboj iPhone -a - 1. dio

Lemite iPhone Breakout - 1. dio
Lemite iPhone Breakout - 1. dio

Kad stignu svi sastojci, zapalite lemilicu i brzo pogledajte Pin-Out priključka za iPod.

Za tipkovnicu ćemo koristiti četiri od ovih pinova: 11, 13, 16 i 21. Definicija pina 21 kaže da moramo postaviti otpornik od 500 k između pina 21 i mase kako bismo omogućili serijsku komunikaciju s iPhoneom, pa namjestit ćemo otpornik između pina 21 i pina 16, što je serijsko uzemljenje. Također ćemo dodati pin zaglavlja na pinove 11 i 13, koji će djelovati kao TX i RX pinovi za serijsku komunikaciju. Budući da ćemo slati SAMO na iPhone, koristit ćemo samo iPhone -ov RX pin, pa ćemo također dodati komad žice za spajanje pina 11, neiskorištenog TX pina, izravno na tlo na pin 16.

Također možete po želji odmah dodati stero utičnicu za slušalice na pinove 2, 3 i 4 i to će raditi kad god je utikač uključen. To nema veze s tipkovnicom, ali ako imate 1G iPhone sa lakim standardni priključak za slušalice, to će popraviti problem.

Korak 2: Lemite proboj iPhone -a - 2. dio

Lemite iPhone Breakout - 2. dio
Lemite iPhone Breakout - 2. dio

Postavio sam kratkospojnik između pina 11 i pina 16 na stražnjoj strani ploče za razbijanje. Može biti malo nezgodno staviti sve na pin 16, pa preporučujem da prvo provučete otpornik kroz rupu, zatim omotate kraj žice kratkospojnika oko njega i lemite ih prije nego što odrežete kabel otpornika.

Druga taktika koja bi ovdje mogla biti korisna je da prvo pokosite krajeve žice, a zatim malo zalijepite lem na rupu na koju želite zalijepiti žicu. Sa strane lemilice zagrijte svoju mrlju lemljenja, a KLIZNJENIM pokositrenim krajem žice uvucite mrlju. Uklonite glačalo, pustite da se mrlja ohladi, a zatim pustite žicu.

Korak 3: Lemite PS/2 konektor - 1. dio

Lemite PS/2 konektor - 1. dio
Lemite PS/2 konektor - 1. dio

Ne postoji put kojim možete proći kroz numeriranje pinova PS/2 konektora koji ima bilo kakav smisao izvan konteksta poremećenih buncanja na sastanku odbora. Ne razmišljajte previše o PIN brojevima, samo pogledajte sliku.

Ovdje ćemo koristiti četiri pina i sve ih spojiti na Arduino. Uzemljenje će biti ožičeno na uzemljenje na Arduinu, VCC će biti ožičen na 5 V, a pinovi za podatke i sat će se prenijeti na dva Arduinova digitalna pina (3 i 4).

Korak 4: Lemite PS/2 konektor - 2. dio

Lemite PS/2 konektor - 2. dio
Lemite PS/2 konektor - 2. dio

Donji dio PS/2 konektora još je manje intuitivan od sheme numeriranja. Preporučujem da provjerite ovu sliku, ali i provjerite odgovaraju li iglice na dnu priključka numeriranim pinovima za koje mislite da rade prije nego što bilo što zalemite. Povezanost možete provjeriti običnim multimetrom tako da ga postavite za mjerenje otpora i povežete jednu sondu s iglom na dnu, a drugu zabodite u rupu. Ako uopće postoji otpor, tada je taj pin spojen na tu rupu.

Koristim zelenu žicu za pin sata, crvenu žicu za VCC, bijelu žicu za podatke i crnu žicu za uzemljenje.

Korak 5: Lemljenje zaglavlja iglica do potencijalnih klijenata

Lemljenje zaglavlja iglica do vodiča
Lemljenje zaglavlja iglica do vodiča

Nakon što spojite konektore, skinite ostale krajeve žica i lemite žice na zaglavlja pinova. To će vam omogućiti da ih jednostavno priključite na Arduino. Ako niste dobili zaglavlja iglica, možete pokušati pažljivo kositi žice kako bi bolje ostali u otvorima za iglice Arduino.

Priključio sam neke žice na zaglavlja pinova na pinovima 11 i 13 iPhone razvodne ploče. Crna žica je na uzemljenju (pin 11), a crvena žica na VCC (pin 13). Zatim sam lemio pin zaglavlja na izvode za dvije žice s razvodne ploče i četiri koje dolaze iz PS/2 konektora.

Korak 6: (Opcionalno) 9V kabelski svežanj

(Opcionalno) 9V kabelski svežanj
(Opcionalno) 9V kabelski svežanj

Koristim Arduino Diecimilu jer ovaj program ne zahtijeva bolji čip. To je prikazano s 9V baterijskim pojasom iz SparkFuna za prijenos.

Korak 7: Priključite PS/2 vodiče na Arduino

Priključite PS/2 vodiče na Arduino
Priključite PS/2 vodiče na Arduino

Zatim spojimo PS/2 konektor na Arduino. Spojite žicu sata na digitalni pin 3, podatkovnu žicu na digitalni pin 4 i spojite žicu uzemljenja na uzemljenje na Arduinu, a žicu VCC na pin 5V.

Korak 8: Priključite IPhone vodiče na Arduino

Priključite IPhone vodiče na Arduino
Priključite IPhone vodiče na Arduino

Da biste spojili prekid iPhonea, jednostavno spojite kabel s Pin 13 na TX pin na Arduinu (digitalni pin 1), a zatim spojite provodnik s Pin 11 na bilo koje dostupno uzemljenje na Arduinu.

VAŽNO: Da biste izbjegli probleme s bljeskanjem Arduina, odspojite TX pin na Arduinu prije bljeskanja. Više o ovome kasnije. Nakon toga završava se sve lemljenje. Sada je vrijeme da prijeđete na programiranje Arduina!

Korak 9: Arduino kod

Arduino kod
Arduino kod

Arduino softver bilježi podatke s tipkovnice, prevodi kodove skeniranja tipkovnice u kodove ključeva i upravlja pritiscima tipki shift i caps lock.

Prije svega, preuzmite i instalirajte razvojno okruženje Arduino odavde. Slijedite upute na web mjestu, ali svakako instalirajte odgovarajući upravljački program FTDI iz direktorija upravljačkih programa u instalaciji Arduino.

Zatim će vam trebati dodatna Arduino biblioteka za PS/2. Preuzmite datoteku “ps2.zip” s ove stranice. Da biste instalirali, raspakirajte preuzimanje u mapu i premjestite tu mapu u poddirektorij direktorija "hardver/knjižnice" u okviru vaše Arduino instalacije. Na OSX -u prvo možete otići na Arduino.app i "Prikazati sadržaj paketa".

Nakon što su Arduino i ps2 knjižnica instalirani, preuzmite izvorni kod odavde. Otvorite aplikaciju Arduino, izradite novi projekt i zalijepite izvorni kod u nju. Spremite, a zatim idite na Sketch-> Verify/Compile kako biste bili sigurni da se gradi. Ako se to ne dogodi, provjerite je li knjižnica ispravno instalirana.

S druge strane, zapravo nisam napisao apsolutno nikakav kod za ovaj projekt. Počeo sam pokušavati koristiti biblioteku PS2KeyboardExt2, ali ta se knjižnica temelji na prekidima i iako može raditi na Arduinu koji također govori serijski pri 9600 b / s, nakon što sam pokrenuo serijski broj do 19200 bps, prekidi su prestali raditi u stabilan način. Tako sam izvukao sav lijepi kôd iz PS2KeyboardExt2, uključujući ključne definicije i lijepo rukovanje pomacima i velikim zaključavanjem te ga preradio u program koji ne koristi prekide i koristi drugu, mnogo jednostavniju biblioteku PS/2. To ga čini sposobnim za pouzdano rukovanje serijskim protokolom od 19200 b / s.

Sada, programirajte Arduino!

Odspojite kabel koji ide na Pin 1 na Arduinu. Zatim povežite Arduino s računalom putem USB kabela. Možda ćete morati ponovno pokrenuti aplikaciju Arduino kako bi ispravno otkrila novi USB serijski uređaj. Učitajte spremljenu skicu s izvorom, a zatim pritisnite gumb Upload za programiranje Arduina.

Nakon što se program učita, priključite tipkovnicu u priključak PS/2. Trebali biste vidjeti kako svjetla bljeskaju. Serial Monitor možete otvoriti u aplikaciji Arduino i pokušati upisati neka slova na tipkovnici. Trebali biste vidjeti da se ta slova pojavljuju u serijskom monitoru. Pokušajte uključiti i isključiti Caps Lock, svjetlo na tipkovnici bi se trebalo paliti i gasiti, a znakovi bi trebali izlaziti ispravno velikim slovima.

Korak 10: IPhone klijentski program

Sada za postavljanje klijentskog programa iPhone.

Za klijentski kôd koristim program koji sam pronašao na stranici Google Code Anthony Pray. Ovaj program čita ulaz sa serijskog porta pri 19200 bps, a zatim ubrizgava odgovarajući događaj tipkovnice pomoću VNC klijentske knjižnice. Ovdje sam napravio zrcalo izvora samo za tekst, koje se može lako dohvatiti pomoću wget-a.

Budući da ćemo VNC unositi pritiske tipki, morat ćete i pokrenuti VNC poslužitelj na iPhoneu. Koristit ćemo Veency (koja je sjajna i svejedno biste je trebali instalirati).

Idite na Cydia ili Icy i instalirajte sljedeće pakete:

  • Veency - Pruža VNC poslužitelj, konfigurirajte ga za pokretanje pri pokretanju
  • LibVNCServer - Pruža libvncclient
  • iPhone 2.0 Toolchain - Pruža okruženje za izgradnju (gcc, libgcc, ldid, libz su potrebni ako idete drugim putem)
  • MobileTerminal - Dakle, možete pristupiti iPhone terminalu
  • wget - Tako možete povući izvornu datoteku

Sada za preuzimanje i izgradnju izvora. Otvorite MobileTerminal ili SSH u telefonu, a zatim učinite sljedeće:

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

Posljednji korak, koristeći ldid, lažno je potpisivanje binarnog fajla. Bez toga, iPhone OS odmah će ubiti vaš proces.

Da biste pokrenuli program, pokrenite ga s mobilnog terminala sa:

./TouchClient

To će uzrokovati da se Veency pojavi dijaloški okvir s pitanjem želite li prihvatiti VNC vezu. Pritisnite Prihvati.

Primijetio sam da pokretanje ovoga s MobileTerminala održava program u životu čak i kad napustite MobileTerminal, ali bilo bi bolje koristiti launchd. To još nisam shvatio.

Korak 11: Završni dodiri i budući rad

Da biste završili, ponovno spojite elektrodu s Pin 13 na iPhone -u na TX pin (pin 1) na Arduinu. Odspojite USB kabel i prebacite Arduino na vanjsko napajanje. Uključite proboj iPhonea u svoj iPhone.

Ako:

  • TouchClient radi na vašem iPhoneu
  • PS2 softver radi na vašem Arduinu
  • Tipkovnica je priključena u konektor, a konektor je ispravno ožičen na Arduino
  • Veency radi, a vi ste prihvatili vezu s TouchClientom
  • Ništa drugo nije zeznuto

Trebali biste moći tipkati na tipkovnici PS/2 i prevesti te pritiske na odgovarajuće pritiske tipki iPhone. To će raditi bilo gdje u iPhoneu, u bilo kojoj aplikaciji ili izvornoj značajci.

Ovo rješenje nije savršeno, ali je pristup opće namjene korištenju Arduina za dodavanje podrške za PS/2 tipkovnicu gotovo svemu što može čitati jednostavne serijske poruke.

Budući posao:

  • Preslikavanje koda za skeniranje moglo bi se u potpunosti premjestiti na iPhone, a hardverski dio ovog projekta mogao bi se ponovno implementirati na znatno jeftiniji i niži čip za potrošnju energije, poput PIC -a. To bi smanjilo troškove jedinice za oko 30 USD, iako bi za to bio potreban PIC programer.
  • Nisu svi posebni ključevi pravilno mapirani, ali ako pogledate Arduino kod, a zatim iPhone kod, vidjet ćete da je ovo nevjerojatno jednostavan proces. Molimo vas da ovdje objavite sve promjene koje napravite!
  • Umjesto da budem ludi žičani haker, volio bih da ovo stane u tijesno malo kućište za stvarnu prenosivost. Bilo koja ideja u ovom odjelu bila bi zahvalna.
  • Htio bih TouchClientu dati lozinku za Veency kako ne bi došlo do tako dosadnog skočnog prozora Prihvati/Odbij.
  • Ova bi se metoda mogla koristiti za dodavanje Bluetooth tipkovnice. Jednostavno dodajte Bluetooth-serijski modul u iPhone nastavak i nastavite koristiti TouchClient & Veency.

To je to. Nadam se da ste uživali u Instructable! Radujem se vašim komentarima. Pozdrav, - awgh

Preporučeni: