Innholdsfortegnelse:

DIY 3D -kontroller: 8 trinn (med bilder)
DIY 3D -kontroller: 8 trinn (med bilder)

Video: DIY 3D -kontroller: 8 trinn (med bilder)

Video: DIY 3D -kontroller: 8 trinn (med bilder)
Video: Оригами КОРОБОЧКА МОЛОКА из бумаги | DIY Милые зверята | Origami paper milk box 2024, Oktober
Anonim
DIY 3D -kontroller
DIY 3D -kontroller

Lag et 3D -grensesnitt med seks motstander, aluminiumsfolie og en Arduino. Ta det, Wii. Update: en mye mer grundig forklaring på dette prosjektet er tilgjengelig fra Make Magazine. Det kan være lettere å følge instruksjonene deres, og jeg tror koden deres er mer oppdatert. Det grunnleggende målet her var å lage et 3D håndposisjonssensorsystem som de fleste kan bygge, samtidig som det beholder en viss funksjonalitet. For å få en ide om mulige applikasjoner, sjekk ut demo -videoen. Hvis du tror du kan bygge en som er enklere og like nøyaktig, eller litt mer kompleks og mer nøyaktig, del i kommentarene! DIY 3D -grensesnitt: Tic Tac Toe fra Kyle McDonald på Vimeo.

Trinn 1: Materialer

Materialer
Materialer
Materialer
Materialer

Verktøy

  • Arduino
  • Behandling
  • Avbitertang
  • Loddejern
  • Boksåpner

Materialer

  • (3) 270k motstander
  • (3) 10k motstander
  • Lodding
  • Metalltråd
  • Aluminiumsfolie
  • Kartong

Valgfri:

  • Tape (f.eks.: Scotch)
  • Skjermet ledning (f.eks.: koaksialkabel, ~ 3 ')
  • (3) krokodilleklipp
  • 3-pinners topptekst
  • Glidelås
  • Krympfolierør eller varmt lim

Trinn 2: Lag platene

Lag tallerkenene
Lag tallerkenene
Lag tallerkenene
Lag tallerkenene

Denne sensoren fungerer ved hjelp av enkle RC -kretser, med hver kretsavstandsavstand i en dimensjon. Jeg fant ut at den enkleste måten å ordne tre kapasitive plater til dette formålet er i hjørnet av en terning. Jeg kuttet hjørnet av en pappeske i en 8,5 terning, og kutter deretter noen aluminiumsfolie for å passe som litt mindre firkanter. Tape på hjørnene holder dem på plass. Ikke teip ned hele omkretsen, vi trenger det senere for å feste krokodilleklippene.

Trinn 3: Lag kontaktene

Lag kontaktene
Lag kontaktene
Lag kontaktene
Lag kontaktene
Lag kontaktene
Lag kontaktene

For å koble Arduino til platene trenger vi litt skjermet ledning. Hvis ledningen ikke er skjermet, fungerer ledningene i seg selv tydeligere som en del av kondensatoren. Jeg har også funnet ut at alligatorklemmer gjør det veldig enkelt å koble ting til aluminium - men det er sannsynligvis mange andre måter også.

  • Skjær tre like lange skjermede ledninger. Jeg valgte omtrent 12 ". Jo kortere jo bedre. Koaksialkabel fungerer, men jo lettere/mer fleksibel jo bedre.
  • Strip den siste halvdelen eller så for å avsløre skjermen, og den siste kvart tommer for å avsløre ledningen.
  • Vrid alligatorklemmene til ledningene på ledningene og lodd dem sammen.
  • Tilsett litt varmekrympeslange eller varmt lim for å holde ting sammen.

Trinn 4: Lag kretsen

Lag kretsen
Lag kretsen
Lag kretsen
Lag kretsen
Lag kretsen
Lag kretsen
Lag kretsen
Lag kretsen

"Kretsen" er bare to motstander per stykke aluminium. For å forstå hvorfor de er der, hjelper det å vite hva vi gjør med Arduino. Det vi skal gjøre med hver pin, sekvensielt, er:

  • Sett pinnen til utgangsmodus.
  • Skriv en digital "lav" til pinnen. Dette betyr at begge sider av kondensatoren er jordet, og den vil tømmes.
  • Sett pinnen til inndatamodus.
  • Tell hvor lang tid det tar for kondensatoren å lade ved å vente på at pinnen blir "høy". Dette avhenger av verdiene for kondensatoren og de to motstandene. Siden motstandene er faste, vil en endring i kapasitans være målbar. Avstanden fra bakken (hånden din) vil være hovedvariabelen som bidrar til kapasitansen.

270k motstander gir spenningen for å lade kondensatorene. Jo mindre verdi, desto raskere vil de lade. 10k -motstandene påvirker også timingen, men jeg forstår ikke helt deres rolle. Vi lager denne kretsen ved foten av hver ledning.

  • Lodd 10k -motstanden til enden av ledningen overfor krokodillen
  • Lodd 270k -motstanden mellom skjoldet og ledningen (platen). Vi vil skjerme ledningen med de samme 5 V som vi bruker til å lade kondensatorene

Trinn 5: Fullfør og fest kontakten

Fullfør og fest kontakten
Fullfør og fest kontakten
Fullfør og fest kontakten
Fullfør og fest kontakten
Fullfør og fest kontakten
Fullfør og fest kontakten

Når de tre kontaktene er ferdige, vil du kanskje legge til varmekrympeslange eller varmt lim for å isolere dem fra hverandre, fordi du skal lodde avskjermingen/5 V -punkter sammen.

For meg var det lettest å lodde de to ytterste kontaktene sammen og deretter legge til den tredje. Når du har loddet de tre kontaktene, legger du til en fjerde ledning for å forsyne skjoldet/5 V.

Trinn 6: Koble til og last opp kode

Koble til og last opp kode
Koble til og last opp kode
Koble til og last opp kode
Koble til og last opp kode
  • Plugg kontakten i Arduino (pinne 8, 9 og 10)
  • Fest alligatorklemmene på platene (8: x: venstre, 9: y: bunn, 10: z: høyre)
  • Gi strøm ved å koble den fjerde ledningen (min røde ledning) til Arduino 5 V
  • Koble til Arduino, start Arduino -miljøet
  • Last opp koden til tavlen (merk: hvis du er utenfor Nord -Amerika, må du sannsynligvis endre #define strømnettet til 50 i stedet for 60).

Arduino -koden er vedlagt som Interface3D.ino og behandlingskoden er vedlagt som TicTacToe3D.zip

Trinn 7: Gjør noe kult

Hvis du ser på det serielle vinduet i Arduino -miljøet, vil du legge merke til at det spytter ut rå 3D -koordinater på 115200 baud, på omtrent 10 Hz = 60Hz / (2 hele sykluser * 3 sensorer). Koden måler så mange ganger som mulig på hver sensor i løpet av to sykluser av nettfrekvensen (som er overraskende stabil) for å avbryte en kobling. Det første jeg gjorde med dette var å lage en enkel 3D Tic Tac Toe -grensesnitt. Hvis du vil starte med en fungerende demo, er koden tilgjengelig her, bare slipp mappen "TicTacToe3D" i mappen Processing sketches. Tre nyttige ting som Tic Tac Toe -koden demonstrerer:

  • Lineariserer rå data. Ladetiden følger faktisk en kraftlov i forhold til avstand, så du må ta kvadratroten til en over tid (dvs. avstand ~ = sqrt (1/tid))
  • Normaliserer dataene. Når du starter skissen, holder du venstre museknapp nede mens du flytter hånden rundt for å definere grensene for rommet du vil jobbe med.
  • Legger til "momentum" i dataene for å jevne ut uro.

I praksis kan jeg ved å bruke dette oppsettet med aluminiumsfolie få et utvalg av den største dimensjonen av folie (det største stykket jeg har testet er 1,5 kvadratmeter).

Trinn 8: Variasjoner og notater

Variasjoner

  • Bygg massive sensorer
  • Optimaliser motstandene og koden for ting som vibrerer raskt, og bruk den som en pickup/mikrofon
  • Det er sannsynligvis andre triks for å koble systemet fra vekselstrøm (en stor kondensator mellom platene og bakken?)
  • Jeg har eksperimentert med å skjerme platene på bunnen, men det ser bare ut til å forårsake problemer
  • Lag en RGB- eller HSB -fargevelger
  • Kontroller video- eller musikkparametere; sekvens et slag eller melodi
  • Stor, litt bøyd overflate med flere plater + et prosjektor = "Minority Report" -grensesnitt

Merknader

Arduino -lekeplassen har to artikler om kapasitiv berøringsfølelse (CapSense og CapacitiveSensor). Til slutt gikk jeg med en inversjon av et design jeg snublet over i en venns kopi av "Physical Computing" (Sullivan/Igoe) som beskrev hvordan man bruker RCtime (kretsen hadde kondensatoren og en motstand fast, og målte verdien av en Mikrosekund -timingen ble oppnådd ved hjelp av litt optimalisert kode fra Arduino -forumene. Igjen: bare fra å begynne med tonnevis med theremin -diagrammer, forstår jeg ikke helt, jeg er godt klar over at det finnes bedre måter å gjøre kapasitiv avstandsregistrering, men jeg ønsket å gjøre noe så enkelt som mulig som fremdeles er funksjonelt. Hvis du har et like enkelt og funksjonelt design, legg det ut i kommentarene! Takk til Dane Kouttron for å tolerere alle mine grunnleggende elektroniske spørsmål og hjelpe meg å forstå hvordan en enkel heterodyne theremin -krets fungerer (opprinnelig skulle jeg bruke disse - og, hvis den er riktig innstilt, vil den sannsynligvis være mer nøyaktig).

Førstepremie i The Instructables Book Contest

Anbefalt: