Spisu treści:

Śledzenie głowy za pomocą kamery Wii Remote (War Thunder): 6 kroków (ze zdjęciami)
Śledzenie głowy za pomocą kamery Wii Remote (War Thunder): 6 kroków (ze zdjęciami)

Wideo: Śledzenie głowy za pomocą kamery Wii Remote (War Thunder): 6 kroków (ze zdjęciami)

Wideo: Śledzenie głowy za pomocą kamery Wii Remote (War Thunder): 6 kroków (ze zdjęciami)
Wideo: Джон Ли: Нестандартное использование беспроводного контроллера Ви 2024, Listopad
Anonim
Image
Image
Półgąsienicówka Lasercut RC
Półgąsienicówka Lasercut RC

Autor: JackCarter> Pobierz moje modele tutaj <Obserwuj więcej autora:

Półgąsienicówka Lasercut RC
Półgąsienicówka Lasercut RC
Analizator harmonicznych: mechaniczny ploter sygnału laserowego
Analizator harmonicznych: mechaniczny ploter sygnału laserowego
Analizator harmonicznych: mechaniczny ploter sygnału laserowego
Analizator harmonicznych: mechaniczny ploter sygnału laserowego
Lasercut RC Kometa Czołg
Lasercut RC Kometa Czołg
Lasercut RC Kometa Czołg
Lasercut RC Kometa Czołg

O: Uwielbiam czołgi, laserowo wycinane i laserowo wycinane czołgi Więcej o JackCarter »

Cześć wszystkim ! Chcę podzielić się z wami moim pierwszym prawdziwym ukończonym projektem Arduino. Próbowałem stworzyć coś w rodzaju domowej rozszerzonej rzeczywistości. Pozwól, że ci to wyjaśnię:

Jest to w zasadzie system, który wykorzystuje kamerę do śledzenia ruchów głowy, aby dostosować ją jako oś joysticka X i Y. Do tego czasu projekt można dostosować do dowolnej gry.

Następnie połączymy te osie z ruchem głowy w ustawieniach War Thunder, aby zapewnić nieco więcej wrażeń w widoku kokpitu.

Aby wykonać ten projekt, będziesz potrzebować:

  • Arduino Uno (biblioteka joysticków działa tylko z nimi, ale możesz sprawić, by działała na wiele innych sposobów),
  • Kamera zdalna Wii (naprawdę polecam wziąć stary pilot, nie kupować nowego, bo nadal jest drogi),
  • Rezystor 100 kΩ,
  • Kondensator 100 nF,
  • Oscylator 25MHz (4 piny),
  • dioda podczerwieni,
  • Ogniwo guzikowe 3V (do zasilania diody LED),
  • Mała płytka stykowa (17 otworów do przechowywania komponentów i aparatu, 2x więcej do przechowywania Nano (jeśli używałeś tego) poza tym),
  • Trochę przewodów i sprzętu do lutowania.

Chcę podziękować Ericowi Jacobowi za jego instruktażowy hak Wii Remote IR Camera z interfejsem Arduino, który podsunął mi ten pomysł.

Krok 1: Wyodrębnij kamerę z Wii Remote

Wyciągnij kamerę z Wii Remote
Wyciągnij kamerę z Wii Remote
Wyciągnij kamerę z Wii Remote
Wyciągnij kamerę z Wii Remote

Wziąłem starego zepsutego pilota Wii i proponuję zrobić to samo. Nadal możesz go kupić, ale myślę, że będzie cię to kosztować około 40 $ (drogie!). Pilot jest zapieczętowany czterema 3 szpiczastymi krzyżykami. Znajdź odpowiednie narzędzie lub zmiażdż ramę. Widzisz kwadratowy aparat? Nie sprzedaj go! (Próbowałem ale nie chciałem palić kamery. Wlutowałem przewody bezpośrednio na odległej płytce PCB)

Krok 2: Dodaj komponenty

Dodaj komponenty
Dodaj komponenty
Dodaj komponenty
Dodaj komponenty
Dodaj komponenty
Dodaj komponenty

Teraz przylutuj przewody do pinów aparatu, abyśmy mogli podłączyć go do płytki stykowej.

Kamera działa w I²C, ale nie działa po podłączeniu bezpośrednio do Arduino. Dodamy kilka komponentów symulujących kamerę na podczerwień DFRobots. Postępuj zgodnie ze schematem elektrycznym, aby ukończyć aparat.

Postaraj się, aby kamera patrzyła na Ciebie na wysokość Twojej głowy, zazwyczaj jak kamera internetowa na ekranie.

Krok 3: Śledzenie LED

Śledzenie LED
Śledzenie LED

Po prostu przyklej diodę LED do komórki guzikowej i przymocuj ją do górnej części słuchawek. Zorientuj diodę LED w kierunku kamery, aby uzyskać większą wydajność.

Oczywiście nie zapomnij usunąć diody LED, aby uniknąć utraty mocy w baterii.

Krok 4: Kodeks

Kod
Kod

Do emulacji joysticków użyłem biblioteki UnoJoy i DFRobotIRPosition. zasada jest bardzo prosta:

  • Deklarujemy kamerę jako komunikację szeregową, a Arduino jako kontroler gier.
  • Otrzymujemy wartości X i Y zarejestrowanej diody IR.
  • Mapujemy go tak, aby dopasować zwróconą wartość 10 bitów (0-1023) do wartości 8 bitów (0-255) dla joysticka.
  • Arduino wysyła przez port szeregowy com wartości joysticka.

Zalecana: