Spisu treści:

Jak podłączyć klawiaturę PS/2 do iPhone'a: 11 kroków
Jak podłączyć klawiaturę PS/2 do iPhone'a: 11 kroków

Wideo: Jak podłączyć klawiaturę PS/2 do iPhone'a: 11 kroków

Wideo: Jak podłączyć klawiaturę PS/2 do iPhone'a: 11 kroków
Wideo: GŁUPIA SPRAWA ALE....#shorts 2024, Grudzień
Anonim
Jak podłączyć klawiaturę PS/2 do iPhone'a?
Jak podłączyć klawiaturę PS/2 do iPhone'a?
Jak podłączyć klawiaturę PS/2 do iPhone'a?
Jak podłączyć klawiaturę PS/2 do iPhone'a?
Jak podłączyć klawiaturę PS/2 do iPhone'a?
Jak podłączyć klawiaturę PS/2 do iPhone'a?

Chociaż widziałem w Internecie wiele zdjęć klawiatur PS/2 podłączonych do iPhone'ów, nikt jeszcze nie opublikował szczegółowego poradnika, jak to zrobić samemu. To znaczy do tej pory.

W tej instrukcji pokażę, jak zrobić konwerter klawiatury PS/2 na iPhone'a, w tym wszystkie instrukcje dotyczące sprzętu i oprogramowania.

Warunki wstępne

  • Jailbreak iPhone – Oficjalny pakiet SDK nie pozwala na dostęp do portu szeregowego z powodu spisku Elfów, więc wymagany jest jailbreak. Wszystko, co musisz wiedzieć o jailbreakingu, znajdziesz na blogu iPhone Dev Team Blog.
  • Arduino Diecimila lub Dumilanove (lub klon), dostępne z wielu miejsc. To howto zakłada, że Twoje Arduino jest zmontowane.
  • Płyta Breakout do iPoda, taka jak ta od Sparkfun. Każdy podobny produkt będzie działał.
  • Złącze klawiatury żeńskiej PS/2 (Din 6). Wyciągnij jeden ze starego komputera lub kup od Digikey lub podobnego sprzedawcy.
  • Drut, najlepiej kilka kolorów i grubości około 24. Używam szpuli z RadioShack na poniższych zdjęciach.
  • Jeden rezystor 500k. Używam osiowego rezystora przewlekanego firmy RadioShack, ale możesz go również dodać do zamówienia Digikey.
  • Lutownica i lut. Jeśli nie wiesz, jak lutować, możesz dowiedzieć się tutaj i tutaj.
  • (Opcjonalnie) Nagłówki pinów, takie jak te. Odrywam je i lutuję do końcówek przewodów, aby ładnie się wpięły w Arduino.
  • (Opcjonalnie) Wiązka baterii Sweet 9v, dzięki której Arduino staje się przenośne, dostępne w sklepie Maker.
  • (Opcjonalnie) Gniazdo słuchawkowe stereo firmy RadioShack lub Digikey.

Krok 1: Przylutuj IPhone Breakout - część 1

Lutowanie iPhone'a Breakout - część 1
Lutowanie iPhone'a Breakout - część 1

Po dostarczeniu wszystkich składników odpal lutownicę i rzuć okiem na złącze pinowe iPoda.

Będziemy używać czterech z tych pinów klawiatury: 11, 13, 16 i 21. Definicja pinu 21 mówi, że musimy umieścić rezystor 500k między pinem 21 a uziemieniem, aby umożliwić komunikację szeregową z iPhonem, więc zamierzamy włożyć rezystor między pin 21 a pin 16, który jest uziemieniem szeregowym. Zamierzamy również dodać nagłówki pinów do pinów 11 i 13, które będą działać jako piny TX i RX do komunikacji szeregowej. Ponieważ będziemy wysyłać TYLKO do iPhone'a, używamy tylko pinu RX iPhone'a, więc dodamy również kawałek drutu do podłączenia pinu 11, nieużywanego pinu TX, bezpośrednio do masy na pin 16.

Możesz także opcjonalnie dodać gniazdo słuchawkowe stereo do pinów 2, 3 i 4 już teraz i będzie działać, gdy tylko zostanie podłączony breakout. Nie ma to nic wspólnego z klawiaturą, ale jeśli masz iPhone'a 1G z kiepskim non- standardowe gniazdo słuchawkowe, to naprawi to.

Krok 2: Przylutuj wybicie iPhone'a - część 2

Lutowanie iPhone'a Breakout - część 2
Lutowanie iPhone'a Breakout - część 2

Umieściłem zworkę między pinem 11 a pinem 16 z tyłu płytki zaciskowej. Dopasowanie wszystkiego do pinu 16 może być trochę trudne, więc zalecam najpierw włożenie rezystora przez otwór, a następnie owinięcie wokół niego końca przewodu połączeniowego i przylutowanie ich razem przed odcięciem przewodu rezystora.

Inną taktyką, która może się przydać, jest najpierw pocynowanie końcówek drutu, a następnie nakroplenie odrobiną lutu w otwór, do którego chcesz przykleić drut. Użyj boku lutownicy, aby ogrzać kropelkę lutowia i Wsuń ocynowany koniec drutu do kropelki. Wyjmij żelazko, pozwól kropli ostygnąć, a następnie puść drut.

Krok 3: Przylutuj złącze PS/2 - część 1

Przylutuj złącze PS/2 - część 1
Przylutuj złącze PS/2 - część 1

Nie ma ścieżki, którą możesz przejść przez numerację pinów złącza PS/2, która ma jakikolwiek sens poza kontekstem obłąkańczego bredzenia zebrania komisji. Nie myśl zbyt mocno o numerach pinów, po prostu spójrz na zdjęcie.

Użyjemy tutaj czterech pinów i połączymy je wszystkie z Arduino. Uziemienie zostanie podłączone do uziemienia w Arduino, VCC zostanie podłączone do 5 V, a piny danych i zegara zostaną przeniesione na dwa cyfrowe piny Arduino (3 i 4).

Krok 4: Przylutuj złącze PS/2 - część 2

Przylutuj złącze PS/2 - część 2
Przylutuj złącze PS/2 - część 2

Spód złącza PS/2 jest jeszcze mniej intuicyjny niż schemat numeracji. Zalecam sprawdzenie tego zdjęcia, ale także sprawdzenie, czy piny na spodzie złącza pasują do ponumerowanych pinów, które Twoim zdaniem mają przed przylutowaniem czegokolwiek. Możesz sprawdzić łączność za pomocą zwykłego multimetru, ustawiając go na pomiar rezystancji i podłączając jedną sondę do bolca na dole i wkładając drugą w otwór. Jeśli w ogóle występuje opór, to ten kołek jest połączony z tym otworem.

Używam zielonego przewodu do pinu zegara, czerwonego przewodu do VCC, białego przewodu do danych i czarnego przewodu do uziemienia.

Krok 5: Przylutuj nagłówki pinów do wyprowadzeń

Lutowane nagłówki pinów do wyprowadzeń
Lutowane nagłówki pinów do wyprowadzeń

Po podłączeniu złączy zdejmij pozostałe końce przewodów i przylutuj przewody do złączy kołkowych. Umożliwi to łatwe podłączenie ich do Arduino. Jeśli nie masz nagłówków pinów, możesz spróbować ostrożnie pocynować przewody, aby lepiej pozostawały w otworach na piny Arduino.

Podłączyłem kilka przewodów do nagłówków pinów na pinach 11 i 13 płytki zaciskowej iPhone'a. Czarny przewód jest podłączony do uziemienia (styk 11), a czerwony przewód do VCC (styk 13). Następnie przylutowałem listwy stykowe do wyprowadzeń dla dwóch przewodów z płytki zaciskowej i czterech wychodzących ze złącza PS/2.

Krok 6: (Opcjonalnie) Wiązka baterii 9 V

(Opcjonalnie) Wiązka baterii 9 V
(Opcjonalnie) Wiązka baterii 9 V

Używam Arduino Diecimila, ponieważ ten program nie wymaga lepszego układu. Jest to pokazane z wiązką akumulatorów 9V firmy SparkFun, zapewniającą przenośność.

Krok 7: Podłącz przewody PS/2 do Arduino

Podłącz wyprowadzenia PS/2 do Arduino
Podłącz wyprowadzenia PS/2 do Arduino

Następnie podłączamy złącze PS/2 do Arduino. Podłącz przewód zegara do styku cyfrowego 3, przewód danych do styku cyfrowego 4 i podłącz przewód uziemiający do uziemienia na Arduino, a przewód VCC do styku 5 V.

Krok 8: Podłącz przewody iPhone'a do Arduino

Podłącz przewody iPhone'a do Arduino
Podłącz przewody iPhone'a do Arduino

Aby podłączyć pęknięcie iPhone'a, po prostu podłącz przewód z pinu 13 do pinu TX w Arduino (cyfrowy pin 1), a następnie podłącz przewód z pinu 11 do dowolnego dostępnego uziemienia w Arduino.

WAŻNE: Aby uniknąć problemów z flashowaniem Arduino, przed flashowaniem należy odłączyć pin TX na Arduino. Więcej na ten temat później. Potem całe lutowanie jest zakończone. Teraz czas przejść do programowania Arduino!

Krok 9: Kod Arduino

Kod Arduino
Kod Arduino

Oprogramowanie Arduino taktuje dane z klawiatury, tłumaczy kody skanowania klawiatury na kody klawiszy i obsługuje naciśnięcia klawiszy Shift i Caps Lock.

Po pierwsze, pobierz i zainstaluj środowisko programistyczne Arduino stąd. Postępuj zgodnie ze wskazówkami na stronie, ale pamiętaj, aby zainstalować odpowiedni sterownik FTDI z katalogu drivers w instalacji Arduino.

Następnie będziesz potrzebować dodatkowej biblioteki Arduino dla PS/2. Pobierz plik „ps2.zip” z tej strony. Aby zainstalować, rozpakuj pobrany plik do folderu i przenieś ten folder, aby był podkatalogiem katalogu „sprzęt/biblioteki” w instalacji Arduino. W systemie OSX możesz najpierw przejść do Arduino.app i „Pokaż zawartość pakietu”.

Po zainstalowaniu Arduino i biblioteki ps2 pobierz kod źródłowy stąd. Otwórz aplikację Arduino, utwórz nowy projekt i wklej do niego kod źródłowy. Zapisz, a następnie przejdź do Szkic-> Weryfikuj/Skompiluj, aby upewnić się, że się kompiluje. Jeśli nie, upewnij się, że biblioteka jest poprawnie zainstalowana.

Na marginesie, właściwie nie napisałem żadnego kodu dla tego projektu. Zacząłem od próby użycia biblioteki PS2KeyboardExt2, ale ta biblioteka jest oparta na przerwaniach i chociaż może działać na Arduino, który również mówi serial przy 9600 bps, kiedy podkręciłem serial do 19200 bps, przerwania przestały działać w stabilny sposób. Więc wyciągnąłem cały ładny kod z PS2KeyboardExt2, w tym definicje klawiszy i ładną obsługę shiftów i caps lock, i przerobiłem go na program, który nie używa przerwań i korzysta z innej, znacznie prostszej biblioteki PS/2. To sprawia, że jest on zdolny do niezawodnej obsługi transmisji szeregowych 19200 bps.

Teraz zaprogramuj Arduino!

Odłącz przewód idący do styku 1 na Arduino. Następnie podłącz Arduino do komputera za pomocą kabla USB. Może być konieczne ponowne uruchomienie aplikacji Arduino, aby poprawnie wykryła nowe urządzenie szeregowe USB. Załaduj zapisany szkic ze źródłem, a następnie naciśnij przycisk Prześlij, aby zaprogramować Arduino.

Po wgraniu programu podłącz klawiaturę do złącza PS/2. Powinieneś zobaczyć migające światła. Możesz otworzyć Serial Monitor w aplikacji Arduino i spróbować wpisać kilka liter na klawiaturze. Powinieneś zobaczyć te litery w Monitorze seryjnym. Spróbuj włączyć i wyłączyć Caps Lock, lampka na klawiaturze powinna się włączać i wyłączać, a znaki powinny być poprawnie pisane wielkimi literami.

Krok 10: Program klienta iPhone'a

Teraz skonfiguruj program klienta iPhone'a.

Do kodu klienta używam programu, który znalazłem na stronie Google Code Anthony'ego Praya. Ten program odczytuje dane wejściowe z portu szeregowego z prędkością 19200 bps, a następnie wstrzykuje odpowiednie zdarzenie klawiatury za pomocą biblioteki klienta VNC. Zrobiłem tutaj lokalne, tylko tekstowe lustro źródła, które można łatwo pobrać za pomocą wget.

Ponieważ będziemy wstrzykiwać naciśnięcia klawiszy przez VNC, musisz także uruchomić serwer VNC na iPhonie. Zamierzamy użyć Veency (co jest niesamowite, a mimo to powinieneś zainstalować).

Przejdź do Cydii lub Icy i zainstaluj następujące pakiety:

  • Veency - Zapewnia serwer VNC, skonfiguruj go do uruchamiania przy starcie
  • LibVNCServer - zapewnia libvncclient
  • iPhone 2.0 Toolchain - Zapewnia środowisko kompilacji (gcc, libgcc, ldid, libz są wymagane, jeśli wybierzesz inną trasę)
  • MobileTerminal - aby uzyskać dostęp do terminala iPhone
  • wget - Więc możesz ściągnąć plik źródłowy

Teraz pobierz i zbuduj źródło. Otwórz MobileTerminal lub SSH w telefonie, a następnie wykonaj następujące czynności:

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

Ostatni krok, przy użyciu ldid, polega na fałszywym podpisaniu pliku binarnego. Bez tego iPhone OS natychmiast zabije twój proces.

Aby uruchomić program, uruchom go z Terminala Mobilnego za pomocą:

./Klient dotykowy

Spowoduje to, że Veency wyświetli okno dialogowe z pytaniem, czy chcesz zaakceptować połączenie VNC. Kliknij Akceptuj.

Zauważyłem, że uruchomienie tego z MobileTerminal utrzymuje program przy życiu nawet po opuszczeniu MobileTerminal, ale lepiej byłoby użyć launchd. Jeszcze tego nie rozgryzłem.

Krok 11: Ostatnie szlify i przyszła praca

Aby zakończyć, podłącz ponownie przewód z pinu 13 w pęknięciu iPhone'a do pinu TX (pin 1) w Arduino. Odłącz kabel USB i przełącz Arduino na zewnętrzne zasilanie. Podłącz breakout iPhone'a do swojego iPhone'a.

Gdyby:

  • TouchClient działa na Twoim iPhonie
  • Oprogramowanie PS2 działa na twoim Arduino
  • Klawiatura jest podłączona do złącza, a złącze jest prawidłowo podłączone do Arduino
  • Veency działa i zaakceptowałeś połączenie od TouchClient
  • Nic innego nie jest zepsute

Powinieneś być w stanie pisać na klawiaturze PS/2 i przetłumaczyć te naciśnięcia klawiszy na odpowiednie naciśnięcia klawiszy iPhone'a. Będzie to działać w dowolnym miejscu na iPhonie, w dowolnej aplikacji lub natywnej funkcji.

To rozwiązanie nie jest idealne, ale jest ogólnym podejściem do używania Arduino w celu dodania obsługi klawiatury PS/2 do prawie wszystkiego, co może czytać proste wiadomości szeregowe.

Przyszła praca:

  • Mapowanie kodu skanowania można było przenieść w całości na iPhone'a, a część sprzętową tego projektu można by ponownie zaimplementować na znacznie tańszym i zużywającym mniej energii chipie, takim jak PIC. Zmniejszyłoby to koszt urządzenia o około 30 USD, chociaż wymagałoby to programatora PIC.
  • Nie wszystkie klawisze specjalne są poprawnie zmapowane, ale jeśli spojrzysz na kod Arduino, a następnie na kod iPhone'a, zobaczysz, że jest to niesamowicie prosty proces. Wszelkie zmiany, które wprowadzisz, proszę opublikuj tutaj jako komentarz!
  • Zamiast być szalonym hackowaniem drutu, wolałbym, aby pasował do wygodnej małej obudowy, aby zapewnić prawdziwą przenośność. Wszelkie pomysły w tym dziale będą mile widziane.
  • Chciałbym dać TouchClientowi hasło do Veency, aby nie było irytującego wyskakującego okienka Akceptuj / Odrzuć.
  • Ta dokładna metoda może być wykorzystana do dodania klawiatury Bluetooth. Po prostu dodaj moduł Bluetooth-Serial do iPhone'a i kontynuuj korzystanie z TouchClient i Veency.

Otóż to. Mam nadzieję, że podobał ci się Instructable! Czekam na Wasze komentarze. Pozdrawiam, - awgh

Zalecana: