Sadržaj:

DIY 3D kontroler: 8 koraka (sa slikama)
DIY 3D kontroler: 8 koraka (sa slikama)

Video: DIY 3D kontroler: 8 koraka (sa slikama)

Video: DIY 3D kontroler: 8 koraka (sa slikama)
Video: Секрет "невозможных" статуй из мрамора 2024, Novembar
Anonim
DIY 3D kontroler
DIY 3D kontroler

Napravite 3D sučelje pomoću šest otpornika, aluminijske folije i Arduina. Uzmite to, Wii. Update: mnogo detaljnije objašnjenje ovog projekta dostupno je u Make Magazinu. Možda bi bilo lakše slijediti njihova uputstva i mislim da je njihov kod ažuriraniji. Osnovni cilj ovdje je bio napraviti 3D sistem za osjetljivost položaja ruku koji većina ljudi može izgraditi, a da se pri tom očuva privid funkcionalnosti. Kako biste stekli uvid u moguće aplikacije, pogledajte demo video. Ako mislite da možete napraviti jednostavniji i podjednako precizan, ili malo složeniji i precizniji, podijelite u komentarima! DIY 3D sučelje: Tic Tac Toe od Kyle McDonald na Vimeu.

Korak 1: Materijali

Materijali
Materijali
Materijali
Materijali

Alati

  • Arduino
  • Obrada
  • Rezači žice
  • Lemilica
  • Rezač kutija

Materijali

  • (3) 270 k otpornika
  • (3) 10k otpornika
  • Solder
  • Žica
  • Aluminijska folija
  • Karton

Opciono:

  • Traka (npr.: viski)
  • Zaštićena žica (npr.: koaksijalni kabel, ~ 3 ')
  • (3) aligatorske kopče
  • 3-pinsko zaglavlje
  • Zip-kravata
  • Cijevi za skupljanje ili vruće ljepilo

Korak 2: Napravite ploče

Napravite ploče
Napravite ploče
Napravite ploče
Napravite ploče

Ovaj senzor će raditi pomoću jednostavnih RC krugova, pri čemu će svaki krug osjetiti udaljenost u jednoj dimenziji. Otkrio sam da je najlakši način za postavljanje tri kapacitivne ploče u tu svrhu u kutu kocke. Izrezao sam ugao kartonske kutije u kocku od 8,5 , a zatim izrezao malo aluminijske folije da stane kao malo manji kvadrat. Traka na uglovima ih drži na mjestu. Nemojte lijepiti cijeli obod, trebat će nam kasnije za pričvršćivanje kopči od aligatora.

Korak 3: Napravite konektore

Napravite konektore
Napravite konektore
Napravite konektore
Napravite konektore
Napravite konektore
Napravite konektore

Za spajanje Arduina na ploče potrebna nam je zaštićena žica. Ako žica nije zaštićena, same žice djeluju očiglednije kao dio kondenzatora. Također sam otkrio da aligatorske kopče olakšavaju spajanje stvari na aluminij - ali vjerojatno postoji i mnogo drugih načina.

  • Odrežite tri jednake dužine oklopljenog kabela. Odabrao sam oko 12 ". Što kraće to bolje. Koaksijalni kabel radi, ali što je lakši/fleksibilniji, to bolje.
  • Skinite posljednjih pola inča da otkrijete oklop, a posljednjih četvrt inča da otkrijete žicu.
  • Okrenite kopče aligatora do žica na žice i lemite ih zajedno.
  • Dodajte malo termoskupljajuće cijevi ili vruće ljepilo kako biste držali stvari na okupu.

Korak 4: Napravite krug

Napravi krug
Napravi krug
Napravi krug
Napravi krug
Napravi krug
Napravi krug
Napravi krug
Napravi krug

"Krug" je samo dva otpornika po komadu aluminija. Da biste razumjeli zašto su tamo, pomaže vam znati što radimo s Arduinom. Ono što ćemo redom raditi sa svakim pinom je:

  • Postavite iglu u način rada za izlaz.
  • Napišite pin "nisko" na pin. To znači da su obje strane kondenzatora uzemljene i da će se isprazniti.
  • Postavite pin na način unosa.
  • Izbrojite koliko je vremena potrebno da se kondenzator napuni čekajući da pin postane "visok". To ovisi o vrijednostima kondenzatora i dva otpornika. Budući da su otpornici fiksni, promjena kapacitivnosti bit će mjerljiva. Udaljenost od zemlje (vaša ruka) bit će primarna varijabla koja doprinosi kapacitivnosti.

Otpornici od 270 k pružaju napon za punjenje kondenzatora. Što je vrijednost manja, brže će se puniti. 10k otpornici utječu i na vrijeme, ali ne razumijem u potpunosti njihovu ulogu. Napravit ćemo ovo kolo u osnovi svake žice.

  • Lemite 10k otpornik na kraj žice nasuprot kopče od aligatora
  • Lemite 270k otpornik između štita i žice (ploče). Zaštitit ćemo žicu istih 5 V koje koristimo za punjenje kondenzatora

Korak 5: Završite i priključite konektor

Završite i pričvrstite konektor
Završite i pričvrstite konektor
Završite i pričvrstite konektor
Završite i pričvrstite konektor
Završite i pričvrstite konektor
Završite i pričvrstite konektor

Kada završe 3 konektora, možda ćete htjeti dodati termoskupljajuće cijevi ili vruće ljepilo kako biste ih izolirali jedan od drugog, jer ćete lemiti oklop/5 V točke zajedno.

Za mene je bilo najlakše lemiti dva krajnja konektora zajedno, a zatim dodati treći. Nakon što zalemite tri konektora, dodajte četvrtu žicu za napajanje oklopa/5 V.

Korak 6: Povežite i otpremite kôd

Povežite se i otpremite kôd
Povežite se i otpremite kôd
Povežite se i otpremite kôd
Povežite se i otpremite kôd
  • Priključite konektor u Arduino (pinovi 8, 9 i 10)
  • Pričvrstite kopče aligatora na ploče (8: x: lijevo, 9: y: dolje, 10: z: desno)
  • Omogućite napajanje uključivanjem četvrte žice (moje crvene žice) u Arduino 5 V
  • Priključite Arduino, pokrenite Arduino okruženje
  • Postavite kôd na ploču (napomena: ako se nalazite izvan Sjeverne Amerike, vjerovatno ćete morati promijeniti #define glavno napajanje na 50 umjesto na 60).

Arduino kôd je priložen kao Interface3D.ino, a kôd za obradu kao TicTacToe3D.zip

Korak 7: Učinite nešto cool

Ako pogledate serijski prozor u Arduino okruženju, primijetit ćete da izbacuje sirove 3D koordinate na 115200 bauda, pri približno 10 Hz = 60Hz / (2 puna ciklusa * 3 senzora). Kôd uzima mjerenja što je moguće više puta na svakom senzoru u periodu od dva ciklusa frekvencije mrežnog napajanja (što je iznenađujuće stabilno) kako bi se poništilo svako spajanje. Prva stvar koju sam napravio s ovim bio je napraviti jednostavan 3D Tic Tac Toe sučelje. Ako želite započeti s radnom demonstracijom, kôd je dostupan ovdje, samo ispustite mapu "TicTacToe3D" u mapu Obrada skica. Tri korisne stvari koje pokazuje kôd Tic Tac Toe:

  • Linearizira neobrađene podatke. Vrijeme punjenja zapravo slijedi zakon o snazi u odnosu na udaljenost, pa morate uzeti kvadratni korijen od jednog tokom vremena (tj. Udaljenost ~ = sqrt (1/vrijeme))
  • Normalizira podatke. Kada pokrećete skicu, držite lijevu tipku miša dok pomičete ruku kako biste definirali granice prostora s kojim želite raditi.
  • Dodavanje "zamaha" podacima kako bi se ublažile sve treme.

U praksi, koristeći ovu postavku s aluminijskom folijom, mogu dobiti niz najvećih dimenzija folije (najveći komad koji sam testirao je 1,5 kvadratnih metara).

Korak 8: Varijacije i bilješke

Varijacije

  • Izgradite masivne senzore
  • Optimizirajte otpornike i kôd za stvari koje brzo vibriraju i upotrijebite ih kao zvučnik/mikrofon
  • Vjerojatno postoje i drugi trikovi za odvajanje sistema od izmjeničnog brujanja (veliki kondenzator između ploča i tla?)
  • Eksperimentirao sam sa zaštitom ploča na dnu, ali čini se da to samo stvara probleme
  • Napravite RGB ili HSB birač boja
  • Kontrolirajte video ili muzičke parametre; sekvenca ritma ili melodije
  • Velika, blago savijena površina sa više ploča + projektor = Interfejs "Minority Report"

Napomene

Igralište Arduino ima dva članka o kapacitivnom osjetljivom dodiru (CapSense i CapacitiveSensor). Na kraju sam krenuo s inverzijom dizajna na koji sam naišao u prijateljskoj kopiji "Physical Computing" (Sullivan/Igoe) opisujući kako se koristi RCtime (kolo je imalo fiksni kondenzator i jedan otpornik) i izmjerio vrijednost Potenciometar). Mikrosekundno mjerenje vremena postignuto je korištenjem nekog pomalo optimiziranog koda s Arduino foruma. Opet: samo od početka na tone šema termina koje ne razumijem u potpunosti, dobro sam svjestan da postoje bolji načini za mjerenje kapacitivne udaljenosti, ali želio sam učiniti nešto što je moguće jednostavnije što je još uvijek funkcionalno. Ako imate jednako jednostavan i funkcionalan dizajn, objavite ga u komentarima! Hvala Daneu Kouttronu što je tolerirao sva moja osnovna pitanja o elektronici i pomogao mi da shvatim kako funkcionira jednostavan heterodinski termin sklop (izvorno sam namjeravao koristiti ove - i, ako je ispravno podešen, vjerovatno bi bio precizniji).

Prva nagrada na takmičenju knjiga Instructables

Preporučuje se: