Spisu treści:

DIY Kontroler 3D: 8 kroków (ze zdjęciami)
DIY Kontroler 3D: 8 kroków (ze zdjęciami)

Wideo: DIY Kontroler 3D: 8 kroków (ze zdjęciami)

Wideo: DIY Kontroler 3D: 8 kroków (ze zdjęciami)
Wideo: WYDRUKUJ ZDJĘCIA NA DRUKARCE 3D! - Litofany - AD3D 2024, Październik
Anonim
DIY kontroler 3D
DIY kontroler 3D

Zrób interfejs 3D za pomocą sześciu rezystorów, folii aluminiowej i Arduino. Weź to, Wii. Update: znacznie dokładniejsze wyjaśnienie tego projektu jest dostępne w Make Magazine. Być może łatwiej będzie postępować zgodnie z ich instrukcjami i myślę, że ich kod jest bardziej aktualny. Podstawowym celem było stworzenie trójwymiarowego systemu wykrywania położenia dłoni, który większość ludzi może zbudować, zachowując jednocześnie pewne pozory funkcjonalności. Aby zorientować się w możliwych zastosowaniach, obejrzyj wideo demonstracyjne. Jeśli uważasz, że możesz zbudować taki, który jest prostszy i równie dokładny lub nieco bardziej złożony i dokładniejszy, podziel się komentarzami! Interfejs DIY 3D: Tic Tac Toe od Kyle McDonald na Vimeo.

Krok 1: Materiały

Materiały
Materiały
Materiały
Materiały

Narzędzia

  • Arduino
  • Przetwarzanie
  • Nożyce do drutu
  • Lutownica
  • Nóż do tektury

Materiały

  • (3) rezystory 270k
  • (3) rezystory 10k
  • Lutować
  • Drut
  • Folia aluminiowa
  • Karton

Opcjonalny:

  • Taśma (np. szkocka)
  • Przewód ekranowany (np. kabel koncentryczny, ~3')
  • (3) zaciski krokodylkowe
  • 3-pinowy nagłówek
  • Opaska zaciskowa
  • Rurki termokurczliwe lub gorący klej

Krok 2: Zrób Talerze

Zrób Talerze
Zrób Talerze
Zrób Talerze
Zrób Talerze

Ten czujnik będzie działał z prostymi obwodami RC, z odległością wykrywania każdego obwodu w jednym wymiarze. Stwierdziłem, że najłatwiej ułożyć w tym celu trzy płytki pojemnościowe w rogu sześcianu. Wyciąłem róg kartonowego pudła na kostkę o przekątnej 8,5 cala, a następnie wyciąłem folię aluminiową, aby zmieściły się w nieco mniejsze kwadraty. Taśma na rogach utrzymuje je na miejscu. Nie przyklejaj taśmy na całym obwodzie, będziemy tego potrzebować później do mocowania zacisków krokodylkowych.

Krok 3: Zrób złącza

Zrób złącza
Zrób złącza
Zrób złącza
Zrób złącza
Zrób złącza
Zrób złącza

Do połączenia Arduino z płytkami potrzebny jest przewód ekranowany. Jeśli przewód nie jest ekranowany, same przewody działają w bardziej oczywisty sposób jako część kondensatora. Odkryłem również, że zaciski krokodylkowe bardzo ułatwiają łączenie przedmiotów z aluminium – ale prawdopodobnie jest też wiele innych sposobów.

  • Przetnij trzy równe odcinki kabla ekranowanego. Wybrałem około 12". Im krótszy tym lepiej. Kabel koncentryczny działa, ale im lżejszy/bardziej elastyczny tym lepiej.
  • Zdejmij ostatnie pół cala, aby odsłonić ekran, a ostatnią ćwierć cala, aby odsłonić przewód.
  • Przekręć zaciski krokodylkowe do przewodów na przewody i zlutuj je razem.
  • Dodaj trochę rurki termokurczliwej lub gorącego kleju, aby utrzymać wszystko razem.

Krok 4: Wykonaj obwód

Zrób obwód
Zrób obwód
Zrób obwód
Zrób obwód
Zrób obwód
Zrób obwód
Zrób obwód
Zrób obwód

„Obwód” to tylko dwa oporniki na kawałek aluminium. Aby zrozumieć, dlaczego tam są, warto wiedzieć, co robimy z Arduino. To, co zrobimy kolejno z każdym pinem, to:

  • Ustaw pin w trybie wyjścia.
  • Napisz cyfrowy "low" do pinezki. Oznacza to, że obie strony kondensatora są uziemione i nastąpi jego rozładowanie.
  • Ustaw pin w trybie wprowadzania.
  • Policz, ile czasu zajmuje ładowanie kondensatora, czekając, aż pin przejdzie w stan wysoki. Zależy to od wartości kondensatora i dwóch oporników. Ponieważ rezystory są stałe, zmiana pojemności będzie mierzalna. Odległość od ziemi (twoja ręka) będzie podstawową zmienną wpływającą na pojemność.

Rezystory 270k zapewniają napięcie do ładowania kondensatorów. Im mniejsza wartość, tym szybciej się ładują. Rezystory 10k mają również wpływ na taktowanie, ale nie do końca rozumiem ich rolę. Utworzymy ten obwód u podstawy każdego przewodu.

  • Przylutuj rezystor 10k do końca przewodu naprzeciwko zacisku krokodylkowego
  • Wlutuj rezystor 270k pomiędzy ekran a przewód (płytka). Ekranujemy przewód tym samym napięciem 5 V, którego używamy do ładowania kondensatorów

Krok 5: Zakończ i podłącz złącze

Zakończ i podłącz złącze
Zakończ i podłącz złącze
Zakończ i podłącz złącze
Zakończ i podłącz złącze
Zakończ i podłącz złącze
Zakończ i podłącz złącze

Gdy 3 złącza są gotowe, możesz dodać rurkę termokurczliwą lub gorący klej, aby odizolować je od siebie, ponieważ będziesz lutować razem ekranowanie/5 V punktów.

Dla mnie najłatwiej było zlutować ze sobą dwa skrajne złącza, a następnie dodać trzecie. Po przylutowaniu trzech złącz, dodaj czwarty przewód do zasilania ekranu/5 V.

Krok 6: Połącz i prześlij kod

Połącz i prześlij kod
Połącz i prześlij kod
Połącz i prześlij kod
Połącz i prześlij kod
  • Podłącz złącze do Arduino (piny 8, 9 i 10)
  • Zatrzaśnij zaciski krokodylkowe na płytkach (8:x:left, 9:y:bottom, 10:z:right)
  • Zapewnij zasilanie, podłączając czwarty przewód (mój czerwony przewód) do 5 V Arduino
  • Podłącz Arduino, uruchom środowisko Arduino
  • Prześlij kod na tablicę (uwaga: jeśli jesteś poza Ameryką Północną, prawdopodobnie będziesz musiał zmienić #define mains na 50 zamiast 60).

Kod Arduino jest dołączony jako Interface3D.ino, a kod przetwarzania jest dołączony jako TicTacToe3D.zip

Krok 7: Zrób coś fajnego

Jeśli spojrzysz na okno szeregowe w środowisku Arduino, zauważysz, że wypluwa ono surowe współrzędne 3D z prędkością 115200 bodów, przy około 10 Hz = 60 Hz / (2 pełne cykle * 3 czujniki). Kod wykonuje pomiary tyle razy, ile to możliwe na każdym czujniku przez okres dwóch cykli częstotliwości sieciowej (która jest zaskakująco stabilna) w celu usunięcia jakiegokolwiek sprzężenia. Pierwszą rzeczą, którą zrobiłem z tym, było wykonanie prostego Tic 3D Interfejs Tac Toe. Jeśli chcesz zacząć od działającego demo, kod jest dostępny tutaj, po prostu upuść folder „TicTacToe3D” w folderze Przetwarzanie szkiców. Trzy przydatne rzeczy, które demonstruje kod Tic Tac Toe:

  • Linearyzuje surowe dane. Czas ładowania w rzeczywistości jest zgodny z prawem potęgowym w stosunku do odległości, więc musisz wyciągnąć pierwiastek kwadratowy z jednego przez czas (tj. Odległość ~= sqrt(1/czas))
  • Normalizuje dane. Po uruchomieniu szkicu przytrzymaj lewy przycisk myszy i poruszaj ręką, aby zdefiniować granice przestrzeni, z którą chcesz pracować.
  • Dodanie „rozpędu” do danych, aby złagodzić wszelkie drgania.

W praktyce, używając tego zestawu z folią aluminiową, mogę uzyskać zakres największego wymiaru folii (największy testowany kawałek to 1,5 stopy kwadratowej).

Krok 8: Wariacje i uwagi

Wariacje

  • Zbuduj masywne czujniki
  • Zoptymalizuj rezystory i kod pod kątem rzeczy, które szybko wibrują i używaj go jako przetwornika/mikrofonu
  • Są chyba inne triki na odsprzęgnięcie układu od szumu AC (ogromny kondensator między płytkami a masą?)
  • Eksperymentowałem z ekranowaniem płyt na dole, ale to tylko wydaje się sprawiać problemy
  • Utwórz próbnik kolorów RGB lub HSB
  • Kontroluj parametry wideo lub muzyki; sekwencjonować rytm lub melodię
  • Duża, lekko wygięta powierzchnia z wieloma płytami + projektor = interfejs „Raport mniejszości”

Uwagi

Plac zabaw Arduino zawiera dwa artykuły dotyczące pojemnościowego wykrywania dotyku (CapSense i CapacitiveSensor). W końcu poszedłem z odwróceniem projektu, na który natknąłem się w egzemplarzu „Physical Computing” przyjaciela (Sullivan/Igoe) opisującym, jak używać RCtime (obwód miał naprawiony kondensator i jeden rezystor, i zmierzył wartość potencjometr). Pomiar czasu w mikrosekundach został osiągnięty przy użyciu nieco zoptymalizowanego kodu z forów Arduino. Ponownie: po prostu zaczynając od ton schematów theremin, których do końca nie rozumiem, zdaję sobie sprawę, że istnieją lepsze sposoby na pojemnościowe wykrywanie odległości, ale chciałem stworzyć coś tak prostego, jak to tylko możliwe, ale nadal funkcjonalne. Jeśli masz równie prosty i funkcjonalny projekt, opublikuj go w komentarzach! Podziękowania dla Dane Kouttron za tolerowanie wszystkich moich podstawowych pytań dotyczących elektroniki i pomoc w zrozumieniu, jak działa prosty heterodynowy obwód thereminowy (pierwotnie miałem zamiar ich użyć -- i, jeśli dostrojony poprawnie, prawdopodobnie byłby dokładniejszy).

I nagroda w Konkursie Książki Instructables

Zalecana: