Talaan ng mga Nilalaman:

DIY 3D Controller: 8 Hakbang (na may Mga Larawan)
DIY 3D Controller: 8 Hakbang (na may Mga Larawan)

Video: DIY 3D Controller: 8 Hakbang (na may Mga Larawan)

Video: DIY 3D Controller: 8 Hakbang (na may Mga Larawan)
Video: paano gumawa ng mga notebook 2024, Nobyembre
Anonim
DIY 3D Controller
DIY 3D Controller

Gumawa ng isang 3D interface gamit ang isang anim na resistors, aluminyo foil, at isang Arduino. Kunin iyan, Wii. Update: isang mas masusing paliwanag sa proyektong ito ang magagamit mula sa Make Magazine. Maaaring mas madaling sundin ang kanilang mga tagubilin, at sa palagay ko ang kanilang code ay mas napapanahon. Ang pangunahing layunin dito ay upang makagawa ng isang 3D na sistema ng sensing ng posisyon sa kamay na maaaring buuin ng karamihan sa mga tao, habang pinapanatili pa rin ang ilang pagkakahawig ng pag-andar. Upang makakuha ng ideya ng mga posibleng application, tingnan ang demo video. Kung sa palagay mo maaari kang bumuo ng isa na mas simple at pantay na tumpak, o bahagyang mas kumplikado at mas tumpak, ibahagi sa mga komento! DIY 3D Interface: Tic Tac Toe mula kay Kyle McDonald sa Vimeo.

Hakbang 1: Mga Kagamitan

Mga Kagamitan
Mga Kagamitan
Mga Kagamitan
Mga Kagamitan

Mga kasangkapan

  • Arduino
  • Pinoproseso
  • Mga pamutol ng wire
  • Panghinang
  • Pamamutol ng kahon

Mga Kagamitan

  • (3) 270k resistors
  • (3) 10k resistors
  • Panghinang
  • Kawad
  • Aluminium foil
  • Karton

Opsyonal:

  • Tape (hal.: scotch)
  • Shielded wire (hal.: coaxial cable, ~ 3 ')
  • (3) mga clip ng buaya
  • 3-pin na header
  • Zip-tie
  • Paliitin ang tubo o mainit na pandikit

Hakbang 2: Gawin ang mga Plato

Gawin ang mga Plato
Gawin ang mga Plato
Gawin ang mga Plato
Gawin ang mga Plato

Gagana ang sensor na ito gamit ang mga simpleng circuit RC, sa bawat distansya ng sensing ng circuit sa isang dimensyon. Nalaman ko na ang pinakamadaling paraan upang ayusin ang tatlong mga capacitive plate para sa hangaring ito ay nasa sulok ng isang kubo. Pinutol ko ang sulok ng isang karton na kahon sa isang 8.5 na kubo, at pagkatapos ay gupitin ang ilang aluminyo palara upang magkasya bilang bahagyang mas maliit na mga parisukat. Ang tape sa mga sulok ay pinapanatili ang mga ito sa lugar. Huwag i-tape ang buong perimeter, kakailanganin namin ito mamaya para sa paglakip ng mga clip ng buaya.

Hakbang 3: Gawin ang Mga Konektor

Gawin ang mga Konektor
Gawin ang mga Konektor
Gawin ang mga Konektor
Gawin ang mga Konektor
Gawin ang mga Konektor
Gawin ang mga Konektor

Upang ikonekta ang Arduino sa mga plato kailangan namin ng ilang kalasag na kawad. Kung ang kawad ay hindi pinoprotektahan, ang mga wire mismo ay kumilos nang mas malinaw bilang bahagi ng capacitor. Gayundin, nalaman ko na ang mga clip ng buaya ay ginagawang talagang madali upang ikonekta ang mga bagay sa aluminyo - ngunit marahil ay maraming iba pang mga paraan, din.

  • Gupitin ang tatlong pantay na haba ng kalasag na cable. Pinili ko ang tungkol sa 12 ". Ang mas maikli ang mas mahusay. Gumagana ang coaxial cable, ngunit ang mas magaan / mas may kakayahang umangkop ay mas mahusay.
  • Hukasan ang huling kalahating pulgada o higit pa upang ibunyag ang kalasag, at ang huling pulgada pulgada upang ibunyag ang kawad.
  • I-twist ang mga clip ng buaya sa mga wires papunta sa mga wires at i-solder ang mga ito nang magkasama.
  • Magdagdag ng kaunting pag-urong ng tubo o mainit na pandikit upang mapanatili ang mga bagay.

Hakbang 4: Gawin ang Circuit

Gawin ang Circuit
Gawin ang Circuit
Gawin ang Circuit
Gawin ang Circuit
Gawin ang Circuit
Gawin ang Circuit
Gawin ang Circuit
Gawin ang Circuit

Ang "circuit" ay dalawang resistors lamang bawat piraso ng aluminyo. Upang maunawaan kung bakit nandiyan sila, nakakatulong malaman kung ano ang ginagawa namin sa Arduino. Ang gagawin namin sa bawat pin, sunud-sunod, ay:

  • Itakda ang pin sa output mode.
  • Sumulat ng isang digital na "mababa" sa pin. Nangangahulugan ito na ang magkabilang panig ng capacitor ay na-grounded at lalabas ito.
  • Itakda ang pin sa input mode.
  • Bilangin kung gaano karaming oras ang kinakailangan para singilin ang capacitor sa pamamagitan ng paghihintay sa pin na "mataas". Ito ay depende sa mga halaga para sa kapasitor at sa dalawang resistors. Dahil ang mga resistors ay naayos, ang isang pagbabago sa capacitance ay masusukat. Ang distansya mula sa lupa (iyong kamay) ay magiging pangunahing variable na nag-aambag sa kapasidad.

Ang 270k resistors ay nagbibigay ng boltahe upang singilin ang mga capacitor. Mas maliit ang halaga, mas mabilis ang singilin nila. Ang 10k resistors ay nakakaapekto rin sa tiyempo, ngunit hindi ko lubos na nauunawaan ang kanilang papel. Gagawin namin ang circuit na ito sa base ng bawat kawad.

  • Paghinang ng 10k risistor sa dulo ng kawad sa tapat ng alligator clip
  • Paghinang ng 270k risistor sa pagitan ng kalasag at ng kawad (plate). Protektahan namin ang kawad na may parehong 5 V na ginagamit namin upang singilin ang mga capacitor

Hakbang 5: Tapusin at Ilakip ang Konektor

Tapusin at Ikabit ang Konektor
Tapusin at Ikabit ang Konektor
Tapusin at Ikabit ang Konektor
Tapusin at Ikabit ang Konektor
Tapusin at Ikabit ang Konektor
Tapusin at Ikabit ang Konektor

Kapag natapos na ang 3 mga konektor, baka gusto mong idagdag ang pag-urong ng tubo ng init o mainit na pandikit upang ma-insulate ang mga ito mula sa bawat isa, dahil magkakasama ka ng paghihinang / ng 5 V na puntos.

Para sa akin, pinakamadali itong maghinang ng dalawang pinakamalayo na konektor nang magkasama at pagkatapos ay idagdag ang pangatlo. Kapag na-solder mo na ang tatlong mga konektor, magdagdag ng ika-apat na kawad para sa pagbibigay ng kalasag / 5 V.

Hakbang 6: Kumonekta at Mag-upload ng Code

Kumonekta at Mag-upload ng Code
Kumonekta at Mag-upload ng Code
Kumonekta at Mag-upload ng Code
Kumonekta at Mag-upload ng Code
  • I-plug ang konektor sa Arduino (pin 8, 9 at 10)
  • I-snap ang mga clip ng buaya sa mga plato (8: x: kaliwa, 9: y: sa ibaba, 10: z: kanan)
  • Magbigay ng lakas sa pamamagitan ng pag-plug ng pang-apat na kawad (aking pulang wire) sa 5 V ng Arduino
  • I-plug ang Arduino, simulan ang Arduino na kapaligiran
  • I-upload ang code sa board (tandaan: kung nasa labas ka ng Hilagang Amerika, malamang na kailangan mong palitan ang # detalyin ng mains sa 50 sa halip na 60).

Ang Arduino code ay nakakabit bilang Interface3D.ino at ang Processing code ay nakakabit bilang TicTacToe3D.zip

Hakbang 7: Gumawa ng Isang bagay na Cool

Kung titingnan mo ang serial window sa kapaligiran ng Arduino, mapapansin mong naglalabas ito ng mga raw na coordinate ng 3D sa 115200 baud, sa humigit-kumulang 10 Hz = 60Hz / (2 buong cycle * 3 sensor). Ang code ay tumatagal ng mga pagsukat nang maraming beses hangga't maaari sa bawat sensor sa loob ng panahon ng dalawang siklo ng dalas ng lakas ng mains (na suprisingly stable) upang kanselahin ang anumang pagkabit. Ang unang bagay na ginawa ko dito ay gumawa ng isang simpleng 3D Tic Tac Toe Interface. Kung nais mong magsimula sa isang gumaganang demo, magagamit ang code dito, i-drop lamang ang folder na "TicTacToe3D" sa iyong folder ng Mga Pagguhit ng sketch. Tatlong kapaki-pakinabang na bagay na ipinapakita ng code ng Tic Tac Toe:

  • Linearyado ang hilaw na data. Ang oras ng pagsingil ay talagang sumusunod sa isang batas sa kapangyarihan na may kaugnayan sa distansya, kaya kailangan mong kunin ang parisukat na ugat ng isa sa paglipas ng panahon (ibig sabihin, distansya ~ = sqrt (1 / oras))
  • Normalisahin ang data. Kapag sinimulan mo ang sketch, hawakan ang kaliwang pindutan ng mouse habang inililipat ang iyong kamay upang tukuyin ang mga hangganan ng puwang na nais mong gumana.
  • Ang pagdaragdag ng "momentum" sa data upang makinis ang anumang mga jitter.

Sa pagsasagawa, gamit ang pag-set up na ito na may aluminyo palara makakakuha ako ng isang saklaw ng pinakamalaking sukat ng foil (ang pinakamalaking piraso na nasubukan ko ay 1.5 square paa).

Hakbang 8: Mga Pagkakaiba-iba at Tala

Mga pagkakaiba-iba

  • Bumuo ng napakalaking sensor
  • I-optimize ang mga resistors at code para sa mga bagay na mabilis na mag-vibrate, at gamitin ito bilang isang pickup / mikropono
  • Marahil ay may iba pang mga trick para sa pag-decoupling ng system mula sa AC hum (isang malaking kapasitor na tumutukoy sa mga plate at lupa?)
  • Nag-eksperimento ako sa paglalagay ng kalasag sa mga plato sa ilalim, ngunit mukhang nagdudulot ito ng mga problema
  • Gumawa ng tagapili ng kulay ng RGB o HSB
  • Kontrolin ang mga parameter ng video o musika; pagkakasunud-sunod ng isang matalo o himig
  • Malaki, bahagyang baluktot na ibabaw na may maraming mga plate + isang projector = interface na "Minority Report"

Mga tala

Ang palaruan ng Arduino ay may dalawang mga artikulo sa capacitive touch sensing (CapSense at CapacitiveSensor). Sa huli, nagpunta ako sa isang pagbabaligtad ng isang disenyo na nadapa ko sa kopya ng isang kaibigan ng "Physical Computing" (Sullivan / Igoe) na naglalarawan kung paano gamitin ang RCtime (ang circuit ay may capacitor at isang resistor na naayos, at sinukat ang halaga ng potentiometer). Ang pag-time ng microsecond ay nagawa gamit ang ilang bahagyang na-optimize na code mula sa mga forum ng Arduino. Muli: mula pa lamang sa pagsisimula sa tonelada ng mga theremin na iskematika na hindi ko lubos na nauunawaan, alam kong may mga mas mahusay na paraan upang gawin ang capacitive disting sensing, ngunit nais kong gumawa ng isang bagay na kasing simple hangga't maaari na gumagana pa rin. Kung mayroon kang isang pantay na simple at functional na disenyo, i-post ito sa mga komento! Salamat kay Dane Kouttron para sa pagpapaubaya sa lahat ng aking mga pangunahing katanungan sa electronics at pagtulong sa akin na maunawaan kung paano gumagana ang isang simpleng heterodyne theremin circuit (orihinal, gagamitin ko ito - at, kung naayos ang tama, malamang na mas tumpak ito).

Unang Gantimpala sa The Instructables Book Contest

Inirerekumendang: