Përmbajtje:

Si të lidhni një tastierë PS/2 me iPhone: 11 hapa
Si të lidhni një tastierë PS/2 me iPhone: 11 hapa

Video: Si të lidhni një tastierë PS/2 me iPhone: 11 hapa

Video: Si të lidhni një tastierë PS/2 me iPhone: 11 hapa
Video: Si te gjejme vendodhjen nga iphoni , dedektiv i fshehte / technophonelushnje 2024, Nëntor
Anonim
Si të lidhni një tastierë PS/2 me iPhone
Si të lidhni një tastierë PS/2 me iPhone
Si të lidhni një tastierë PS/2 me iPhone
Si të lidhni një tastierë PS/2 me iPhone
Si të lidhni një tastierë PS/2 me iPhone
Si të lidhni një tastierë PS/2 me iPhone

Megjithëse kam parë shumë fotografi të tastierave PS/2 të lidhura me iPhone në internet, askush nuk ka publikuar ende një udhëzim të detajuar se si ta bëni këtë të funksionojë vetë. Deri tani, kjo është.

Në këtë Instructable unë do t'ju tregoj se si mund të bëni një tastierë PS/2 në iPhone, duke përfshirë të gjitha udhëzimet e harduerit dhe softuerit.

Parakushtet

  • IPhone i thyer - SDK zyrtare nuk lejon hyrje në portin serik për shkak të Komplotit të Kukudhëve, kështu që kërkohet jailbreak. E tëra çfarë ju duhet të dini për jailbreaking është në iPhone Dev Team Blog.
  • Arduino Diecimila ose Dumilanove (ose klon), në dispozicion nga shumë vende. Kjo mënyrë supozon që Arduino juaj është mbledhur.
  • Një bord i iPod Breakout, si ky nga Sparkfun. Çdo produkt i ngjashëm do të funksionojë.
  • Një lidhës i tastierës Femër PS/2 (Din 6). Hiqeni një kompjuter të vjetër ose blini një nga Digikey ose shitës të ngjashëm.
  • Tela, mundësisht disa ngjyra dhe rreth 24 matës. Unë jam duke përdorur një bobinë nga RadioShack në fotot më poshtë.
  • Një rezistencë 500k. Unë jam duke përdorur një rezistencë boshtore përmes RadioShack, por ju mund ta shtoni këtë edhe në porosinë tuaj Digikey.
  • Hekuri i saldimit dhe saldimi. Nëse nuk dini si të bashkoni, mund të mësoni këtu dhe këtu.
  • (Opsionale) Pin -titujt, si këto. I shkëput këto dhe i bashkoj në skajet e telave, në mënyrë që të futen bukur në Arduino.
  • (Opsionale) Pajisje e ëmbël 9v e baterisë në mënyrë që Arduino juaj të bëhet i lëvizshëm i disponueshëm nga Dyqani Maker.
  • (Opsionale) Foleja e kufjeve stereo nga RadioShack ose Digikey.

Hapi 1: Bashkoni IPhone Breakout - Pjesa 1

Ngjitni IPhone Breakout - Pjesa 1
Ngjitni IPhone Breakout - Pjesa 1

Pasi të mbërrijnë të gjithë përbërësit tuaj, ndizni hekurin për saldim dhe hidhini një vështrim të shpejtë Pin-Out të lidhësit iPod.

Ne do të përdorim katër prej këtyre kunjave për tastierën: 11, 13, 16 dhe 21. Përkufizimi i kunjit 21 thotë se duhet të vendosim një rezistencë 500k midis pin 21 dhe tokës për të mundësuar komunikimin serik me iPhone, kështu që ne do të ngjisim një rezistencë midis pin 21 dhe pin 16, e cila është toka serike. Ne gjithashtu do të shtojmë tituj pin në kunjat 11 dhe 13, të cilët do të veprojnë si kunjat TX dhe RX për komunikimet serike. Meqenëse do të dërgojmë VETLM në iPhone, ne përdorim vetëm kunjin RX të iPhone, kështu që ne gjithashtu do të shtojmë një copë teli për të lidhur pin 11, kunja e papërdorur TX, drejtpërdrejt në tokë në kunjin 16.

Ju gjithashtu mund të shtoni opsionalisht folenë e kufjeve stero në kunjat 2, 3 dhe 4 tani dhe do të funksionojë sa herë që priza të jetë e kyçur. Kjo nuk ka të bëjë me tastierën, por nëse keni një iPhone 1G me të çalët priza standarde e kufjeve, kjo do ta rregullojë atë.

Hapi 2: Bashkoni IPhone Breakout - Pjesa 2

Ngjitni IPhone Breakout - Pjesa 2
Ngjitni IPhone Breakout - Pjesa 2

Unë kam vendosur kërcyesin midis kunjit 11 dhe kunjit 16 në anën e pasme të tabelës së thyerjes. Mund të jetë pak e ndërlikuar të vendosni gjithçka në kunjin 16, kështu që unë rekomandoj që së pari të ngjitni rezistencën përmes vrimës, pastaj të mbështillni fundin e telit të kërcyesit rreth tij dhe t'i bashkoni ato para se të shkëputni plumbin e rezistencës.

Një taktikë tjetër e cila mund të jetë e dobishme këtu është së pari të lyeni skajet e telit tuaj, pastaj të lyeni me pak saldim në vrimën ku dëshironi të ngjitni tela. Përdorni anën e hekurit për saldim për të ngrohur copën tuaj të saldimit dhe rrëshqiteni fundin e lyer të telit në copë. Hiqeni hekurin, lëreni blobën të ftohet, pastaj lëreni telin.

Hapi 3: Lidhni lidhësin PS/2 - Pjesa 1

Bashkoni lidhësin PS/2 - Pjesa 1
Bashkoni lidhësin PS/2 - Pjesa 1

Nuk ka asnjë rrugë që mund të merrni përmes numërimit të kunjave të lidhësit PS/2 që ka ndonjë kuptim jashtë kontekstit të zhurmave të çrregullta të një takimi të komitetit. Mos mendoni shumë për numrat e kunjave, thjesht shikoni foton.

Ne do të përdorim katër kunja këtu dhe do t'i lidhim të gjitha me Arduino. Ground do të lidhet me Ground në Arduino, VCC do të lidhet me 5V, dhe kunjat e të dhënave dhe orës do të sillen në dy nga kunjat dixhitale të Arduino (3 dhe 4).

Hapi 4: Bashkoni lidhësin PS/2 - Pjesa 2

Bashkoni lidhësin PS/2 - Pjesa 2
Bashkoni lidhësin PS/2 - Pjesa 2

Fundi i lidhësit PS/2 është edhe më pak intuitiv sesa skema e numërimit. Unë rekomandoj që të kontrolloni këtë fotografi, por gjithashtu të verifikoni që kunjat në pjesën e poshtme të lidhësit tuaj përputhen me kunjat e numëruara që mendoni se bëjnë para se të bashkoni ndonjë gjë. Mund të kontrolloni lidhshmërinë me një multimetër të rregullt duke e vendosur atë për të matur rezistencën dhe duke lidhur njërën sondë me kunjin në pjesën e poshtme dhe duke e ngjitur tjetrën në vrimë. Nëse ka ndonjë rezistencë fare, atëherë ajo kunj është i lidhur me atë vrimë.

Unë po përdor tela jeshile për kunjin e orës, tela të kuqe për VCC, tela të bardhë për të dhënat dhe tela të zezë për tokëzim.

Hapi 5: Solder Pin Headers to Leads

Solder Pin Headers to Leads
Solder Pin Headers to Leads

Pasi të keni lidhur lidhësit, hiqni skajet e tjera të telave dhe ngjitni prizat në titujt e pinit. Kjo do t'ju lejojë t'i lidhni me lehtësi në Arduino. Nëse nuk keni marrë titujt e kunjave, mund të provoni të lyeni me kujdes telat për t'i bërë ato të qëndrojnë më mirë në vrimat e kunjave Arduino.

Unë bashkova disa tela në titujt e kunjave në kunjat 11 dhe 13 të bordit të daljes së iPhone. Teli i Zi është në Tokëz (pin 11) dhe tela i Kuq është në VCC (pin 13). Unë pastaj kam bashkuar titujt e kunjave në prizat për dy telat nga bordi i prishjes dhe katër që vijnë nga lidhësi PS/2.

Hapi 6: (Opsionale) Shiriti i baterisë 9V

(Opsionale) Rrip i baterisë 9V
(Opsionale) Rrip i baterisë 9V

Unë jam duke përdorur një Arduino Diecimila, pasi ky program nuk kërkon një çip më të mirë. Kjo tregohet me një parzmore të baterisë 9V nga SparkFun për transportueshmëri.

Hapi 7: Bashkëngjitni PS/2 Leads në Arduino

Bashkangjit PS/2 Leads në Arduino
Bashkangjit PS/2 Leads në Arduino

Tjetra, ne lidhim lidhësin PS/2 me Arduino. Lidhni tela Clock me Pin Digital 3, tela Data në Digital Pin 4 dhe lidhni tela Ground me Ground në Arduino dhe tela VCC me pin 5V.

Hapi 8: Bashkëngjitni lidhjet e iPhone në Arduino

Bashkangjit udhëzuesit e iPhone në Arduino
Bashkangjit udhëzuesit e iPhone në Arduino

Për të lidhur prishjen e iPhone, thjesht lidhni prizën nga Pin 13 në Pin TX në Arduino (Pin dixhital 1) dhe më pas lidhni lidhësin nga Pin 11 në çdo Ground të disponueshëm në Arduino.

E RORTNDSISHME: Për të shmangur telashet me ndezjen e Arduino, ju lutemi shkëputni kunjin TX në Arduino para ndezjes. Më shumë për këtë më vonë. Pas kësaj, e gjithë bashkimi është bërë. Tani është koha për të kaluar në programimin e Arduino!

Hapi 9: Kodi Arduino

Kodi Arduino
Kodi Arduino

Softueri Arduino nxjerr të dhënat jashtë tastierës, përkthen kodet e skanimit të tastierës në kodet kryesore dhe trajton shtypjet e tastit të ndërrimit dhe mbylljes së kapakut.

Së pari, shkarkoni dhe instaloni mjedisin e zhvillimit Arduino nga këtu. Ndiqni udhëzimet në sit, por sigurohuni që të instaloni drejtuesin e duhur FTDI nga drejtoria e drejtuesve në instalimin Arduino.

Tjetra, do t'ju duhet një bibliotekë shtesë Arduino për PS/2. Shkarkoni skedarin "ps2.zip" nga kjo faqe. Për ta instaluar, zbërtheni shkarkimin në një dosje dhe zhvendoseni atë në një nën -drejtori të drejtorisë së "pajisjeve/bibliotekave" nën instalimin tuaj Arduino. Në OSX, mund të shkoni në Arduino.app dhe "Shfaqni Përmbajtjen e Pakos" së pari.

Pasi të jetë instaluar Arduino dhe biblioteka ps2, shkarkoni kodin burimor nga këtu. Hapni aplikacionin Arduino, krijoni një projekt të ri dhe ngjisni kodin burimor në të. Ruani, dhe më pas shkoni te Sketch-> Verify/Compile për t'u siguruar që është ndërtuar. Nëse jo, sigurohuni që biblioteka të jetë instaluar saktë.

Në një shënim anësor, unë në të vërtetë nuk kam shkruar absolutisht asnjë kod për këtë projekt. Fillova të përpiqem të përdor bibliotekën PS2KeyboardExt2, por ajo bibliotekë bazohet në ndërprerje dhe ndërkohë që mund të funksionojë në një Arduino që po flet serial edhe në 9600 bps, sapo e shtyva serialin deri në 19200 bps, ndërprerjet ndaluan së punuari në një mënyrë e qëndrueshme. Kështu që hodha të gjithë kodin e bukur nga PS2KeyboardExt2, duke përfshirë përkufizimet kryesore dhe trajtimin e mirë të ndërrimeve dhe mbylljes së kapakëve dhe e ripunova në një program që nuk përdor ndërprerje dhe përdor një bibliotekë të ndryshme, shumë më të thjeshtë PS/2 Me Kjo e bën atë të aftë të trajtojë serialin 19200 bps në një mënyrë të besueshme.

Tani, për të programuar Arduino!

Shkëputeni prizën që shkon te Pin 1 në Arduino. Pastaj, lidhni Arduino me kompjuterin tuaj përmes kabllit USB. Ju mund të keni nevojë të rinisni aplikacionin Arduino në mënyrë që të zbulojë pajisjen e re serike USB në mënyrë korrekte. Ngarko skicën e ruajtur me burimin, dhe më pas godit butonin Upload për të programuar Arduino.

Pasi programi të jetë ngarkuar, futeni tastierën në lidhësin PS/2. Duhet të shihni që dritat ndizen. Mund të hapni Monitorin Serial në aplikacionin Arduino dhe të provoni të shtypni disa shkronja në tastierë. Ju duhet t'i shihni ato shkronja të shfaqen në Monitor Serial. Provoni të ndizni dhe fikni Caps Lock, drita në tastierë duhet të ndizet dhe fiket dhe personazhet duhet të dalin me shkronja të mëdha.

Hapi 10: Programi i Klientit IPhone

Tani për të konfiguruar programin e klientit iPhone.

Për kodin e klientit, unë jam duke përdorur një program që kam gjetur në faqen e Kodit Google të Anthony Pray. Ky program lexon hyrjen nga porti serik në 19200 bps dhe pastaj injekton ngjarjen e duhur të tastierës duke përdorur një bibliotekë të klientit VNC. Unë kam bërë një pasqyrë lokale të tekstit të burimit këtu, i cili mund të merret lehtësisht me wget.

Meqenëse ne do të injektojmë shtypjet e tastit nga VNC, do t'ju duhet gjithashtu të përdorni një server VNC në iPhone. Ne do të përdorim Veency (e cila është e mrekullueshme dhe ju duhet ta instaloni gjithsesi).

Shkoni te Cydia ose Icy dhe instaloni paketat e mëposhtme:

  • Veency - Siguron serverin VNC, konfiguroni që të funksionojë gjatë fillimit
  • LibVNCServer - Ofron libvncclient
  • Zinxhiri i veglave iPhone 2.0 - Siguron një mjedis ndërtimi (gcc, libgcc, ldid, libz kërkohen nëse shkoni në një rrugë tjetër)
  • MobileTerminal - Kështu që ju mund të hyni në terminalin iPhone
  • wget - Kështu që ju mund të tërhiqni skedarin burimor

Tani për të shkarkuar dhe ndërtuar burimin. Ose hapni MobileTerminal ose SSH në telefonin tuaj, dhe më pas bëni sa më poshtë:

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

Hapi i fundit, duke përdorur ldid, falsifikon nënshkrimin e binarit. Pa të, sistemi operativ iPhone do ta vrasë procesin tuaj menjëherë.

Për të filluar programin, drejtojeni atë nga Terminali celular me:

./TouchClient

Kjo do të bëjë që Veency të shfaqë një dialog duke pyetur nëse doni të pranoni lidhjen VNC. Goditi Prano.

Kam vënë re se drejtimi i kësaj nga MobileTerminal e mban gjallë programin edhe kur largoheni nga MobileTerminal, por do të ishte më mirë të përdorni nisjen. Nuk e kam kuptuar akoma.

Hapi 11: Përfundimi i prekjeve dhe puna në të ardhmen

Për të përfunduar, rilidhni epërsinë nga Pin 13 në daljen e iPhone në pin TX (pin 1) në Arduino. Shkëputeni kabllon USB dhe kaloni Arduino në energji të jashtme. Lidhni daljen e iPhone në iPhone tuaj.

Nëse:

  • TouchClient po funksionon në iPhone tuaj
  • Softueri PS2 po funksionon në Arduino tuaj
  • Tastiera është e kyçur në lidhës dhe lidhësi është lidhur me Arduino në mënyrë korrekte
  • Veency po funksionon dhe ju keni pranuar lidhjen nga TouchClient
  • Asgje tjeter nuk shtrengohet

Ju duhet të jeni në gjendje të shtypni në tastierën PS/2 dhe t'i bëni ato shtypje të tastit të shtypura në tastet e duhura të iPhone. Kjo do të funksionojë kudo në iPhone, në çdo aplikacion ose veçori amtare.

Kjo zgjidhje nuk është e përsosur, por është një qasje me qëllime të përgjithshme për të përdorur Arduino për të shtuar mbështetjen e tastierës PS/2 në pothuajse çdo gjë që mund të lexojë mesazhe të thjeshta serike.

Puna e ardhshme:

  • Hartimi i kodit të skanimit mund të zhvendoset tërësisht në iPhone, dhe pjesa harduerike e këtij projekti mund të ri -zbatohet në një çip shumë më të lirë dhe më të ulët të konsumit të energjisë, si një PIC. Kjo do të zvogëlonte koston e njësisë me rreth 30 dollarë, megjithëse do të kërkonte një programues PIC.
  • Jo të gjithë çelësat e veçantë janë të hartuar saktë, por nëse shikoni kodin Arduino dhe pastaj kodin iPhone, do të shihni se ky është një proces tepër i thjeshtë. Ju lutemi postoni çdo ndryshim që bëni këtu si koment!
  • Në vend që të jem një goditje e çmendur me tela, do të doja ta shihja këtë të përshtatet në një rrethim të vogël të ngushtë për transportueshmëri të vërtetë. Çdo ide në këtë departament do të vlerësohej.
  • Unë do të doja t'i jepja TouchClient një fjalëkalim për Veency, në mënyrë që të mos ketë një pop-up të bezdisshëm Prano/Refuzo.
  • Kjo metodë e saktë mund të përdoret për të shtuar një tastierë Bluetooth. Thjesht shtoni një modul Bluetooth-Serial në daljen e iPhone dhe vazhdoni të përdorni TouchClient & Veency.

Kjo eshte. Shpresoj se ju ka pëlqyer Instructable! Presim komentet tuaja. Për sa i përket, - awgh

Recommended: