Tartalomjegyzék:

DIY 3D vezérlő: 8 lépés (képekkel)
DIY 3D vezérlő: 8 lépés (képekkel)

Videó: DIY 3D vezérlő: 8 lépés (képekkel)

Videó: DIY 3D vezérlő: 8 lépés (képekkel)
Videó: 3D nyomtató motorvezérlők. 2024, Július
Anonim
DIY 3D vezérlő
DIY 3D vezérlő

Készítsen 3D interfészt hat ellenállás, alumínium fólia és egy Arduino segítségével. Vegye ezt, Wii. Frissítés: ennek a projektnek egy sokkal alaposabb magyarázata elérhető a Make Magazine -ban. Lehet, hogy könnyebb követni az utasításaikat, és úgy gondolom, hogy a kóduk naprakészebb. Az alapvető cél itt az volt, hogy létrehozzunk egy 3D kézhelyzet-érzékelő rendszert, amelyet a legtöbb ember fel tud építeni, miközben megőrzi a funkcionalitás látszatát. Ha elképzelést szeretne kapni a lehetséges alkalmazásokról, nézze meg a bemutató videót. Ha úgy gondolja, hogy egyszerűbbet és egyformán pontosat, vagy kissé összetettebbet és pontosabbat építhet, ossza meg a megjegyzésekben! DIY 3D felület: Tic Tac Toe, Kyle McDonald a Vimeo -n.

1. lépés: Anyagok

Anyagok
Anyagok
Anyagok
Anyagok

Eszközök

  • Arduino
  • Feldolgozás
  • Drótvágók
  • Forrasztópáka
  • Doboz vágó

Anyagok

  • (3) 270k ellenállás
  • (3) 10 ezer ellenállás
  • Forrasztó
  • Huzal
  • Alufólia
  • Karton

Választható:

  • Szalag (pl.: skót)
  • Árnyékolt huzal (pl.: koaxiális kábel, ~ 3 ')
  • (3) aligátor klipek
  • 3 tűs fejléc
  • Cipzáras nyakkendő
  • Zsugorfóliás cső vagy forró ragasztó

2. lépés: Készítse el a lemezeket

Készítse el a lemezeket
Készítse el a lemezeket
Készítse el a lemezeket
Készítse el a lemezeket

Ez az érzékelő egyszerű RC áramkörökkel fog működni, minden áramkör érzékeli a távolságot egy dimenzióban. Megállapítottam, hogy a legegyszerűbb módja annak, hogy három kapacitív lemezt rendezzünk erre a célra, egy kocka sarkában. Egy kartondoboz sarkát 8,5 hüvelykes kockára vágtam, majd néhány alumínium fóliát vágtam, hogy kissé kisebb négyzetek legyenek. A sarkokon lévő szalag a helyén tartja őket. Ne ragasztja le a teljes kerületet, szükségünk lesz rá később az aligátor klipek rögzítésére.

3. lépés: Készítse el a csatlakozókat

Készítse el a csatlakozókat
Készítse el a csatlakozókat
Készítse el a csatlakozókat
Készítse el a csatlakozókat
Készítse el a csatlakozókat
Készítse el a csatlakozókat

Az Arduino lemezekhez való csatlakoztatásához árnyékolt huzalra van szükségünk. Ha a vezeték nincs árnyékolva, akkor a vezetékek nyilvánvalóan a kondenzátor részeként működnek. Továbbá azt tapasztaltam, hogy az aligátorcsipeszek nagyon megkönnyítik a dolgok csatlakoztatását az alumíniumhoz - de valószínűleg rengeteg más módszer is létezik.

  • Vágjon le három egyenlő hosszúságú árnyékolt kábelt. Kb. 12 "-ot választottam. Minél rövidebb, annál jobb. A koaxiális kábel működik, de minél könnyebb/rugalmasabb, annál jobb.
  • Csupaszítsa le az utolsó fél hüvelyket, hogy felfedje az árnyékolást, és az utolsó negyed hüvelyket, hogy felfedje a vezetéket.
  • Csavarja az aligátor klipeket a vezetékekre a vezetékekre, és forrasztja össze őket.
  • Adjon hozzá néhány zsugorcsövet vagy forró ragasztót, hogy a dolgok együtt maradjanak.

4. lépés: Készítse el az áramkört

Készítse el az áramkört
Készítse el az áramkört
Készítse el az áramkört
Készítse el az áramkört
Készítse el az áramkört
Készítse el az áramkört
Készítse el az áramkört
Készítse el az áramkört

Az "áramkör" mindössze két ellenállás alumínium darabonként. Ahhoz, hogy megértsük, miért vannak ott, segít, ha tudjuk, mit csinálunk az Arduino -val. Az egyes csapokkal egymás után a következőket tegyük:

  • Állítsa a tűt kimeneti módba.
  • Írjon digitális "alacsony" értéket a tűre. Ez azt jelenti, hogy a kondenzátor mindkét oldala földelt, és lemerül.
  • Állítsa a tűt beviteli módba.
  • Számolja ki, mennyi időbe telik a kondenzátor feltöltése, és várja meg, hogy a csap "magasra" emelkedjen. Ez a kondenzátor és a két ellenállás értékétől függ. Mivel az ellenállások rögzítettek, a kapacitásváltozás mérhető lesz. A talajtól való távolság (a kezed) lesz az elsődleges változó, amely hozzájárul a kapacitáshoz.

A 270k ellenállás biztosítja a feszültséget a kondenzátorok feltöltéséhez. Minél kisebb az érték, annál gyorsabban töltődnek. A 10k ellenállások is befolyásolják az időzítést, de nem teljesen értem a szerepüket. Ezt az áramkört minden vezeték alján készítjük el.

  • Forrasztja a 10k ellenállást a vezeték végéhez az aligátor klipszel szemben
  • Forrasztja a 270k ellenállást az árnyékolás és a huzal (lemez) közé. A vezetéket ugyanazzal az 5 V -al árnyékoljuk, amelyet a kondenzátorok töltésére használunk

5. lépés: Fejezze be és csatlakoztassa a csatlakozót

Fejezze be és csatlakoztassa a csatlakozót
Fejezze be és csatlakoztassa a csatlakozót
Fejezze be és csatlakoztassa a csatlakozót
Fejezze be és csatlakoztassa a csatlakozót
Fejezze be és csatlakoztassa a csatlakozót
Fejezze be és csatlakoztassa a csatlakozót

A 3 csatlakozó elkészülte után érdemes zsugorcsövet vagy forró ragasztót hozzáadni, hogy szigetelje őket egymástól, mert az árnyékoló/5 V -os pontokat összeforrasztja.

Számomra a legegyszerűbb volt a két legkülső csatlakozót összeforrasztani, majd hozzáadni a harmadikat. Miután forrasztotta a három csatlakozót, adjon hozzá egy negyedik vezetéket az árnyékoláshoz/5 V.

6. lépés: Csatlakoztassa és töltse fel a kódot

Csatlakoztassa és töltse fel a kódot
Csatlakoztassa és töltse fel a kódot
Csatlakoztassa és töltse fel a kódot
Csatlakoztassa és töltse fel a kódot
  • Csatlakoztassa a csatlakozót az Arduino -hoz (8., 9. és 10. érintkező)
  • Rögzítse az aligátor klipeket a lemezekre (8: x: bal, 9: y: alul, 10: z: jobb)
  • Tápellátáshoz csatlakoztassa a negyedik vezetéket (az én piros vezetékemet) az Arduino 5 V -os feszültségéhez
  • Csatlakoztassa az Arduino -t, indítsa el az Arduino környezetet
  • Töltse fel a kódot a táblára (megjegyzés: ha Észak -Amerikán kívül tartózkodik, akkor valószínűleg a #define hálózatot 60 helyett 50 -re kell cserélnie).

Az Arduino kód Interface3D.ino néven, a feldolgozási kód pedig TicTacToe3D.zip néven van csatolva

7. lépés: Csinálj valami jót

Ha megnézi az Arduino környezet soros ablakát, észre fogja venni, hogy nyers 3D koordinátákat bocsát ki 115200 baudon, körülbelül 10 Hz = 60 Hz / (2 teljes ciklus * 3 érzékelő) mellett. A kód a lehető legtöbbször méréseket végez az egyes érzékelőkön a hálózati tápfeszültség két ciklusa alatt (ami meglepően stabil), hogy megszüntesse a csatolást. Az első dolog, amit ezzel csináltam, egy egyszerű 3D Tic elkészítése volt Tac Toe interfész. Ha egy működő demóval szeretne kezdeni, a kód itt érhető el, csak dobja el a "TicTacToe3D" mappát a Processing sketches mappában. Három hasznos dolog, amit a Tic Tac Toe kód mutat:

  • Linearizálja a nyers adatokat. A töltési idő valójában a távolsághoz viszonyított teljesítménytörvényt követi, ezért az idő négyzetgyökét kell venni az idő függvényében (azaz a távolság ~ = sqrt (1/idő))
  • Normalizálja az adatokat. A vázlat indításakor tartsa lenyomva a bal egérgombot, miközben mozgatja a kezét, hogy meghatározza a használni kívánt terület határait.
  • "Lendület" hozzáadása az adatokhoz az esetleges izgalmak kiegyenlítésére.

A gyakorlatban, ha ezt a beállítást alumíniumfóliával használom, a fólia legnagyobb méretének tartományát kapom (a legnagyobb darab, amit teszteltem, 1,5 négyzetméter).

8. lépés: Variációk és megjegyzések

Variációk

  • Hozzon létre hatalmas érzékelőket
  • Optimalizálja az ellenállásokat és kódolja a gyorsan rezgő dolgokat, és használja hangszedőként/mikrofonként
  • Valószínűleg más trükkök is vannak a rendszer leválasztására az AC zümmögésről (hatalmas kondenzátor a lemezek és a talaj között?)
  • Kísérleteztem a lemezek árnyékolásával az alján, de úgy tűnik, hogy csak problémákat okoz
  • Készítsen RGB vagy HSB színválasztót
  • Videó vagy zene paraméterek vezérlése; ütem vagy dallam sorozatát
  • Nagy, enyhén hajlított felület, több lemez + projektor = "Kisebbségi jelentés" interfész

Megjegyzések

Az Arduino játszótéren két cikk található a kapacitív érintésérzékelésről (CapSense és CapacitiveSensor). Végül megfordítottam egy olyan konstrukciót, amelybe beleakadtam egy barátom "Fizikai számítás" (Sullivan/Igoe) példányában, amely leírja az RCtime használatát (az áramkörben a kondenzátor és az egyik ellenállás rögzítve volt, és megmértem egy potenciométer). A mikroszekundumos időzítést az Arduino fórumok némileg optimalizált kódjának használatával végeztem el. Ismét: csak a tonna theremin sémák kezdetétől kezdve nem teljesen értem, jól tudom, hogy vannak jobb módszerek a kapacitív távolságérzékelésre, de a lehető legegyszerűbbet akartam készíteni, ami még mindig működőképes. Ha ugyanilyen egyszerű és funkcionális kialakítása van, tegye közzé a megjegyzésekben! Köszönöm Dane Kouttronnak, hogy elviselte az összes alapvető elektronikai kérdésemet, és segített megérteni, hogyan működik egy egyszerű heterodin -ottan -áramkör (eredetileg ezeket akartam használni - és, ha jól hangolták, akkor valószínűleg pontosabb lenne).

Első díj az Instructables könyvpályázaton

Ajánlott: