Obsah:

Jak připojit klávesnici PS/2 k iPhonu: 11 kroků
Jak připojit klávesnici PS/2 k iPhonu: 11 kroků

Video: Jak připojit klávesnici PS/2 k iPhonu: 11 kroků

Video: Jak připojit klávesnici PS/2 k iPhonu: 11 kroků
Video: Jak hrát POMOCÍ OVLADAČE HRY na iPhonu | Návod | iPhone 2024, Listopad
Anonim
Jak připojit klávesnici PS/2 k iPhone
Jak připojit klávesnici PS/2 k iPhone
Jak připojit klávesnici PS/2 k iPhone
Jak připojit klávesnici PS/2 k iPhone
Jak připojit klávesnici PS/2 k iPhone
Jak připojit klávesnici PS/2 k iPhone

Přestože jsem na internetu viděl mnoho obrázků klávesnic PS/2 zapojených do iPhonů, nikdo dosud nezveřejnil podrobný postup, jak to sami zajistit. Až dosud, to je.

V tomto Instructable vám ukážu, jak si můžete vytvořit převodník PS/2 klávesnice na iPhone, včetně všech hardwarových a softwarových pokynů.

Předpoklady

  • Jailbroken iPhone - oficiální SDK neumožňuje přístup k sériovému portu kvůli Elf Conspiracy, takže je vyžadován útěk z vězení. Vše, co potřebujete vědět o útěku z vězení, je na blogu iPhone Dev Team.
  • Arduino Diecimila nebo Dumilanove (nebo klon), dostupné z mnoha míst. Tento návod předpokládá, že je vaše Arduino sestaveno.
  • Deska pro iPod Breakout, jako je tato od Sparkfun. Jakýkoli podobný produkt bude fungovat.
  • Konektor klávesnice PS/2 (Din 6). Stáhněte jeden ze starého počítače nebo si jej kupte od Digikey nebo podobného prodejce.
  • Drát, nejlépe několik barev a asi 24 měřidel. Na obrázcích níže používám cívku od RadioShack.
  • Jeden odpor 500k. Používám axiální průchozí odpor z RadioShacku, ale můžete to přidat také do své objednávky Digikey.
  • Páječka a pájka. Pokud nevíte, jak pájet, můžete se naučit zde a zde.
  • (Volitelné) Záhlaví pinů, jako jsou tyto. Odlomím je a připájím na konce vodičů, aby se pěkně zapojily do Arduina.
  • (Volitelné) Sladký 9v bateriový svazek, takže vaše Arduino bude přenosné dostupné v Maker Store.
  • (Volitelné) Stereo konektor pro sluchátka od RadioShack nebo Digikey.

Krok 1: Pájejte iPhone Breakout - část 1

Pájejte iPhone Breakout - část 1
Pájejte iPhone Breakout - část 1

Jakmile dorazí všechny vaše ingredience, zapalte páječku a rychle se podívejte na Pin-Out konektoru pro iPod.

Pro klávesnici použijeme čtyři z těchto pinů: 11, 13, 16 a 21. Definice pinu 21 říká, že mezi pin 21 a uzemnění musíme umístit odpor 500k, aby byla umožněna sériová komunikace s iPhone, takže vložíme odpor mezi kolíky 21 a 16, což je sériové uzemnění. Rovněž přidáme záhlaví pinů na piny 11 a 13, které budou fungovat jako piny TX a RX pro sériovou komunikaci. Protože budeme POUZE odesílat na iPhone, používáme pouze pin RX pro iPhone, takže přidáme také kus drátu pro připojení kolíku 11, nepoužitého kolíku TX, přímo k zemi na kolíku 16.

Můžete také volitelně přidat konektor stereofonního sluchátka na piny 2, 3 a 4 právě teď a bude fungovat, kdykoli bude zapojen breakout. To nemá nic společného s klávesnicí, ale pokud máte iPhone 1G s chromovaným standardní konektor pro sluchátka, tím se to vyřeší.

Krok 2: Pájejte iPhone Breakout - část 2

Pájejte iPhone Breakout - část 2
Pájejte iPhone Breakout - část 2

Umístil jsem propojku mezi kolíky 11 a kolíkem 16 na zadní straně odpočinkové desky. Může být trochu ošemetné, aby se vše vešlo na kolík 16, takže doporučuji nejprve protáhnout odpor otvorem, pak omotat konec propojovacího vodiče a pájet je dohromady, než odříznete vodič rezistoru.

Další taktika, která zde může být užitečná, je nejprve pocínovat konce drátu a poté trochu pájet do otvoru, do kterého chcete drát přilepit. Pomocí strany páječky zahřejte kapku pájky a POSUŇTE pocínovaný konec drátu do kuličky. Vyjměte žehličku, nechejte kapku vychladnout a poté uvolněte drát.

Krok 3: Pájejte konektor PS/2 - část 1

Pájejte konektor PS/2 - část 1
Pájejte konektor PS/2 - část 1

Neexistuje žádná cesta, kterou byste mohli projít číslováním pinů PS/2 konektoru, což by dávalo jakýkoli smysl mimo kontext vyšinutých táranin schůze výboru. O číslech pinů příliš nepřemýšlejte, stačí se podívat na obrázek.

Zde použijeme čtyři piny a všechny připojíme k Arduinu. Uzemnění bude připojeno k zemi na Arduinu, VCC bude připojeno k 5V a piny dat a hodin budou převedeny na dva digitální piny Arduina (3 a 4).

Krok 4: Zapájejte konektor PS/2 - část 2

Pájejte konektor PS/2 - část 2
Pájejte konektor PS/2 - část 2

Spodní část konektoru PS/2 je ještě méně intuitivní než schéma číslování. Před pájením čehokoli doporučuji zkontrolovat tento obrázek, ale také ověřit, zda se kolíky ve spodní části konektoru shodují s očíslovanými piny, o kterých si myslíte, že ano. Konektivitu můžete zkontrolovat pomocí běžného multimetru tak, že jej nastavíte na měření odporu a připojíte jednu sondu ke kolíku na spodní straně a druhou zasunete do otvoru. Pokud existuje vůbec nějaký odpor, pak je tento kolík připojen k tomuto otvoru.

Používám zelený vodič pro hodinový kolík, červený vodič pro VCC, bílý vodič pro data a černý vodič pro uzemnění.

Krok 5: Pájecí hlavičky připájejte k vývodům

Pájecí kolíky k vývodům
Pájecí kolíky k vývodům

Jakmile máte konektory zapojené, odizolujte ostatní konce vodičů a připájejte vodiče ke konektorům. To vám umožní je snadno připojit k Arduinu. Pokud jste nezískali záhlaví pinů, můžete zkusit dráty opatrně pocínovat, aby lépe zůstaly v otvorech pro kolíky Arduino.

Připojil jsem několik vodičů ke konektorům pinů na pinech 11 a 13 desky pro odpojení zařízení iPhone. Černý vodič je uzemněn (kolík 11) a červený vodič je připojen k VCC (kolík 13). Poté jsem připájel záhlaví kolíků ke svodům pro dva vodiče z odpojovací desky a čtyři vycházející z konektoru PS/2.

Krok 6: (Volitelné) 9V svazek baterií

(Volitelné) 9V bateriový svazek
(Volitelné) 9V bateriový svazek

Používám Arduino Diecimila, protože tento program nevyžaduje lepší čip. To je ukázáno na 9V bateriovém svazku od SparkFun pro přenositelnost.

Krok 7: Připojte svody PS/2 k Arduinu

Připojte vodiče PS/2 k Arduinu
Připojte vodiče PS/2 k Arduinu

Dále připojíme konektor PS/2 k Arduinu. Připojte hodinový vodič k digitálnímu pinu 3, datový vodič k digitálnímu pinu 4 a připojte uzemňovací vodič k uzemnění na Arduinu a vodič VCC ke kolíku 5V.

Krok 8: Připojte vodiče IPhone k Arduinu

Připojte vodiče iPhone k Arduinu
Připojte vodiče iPhone k Arduinu

Chcete -li připojit iPhone Breakout, jednoduše připojte kabel z Pin 13 k TX Pin na Arduinu (Digital Pin 1) a poté připojte kabel od Pin 11 k jakémukoli dostupnému uzemnění na Arduinu.

DŮLEŽITÉ: Abyste se vyhnuli problémům s blikáním Arduina, odpojte před blikáním TX Pin na Arduinu. Více o tom později. Poté je veškeré pájení hotové. Nyní je čas přejít k programování Arduina!

Krok 9: Arduino kód

Kód Arduino
Kód Arduino

Software Arduino vytváří data z klávesnice, převádí skenovací kódy klávesnice na kódy klíčů a zvládá stisknutí kláves Shift a Caps Lock.

Nejprve si odtud stáhněte a nainstalujte vývojové prostředí Arduino. Postupujte podle pokynů na webu, ale nezapomeňte nainstalovat příslušný ovladač FTDI z adresáře ovladačů v instalaci Arduino.

Dále budete potřebovat další knihovnu Arduino pro PS/2. Stáhněte si soubor „ps2.zip“z této stránky. Chcete -li nainstalovat, rozbalte stahování do složky a přesuňte tuto složku jako podadresář adresáře „hardware/knihovny“pod vaší instalací Arduino. Na OSX můžete nejprve přejít na Arduino.app a „Zobrazit obsah balíčku“.

Jakmile je nainstalován Arduino a knihovna ps2, stáhněte si zde zdrojový kód. Otevřete aplikaci Arduino, vytvořte nový projekt a vložte do něj zdrojový kód. Uložte a poté přejděte na Sketch-> Verify/Compile, abyste se ujistili, že se vytvoří. Pokud tomu tak není, zkontrolujte, zda je knihovna správně nainstalována.

Na okraj, ve skutečnosti jsem pro tento projekt nenapsal absolutně žádný kód. Začal jsem se pokoušet použít knihovnu PS2KeyboardExt2, ale tato knihovna je založena na přerušeních a přestože může běžet na Arduinu, který také mluví sériově při 9600 bps, jakmile jsem natočil sériovou frekvenci až 19200 bps, přerušení přestalo fungovat stabilní způsob. Tak jsem z PS2KeyboardExt2 vytrhl všechen pěkný kód, včetně klíčových definic a pěkného ovládání směn a caps lock a přepracoval jsem ho do programu, který nepoužívá přerušení a využívá jinou, mnohem jednodušší knihovnu PS/2. Díky tomu je schopen spolehlivě zpracovat sériové číslo 19200 bps.

Nyní naprogramujte Arduino!

Odpojte kabel na Pin 1 na Arduinu. Poté připojte Arduino k počítači pomocí kabelu USB. Možná budete muset restartovat aplikaci Arduino, aby správně detekovala nové USB sériové zařízení. Načtěte uloženou skicu se zdrojem a poté stiskněte tlačítko Nahrát pro naprogramování Arduina.

Jakmile je program nahrán, zapojte klávesnici do konektoru PS/2. Měli byste vidět světla blikat. Sériový monitor můžete otevřít v aplikaci Arduino a zkusit na klávesnici zadat některá písmena. Tato písmena byste měli vidět na sériovém monitoru. Zkuste zapnout a vypnout Caps Lock, kontrolka na klávesnici by se měla rozsvítit a zhasnout a znaky by měly vyjít správně s velkými písmeny.

Krok 10: IPhone Client Program

Nyní nastavte klientský program pro iPhone.

Pro klientský kód používám program, který jsem našel na stránce Google Code Anthonyho Praye. Tento program čte vstup ze sériového portu rychlostí 19 200 bps a poté pomocí knihovny klientů VNC injektuje příslušnou událost klávesnice. Zde jsem vytvořil místní zrcadlo zdroje pouze pro text, které lze snadno načíst pomocí wget.

Vzhledem k tomu, že budeme vkládat stisknutí kláves pomocí VNC, budete muset na iPhonu také spustit server VNC. Použijeme Veency (což je úžasné a stejně byste to měli nainstalovat).

Přejděte na Cydia nebo Icy a nainstalujte si následující balíčky:

  • Veency - Poskytuje server VNC, nakonfigurujte jej tak, aby běžel při spuštění
  • LibVNCServer - Poskytuje libvncclient
  • iPhone 2.0 Toolchain - Poskytuje prostředí pro sestavení (gcc, libgcc, ldid, libz jsou vyžadovány, pokud se vydáte jinou cestou)
  • MobileTerminal - Takže máte přístup k terminálu pro iPhone
  • wget - Můžete tedy stáhnout zdrojový soubor

Nyní ke stažení a vytvoření zdroje. Otevřete v telefonu buď MobileTerminal nebo SSH a proveďte následující:

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

Poslední krok pomocí ldid předstírá podpis binárního souboru. Bez toho iPhone OS váš proces okamžitě zabije.

Program spustíte spuštěním z mobilního terminálu pomocí:

./TouchClient

To způsobí, že Veency vyskočí dialogové okno s dotazem, zda chcete přijmout připojení VNC. Stiskněte Přijmout.

Všiml jsem si, že spuštění tohoto programu z MobileTerminal udržuje program naživu, i když opustíte MobileTerminal, ale bylo by lepší použít launchd. Zatím jsem na to nepřišel.

Krok 11: Dokončení dotyků a budoucí práce

Abyste skončili, znovu připojte vývod z Pin 13 na iPhone breakout na TX pin (pin 1) na Arduinu. Odpojte kabel USB a přepněte Arduino na externí napájení. Připojte iPhone Breakout k vašemu iPhone.

Li:

  • Na vašem iPhone běží TouchClient
  • Na vašem Arduinu běží software PS2
  • Klávesnice je zapojena do konektoru a konektor je správně připojen k Arduinu
  • Veency běží a vy jste přijali připojení od TouchClient
  • Nic jiného není pokazeno

Měli byste být schopni psát na klávesnici PS/2 a nechat si tyto úhozy přeložit na příslušné úhozy na iPhone. To bude fungovat kdekoli v iPhone, v jakékoli aplikaci nebo nativní funkci.

Toto řešení není dokonalé, ale je to obecný přístup k používání Arduina k přidání podpory klávesnice PS/2 téměř ke všemu, co dokáže číst jednoduché sériové zprávy.

Budoucí práce:

  • Mapování skenovacího kódu bylo možné zcela přesunout do iPhonu a hardwarovou část tohoto projektu bylo možné znovu implementovat na mnohem levnějším čipu s nižší spotřebou energie, jako je PIC. To by snížilo náklady na jednotku asi o 30 dolarů, i když by to vyžadovalo programátor PIC.
  • Ne všechny speciální klíče jsou správně namapovány, ale když se podíváte do kódu Arduina a poté do kódu pro iPhone, uvidíte, že je to neuvěřitelně jednoduchý proces. Jakékoli změny, které provedete, sem prosím odešlete zpět jako komentář!
  • Spíše než být bláznivým drátěným hackerem bych chtěl vidět, jak se to vejde do útulného malého prostoru pro skutečnou přenositelnost. Jakékoli nápady v tomto oddělení by byly oceněny.
  • Chtěl bych dát TouchClient heslo pro Veency, aby tam nebylo tak otravné vyskakovací okno Accept/Decline.
  • Tuto přesnou metodu lze použít k přidání klávesnice Bluetooth. Jednoduše přidejte modul Bluetooth do sériového rozhraní iPhone a pokračujte v používání TouchClient & Veency.

A je to. Doufám, že se vám Instructable líbil! Těšíme se na vaše komentáře. S pozdravem - awgh

Doporučuje: