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: ТЕПЕРЬ НЕ ПРОПАДУ 10-ть самоделок ВЫРУЧАТ ГДЕ УГОДНО! 2024, Studeni
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 njihove upute i mislim da je njihov kod ažuriraniji. Osnovni cilj ovdje je bio napraviti 3D sustav za osjetljivost položaja ruku koji većina ljudi može izgraditi, a da se pri tome očuva privid funkcionalnosti. Kako biste stekli uvid u moguće aplikacije, pogledajte demo video. Ako mislite da možete izgraditi jednostavniji i podjednako točan, ili malo složeniji i točniji, podijelite u komentarima! DIY 3D sučelje: Tic Tac Toe od Kylea McDonalda 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
  • Lem
  • Žica
  • Aluminijska folija
  • Karton

Izborno:

  • Traka (npr.: viski)
  • Zaštićena žica (npr.: koaksijalni kabel, ~ 3 ')
  • (3) kopče od aligatora
  • 3-polno 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 će senzor raditi pomoću jednostavnih RC krugova, pri čemu svaki krug osjeća udaljenost u jednoj dimenziji. Otkrio sam da je najlakši način da se u tu svrhu rasporede tri kapacitivne ploče u kutu kocke. Izrezao sam kut kartonske kutije u kocku od 8,5 , a zatim izrezao malo aluminijske folije da stane kao malo manji kvadrat. Traka na uglovima drži ih na mjestu. Nemojte lijepiti cijeli obod, trebat će nam kasnije za pričvršćivanje kopči od aligatora.

Korak 3: Napravite priključke

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 duljine 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

Napravite krug
Napravite krug
Napravite krug
Napravite krug
Napravite krug
Napravite krug
Napravite krug
Napravite 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 ovaj krug u podnožju 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 pričvrstite priključak

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

Kad završe 3 konektora, možda ćete htjeti dodati termoskupljajuće cijevi ili vruće ljepilo kako biste ih međusobno izolirali 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 prenesite kôd

Povežite i prenesite kôd
Povežite i prenesite kôd
Povežite i prenesite kôd
Povežite i prenesite 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
  • Prenesite kôd na ploču (napomena: ako se nalazite izvan Sjeverne Amerike, vjerojatno ćete morati promijeniti #define mains 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). Kod uzima mjerenja što je moguće više puta na svakom senzoru tijekom dva ciklusa frekvencije mrežnog napajanja (što je iznenađujuće stabilno) kako bi se poništilo svako spajanje. Prvo što sam učinio 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 kôd Tic Tac Toe pokazuje:

  • Linearizira neobrađene podatke. Vrijeme punjenja zapravo slijedi zakon o snazi u odnosu na udaljenost, pa morate uzeti kvadratni korijen jednog tijekom vremena (tj. Udaljenost ~ = sqrt (1/vrijeme))
  • Normalizira podatke. Kad 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 četvornih metara).

Korak 8: Varijacije i bilješke

Varijacije

  • Izgradite masivne senzore
  • Optimizirajte otpornike i kôd za stvari koje brzo vibriraju te ih upotrijebite kao hvatač/mikrofon
  • Vjerojatno postoje i drugi trikovi za odvajanje sustava 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 glazbene parametre; slijed takta ili melodije
  • Velika, blago savijena površina s više ploča + projektor = sučelje "Minority Report"

Bilješke

Igralište Arduino ima dva članka o kapacitivnom prepoznavanju dodira (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 (u krugu su bili fiksirani kondenzator i jedan otpornik). potenciometar). Vrijeme mikrosekundi postignuto je korištenjem nekog pomalo optimiziranog koda s Arduino foruma. Opet: tek od početnih tona shema termina koje ne razumijem u potpunosti, dobro sam svjestan da postoje bolji načini za kapacitivno mjerenje udaljenosti, ali htio sam napraviti što 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 razumjeti kako funkcionira jednostavan heterodinski termin sklop (izvorno sam namjeravao koristiti ove - i, ako je ispravno podešen, vjerojatno bi bio točniji).

Prva nagrada na natječaju za knjigu The Instructables

Preporučeni: