INHOUDSOPGAWE:

Hoe om 'n PS/2 -sleutelbord aan die iPhone te koppel: 11 stappe
Hoe om 'n PS/2 -sleutelbord aan die iPhone te koppel: 11 stappe

Video: Hoe om 'n PS/2 -sleutelbord aan die iPhone te koppel: 11 stappe

Video: Hoe om 'n PS/2 -sleutelbord aan die iPhone te koppel: 11 stappe
Video: Bizarre iPhone-truc: ‘Deze ken je echt niet’ 2024, Julie
Anonim
Hoe om 'n PS/2 -sleutelbord aan die iPhone te koppel
Hoe om 'n PS/2 -sleutelbord aan die iPhone te koppel
Hoe om 'n PS/2 -sleutelbord aan die iPhone te koppel
Hoe om 'n PS/2 -sleutelbord aan die iPhone te koppel
Hoe om 'n PS/2 -sleutelbord aan die iPhone te koppel
Hoe om 'n PS/2 -sleutelbord aan die iPhone te koppel

Alhoewel ek baie foto's van PS/2 -sleutelborde op iPhones op die internet gesien het, het niemand nog 'n gedetailleerde handleiding gepubliseer oor hoe u dit self kan laat werk nie. Tot nou toe, dit is.

In hierdie instruksies sal ek u wys hoe u 'n PS/2 -sleutelbord na die iPhone -omskakelaar kan maak, insluitend alle hardeware- en sagteware -instruksies.

Voorvereistes

  • Jailbroken iPhone - Die amptelike SDK gee nie toegang tot die seriële poort nie weens die Elf Conspiracy, dus is die jailbreak nodig. Al wat u moet weet oor jailbreaking is op die iPhone Dev Team Blog.
  • Arduino Diecimila of Dumilanove (of kloon), beskikbaar op baie plekke. In hierdie handleiding word veronderstel dat u Arduino saamgestel is.
  • 'N iPod breakout -bord, soos hierdie van Sparkfun. Enige soortgelyke produk sal werk.
  • 'N Vroulike PS/2 (Din 6) sleutelbordaansluiting. Trek een van 'n ou rekenaar af of koop een by Digikey of soortgelyke verskaffer.
  • Draad, verkieslik verskeie kleure en ongeveer 24 meter. Ek gebruik 'n spoel van RadioShack in die onderstaande foto's.
  • Een weerstand van 500k. Ek gebruik 'n aksiale deurgatweerstand van RadioShack, maar u kan dit ook by u Digikey-bestelling voeg.
  • Soldeerbout en soldeer. As u nie weet hoe om te soldeer nie, kan u hier en hier leer.
  • (Opsioneel) Speldopskrifte, soos hierdie. Ek breek dit af en soldeer dit aan die ente van die drade, sodat dit mooi by die Arduino aansluit.
  • (Opsioneel) Sweet 9v Battery harnas sodat u Arduino draagbaar kan word by die Maker Store.
  • (Opsioneel) Stereo -koptelefoonaansluiting van RadioShack of Digikey.

Stap 1: Soldeer die iPhone -uitbraak - Deel 1

Soldeer die iPhone -uitbraak - Deel 1
Soldeer die iPhone -uitbraak - Deel 1

Sodra al u bestanddele opgedaag het, vuur die soldeerbout aan en kyk vinnig na die iPod-aansluiting se pin-out.

Ons sal vier van hierdie penne vir die sleutelbord gebruik: 11, 13, 16 en 21. Die definisie van pen 21 sê dat ons 'n 500k -weerstand tussen pen 21 en grond moet plaas om seriële kommunikasie met die iPhone moontlik te maak. Ons steek 'n weerstand tussen pen 21 en pen 16, wat die seriële grond is. Ons gaan ook penkoppe by penne 11 en 13 voeg, wat sal dien as die TX- en RX -penne vir seriële kommunikasie. Aangesien ons SLEGS na die iPhone stuur, gebruik ons slegs die RX -pen van die iPhone, dus voeg ons ook 'n stuk draad by om pen 11, die ongebruikte TX -pen, direk aan die grond te steek by pen 16.

U kan ook die stero-koptelefoonaansluiting nou opsioneel by penne 2, 3 en 4 voeg, en dit sal werk wanneer die onderbreking aangesluit word. Dit het niks met die sleutelbord te doen nie, maar as u 'n 1G iPhone het met die lamme nie standaard koptelefoonaansluiting, dit sal dit regstel.

Stap 2: Soldeer die iPhone Breakout - Deel 2

Soldeer die iPhone -uitbraak - Deel 2
Soldeer die iPhone -uitbraak - Deel 2

Ek het die trui tussen pen 11 en pen 16 agter op die uitbreekbord gesit. Dit kan 'n bietjie lastig wees om alles op pen 16 te pas, dus ek beveel aan dat u eers die weerstand deur die gat steek, dan die punt van die jumperdraad om dit draai en dit aanmekaar soldeer voordat u die weerstandskabel afsny.

'N Ander taktiek wat hier van nut kan wees, is om eers die ente van jou draad vas te maak en dan 'n bietjie soldeer op die gaatjie te plak waaraan jy die draad wil plak. Gebruik die kant van die soldeerbout om u klodder soldeer warm te maak en die SKYFIE die blikkant van die draad in die blok. Verwyder die strykyster, laat die vlek afkoel en los dan die draad.

Stap 3: Soldeer die PS/2 -aansluiting - Deel 1

Soldeer die PS/2 -aansluiting - Deel 1
Soldeer die PS/2 -aansluiting - Deel 1

Daar is geen pad wat u kan volg deur die PIN -nommer van die PS/2 -aansluiting wat sinvol is buite die konteks van die versteurde rommel van 'n komiteevergadering nie. Moenie te hard nadink oor die speldnommers nie, kyk net na die prentjie.

Ons gebruik hier vier penne en verbind hulle almal met die Arduino. Grond sal op die Arduino aan die aarde gekoppel wees, VCC sal aan 5V gekoppel wees, en die data- en klokpenne word na twee van die Arduino se digitale penne (3 en 4) gebring.

Stap 4: Soldeer die PS/2 -aansluiting - Deel 2

Soldeer die PS/2 -aansluiting - Deel 2
Soldeer die PS/2 -aansluiting - Deel 2

Die onderkant van die PS/2 -aansluiting is selfs minder intuïtief as die nommerskema. Ek beveel aan dat u hierdie prent nagaan, maar ook om seker te maak dat die penne onderaan u aansluiting ooreenstem met die genommerde penne wat u dink hulle doen voordat u iets soldeer. U kan die verbinding met 'n gewone multimeter kontroleer deur dit in te stel om weerstand te meet en die een sonde aan die pen aan die onderkant te koppel en die ander in die gat te steek. As daar enige weerstand is, is die pen aan die gat gekoppel.

Ek gebruik die groen draad vir die klokpen, die rooi draad vir VCC, die wit draad vir data en die swart draad vir grond.

Stap 5: Kopers van soldeerspelde na leidings

Soldeerspeldopskrifte na leidrade
Soldeerspeldopskrifte na leidrade

Nadat u die verbindings opgedraai het, stroop u die ander ente van die drade en soldeer u die drade aan penkopstukke. Hiermee kan u hulle maklik by die Arduino aansluit. As u nie die penkoppe gekry het nie, kan u probeer om die drade versigtig vas te maak sodat hulle beter in die Arduino -pengate bly.

Ek het 'n paar drade aan die penkoppe op penne 11 en 13 van die iPhone -uitbreekbord vasgemaak. Die swart draad is na die grond (pen 11) en die rooi draad na die VCC (pen 13). Ek het toe penkoppe aan die leidings gesoldeer vir die twee drade van die uitbreekbord en die vier wat uit die PS/2 -aansluiting kom.

Stap 6: (opsioneel) 9V -batteryharnas

(Opsioneel) 9V Battery Harnas
(Opsioneel) 9V Battery Harnas

Ek gebruik 'n Arduino Diecimila, aangesien hierdie program nie 'n beter chip nodig het nie. Dit word getoon met 'n 9V -batteryharnas van SparkFun vir draagbaarheid.

Stap 7: Heg PS/2 -leidings aan op Arduino

Heg PS/2 -leidrade aan op Arduino
Heg PS/2 -leidrade aan op Arduino

Vervolgens koppel ons die PS/2 -aansluiting aan die Arduino. Koppel die klokdraad aan die digitale pen 3, die gegewensdraad aan die digitale pen 4 en koppel die gronddraad aan die grond op die Arduino en die VCC -draad aan die 5V -pen.

Stap 8: Koppel IPhone Leads aan Arduino

Koppel IPhone Leads aan Arduino
Koppel IPhone Leads aan Arduino

Om die iPhone -uitbraak aan te sluit, koppel eenvoudig die kabel van pen 13 aan die TX -pen op die Arduino (digitale pen 1) en koppel dan die kabel van pen 11 aan enige beskikbare grond op die Arduino.

BELANGRIK: Om probleme met die flits van die Arduino te vermy, moet u die TX -pen op die Arduino ontkoppel voordat dit flikker. Meer hieroor later. Daarna is al die soldeer klaar. Nou is dit tyd om verder te gaan met die programmering van die Arduino!

Stap 9: Die Arduino -kode

Die Arduino -kode
Die Arduino -kode

Die Arduino -sagteware skakel data uit die sleutelbord, vertaal die skanderingskodes van die sleutelbord na sleutelkodes en hanteer die druk van die shift- en caps lock -sleutels.

Laai eers die Arduino -ontwikkelingsomgewing af en installeer dit hier. Volg die aanwysings op die webwerf, maar installeer die toepaslike FTDI -bestuurder uit die bestuurdersgids in die Arduino -installasie.

Vervolgens benodig u 'n ekstra Arduino -biblioteek vir PS/2. Laai die lêer “ps2.zip” van hierdie bladsy af. Om dit te installeer, pak die aflaai na 'n gids uit en skuif die gids na 'n subgids van die "hardware/libraries" -gids onder u Arduino -installasie. Op OSX kan u eers na Arduino.app gaan en 'Pakketinhoud wys'.

Sodra Arduino en die ps2 -biblioteek geïnstalleer is, laai die bronkode hier af. Maak die Arduino -toepassing oop, skep 'n nuwe projek en plak die bronkode daarin. Stoor en gaan dan na Skets-> Verifieer/stel saam om seker te maak dat dit opbou. As dit nie die geval is nie, maak seker dat die biblioteek korrek geïnstalleer is.

Aan die ander kant, ek het eintlik geen kode vir hierdie projek geskryf nie. Ek het probeer om die PS2KeyboardExt2 -biblioteek te gebruik, maar die biblioteek is gebaseer op onderbrekings, en hoewel dit kan werk op 'n Arduino wat ook 'n reeks met 9600 bps spreek, het die onderbrekings opgehou werk in 'n stabiele manier. Dus het ek al die goeie kode uit PS2KeyboardExt2 verwyder, insluitend die belangrikste definisies en die goeie hantering van skofte en kapsluitings en dit herwerk tot 'n program wat nie onderbrekings gebruik nie en gebruik maak van 'n ander, baie eenvoudiger PS/2 -biblioteek. Dit maak dit in staat om die reeks van 19200 bps op 'n betroubare manier te hanteer.

Nou, om die Arduino te programmeer!

Ontkoppel die kabel na pen 1 op die Arduino. Koppel die Arduino dan via u USB -kabel aan u rekenaar. Miskien moet u die Arduino -program herlaai sodat dit die nuwe USB -reeksapparaat korrek kan opspoor. Laai die gestoorde skets met die bron en druk dan op die oplaai -knoppie om die Arduino te programmeer.

Sodra die program opgelaai is, koppel die sleutelbord aan die PS/2 -aansluiting. U moet die ligte sien flikker. U kan die Serial Monitor in die Arduino -toepassing oopmaak en 'n paar letters op die sleutelbord probeer tik. U moet sien dat die letters in die Serial Monitor verskyn. Probeer om die Caps Lock aan en uit te skakel; die lig op die sleutelbord moet aan en uit gaan en die karakters moet korrek met groot letters uitgaan.

Stap 10: Die IPhone -kliëntprogram

Nou om die iPhone -kliëntprogram op te stel.

Vir die kliëntkode gebruik ek 'n program wat ek op Anthony Pray se Google Code -bladsy gevind het. Hierdie program lees die invoer van die seriële poort teen 19200 bps en spuit dan die toepaslike sleutelbordgebeurtenis in met 'n VNC -kliëntbiblioteek. Ek het hier 'n plaaslike teks-spieël gemaak van die bron, wat maklik met wget gehaal kan word.

Aangesien ons deur VNC sleutelborde sal toedien, moet u ook 'n VNC -bediener op die iPhone gebruik. Ons gaan Veency gebruik (wat wonderlik is en u moet in elk geval installeer).

Gaan na Cydia of Icy en installeer die volgende pakkette:

  • Veency - Bied die VNC -bediener, stel dit op om by die aanvang te werk
  • LibVNCServer - Bied libvncclient
  • iPhone 2.0 Toolchain - Bied 'n bou -omgewing (gcc, libgcc, ldid, libz word vereis as u 'n ander pad volg)
  • MobileTerminal - U het dus toegang tot die iPhone -terminale
  • wget - sodat u die bronlêer kan aftrek

Nou om die bron af te laai en te bou. Maak MobileTerminal of SSH op u telefoon oop en doen dan die volgende:

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

Die laaste stap, met behulp van ldid, vervals die ondertekening van die binêre. Daarsonder sal die iPhone -bedryfstelsel u proses onmiddellik doodmaak.

Begin die program vanaf Mobile Terminal om die program te begin met:

./TouchClient

Dit sal veroorsaak dat Veency 'n dialoogvenster opduik waarin u vra of u die VNC -verbinding wil aanvaar. Klik op Aanvaar.

Ek het opgemerk dat dit deur die bestuur van MobileTerminal die program lewendig hou, selfs as u MobileTerminal verlaat, maar dit is beter om launchd te gebruik. Ek het dit nog nie eers agtergekom nie.

Stap 11: afwerking en toekomstige werk

Koppel die kabel van Pin 13 op die iPhone -uitbreek weer aan die TX -pen (pen 1) op die Arduino. Ontkoppel die USB -kabel en skakel die Arduino na eksterne krag. Koppel die iPhone -uitbraak aan u iPhone.

As:

  • TouchClient werk op u iPhone
  • Die PS2 -sagteware werk op u Arduino
  • Die sleutelbord is in die aansluiting gekoppel en die aansluiting is korrek aan die Arduino gekoppel
  • Veency loop en u het die verbinding van TouchClient aanvaar
  • Niks anders is deurmekaar nie

U moet op die PS/2 -sleutelbord kan tik en die toetsaanslagen kan laat vertaal na die toepaslike iPhone -toetsaanslagen. Dit werk oral op die iPhone, in enige app of inheemse funksie.

Hierdie oplossing is nie perfek nie, maar dit is 'n algemene benadering om die Arduino te gebruik om PS/2-sleutelbordondersteuning by te voeg tot byna alles wat eenvoudige reeksboodskappe kan lees.

Toekomstige werk:

  • Die kartering van die skandekode kan heeltemal na die iPhone verskuif word, en die hardeware -deel van hierdie projek kan herimplementeer word op 'n baie goedkoper en laer kragverbruikskyfie, soos 'n PIC. Dit sal die koste van die eenheid met ongeveer $ 30 verminder, hoewel dit 'n PIC -programmeerder benodig.
  • Nie alle spesiale sleutels is korrek gekarteer nie, maar as u na die Arduino -kode en dan na die iPhone -kode kyk, sal u sien dat dit 'n ongelooflike eenvoudige proses is. Plaas die veranderings wat u maak, hier as 'n opmerking!
  • In plaas daarvan om 'n gekke draadhack te wees, wil ek graag hê dat dit in 'n netjiese omhulsel pas vir werklike draagbaarheid. Enige idees in hierdie afdeling sal waardeer word.
  • Ek wil TouchClient 'n wagwoord vir Veency gee, sodat daar nie so 'n irriterende pop-up vir Aanvaar/Weier is nie.
  • Hierdie presiese metode kan gebruik word om 'n Bluetooth -sleutelbord by te voeg. Voeg eenvoudig 'n Bluetooth-reeksmodule by die iPhone-uitbraak en bly TouchClient & Veency gebruik.

Dis dit. Ek hoop jy het die Instructable geniet! Sien uit na u kommentaar. Groete, - awgh

Aanbeveel: