Satura rādītājs:

DIY 3D kontrolieris: 8 soļi (ar attēliem)
DIY 3D kontrolieris: 8 soļi (ar attēliem)

Video: DIY 3D kontrolieris: 8 soļi (ar attēliem)

Video: DIY 3D kontrolieris: 8 soļi (ar attēliem)
Video: NANDO pied. Edavārdi - Fizikas skolotājs (Official video) 2024, Novembris
Anonim
DIY 3D kontrolieris
DIY 3D kontrolieris

Izveidojiet 3D saskarni, izmantojot sešus rezistorus, alumīnija foliju un Arduino. Ņemiet to, Wii. Atjaunināt: daudz rūpīgāks šī projekta skaidrojums ir pieejams vietnē Make Magazine. Varētu būt vieglāk izpildīt viņu norādījumus, un es domāju, ka viņu kods ir jaunāks. Šeit galvenais mērķis bija izveidot 3D rokas stāvokļa noteikšanas sistēmu, ko lielākā daļa cilvēku var izveidot, vienlaikus saglabājot zināmu funkcionalitātes līdzību. Lai iegūtu priekšstatu par iespējamām lietojumprogrammām, skatiet demonstrācijas video. Ja domājat, ka varat izveidot vienkāršāku un vienlīdz precīzu vai nedaudz sarežģītāku un precīzāku, dalieties komentāros! DIY 3D saskarne: Tic Tac Toe no Kyle McDonald vietnē Vimeo.

1. solis: materiāli

Materiāli
Materiāli
Materiāli
Materiāli

Rīki

  • Arduino
  • Apstrāde
  • Stiepļu griezēji
  • Lodāmurs
  • Kastes griezējs

Materiāli

  • (3) 270k rezistori
  • (3) 10k rezistori
  • Lodēt
  • Vads
  • Alumīnija folijs
  • Kartons

Neobligāti:

  • Lente (piemēram: skotu)
  • Ekranēts vads (piemēram, koaksiālais kabelis, ~ 3 ')
  • (3) aligatora skavas
  • 3 kontaktu galvene
  • Kaklasaite ar rāvējslēdzēju
  • Sarauties ietīšanas caurules vai karsta līme

2. solis: izveidojiet plāksnes

Izgatavojiet plāksnes
Izgatavojiet plāksnes
Izgatavojiet plāksnes
Izgatavojiet plāksnes

Šis sensors darbosies, izmantojot vienkāršas RC shēmas, un katra ķēde uztvers attālumu vienā dimensijā. Es atklāju, ka vienkāršākais veids, kā šim nolūkam sakārtot trīs kapacitatīvās plāksnes, ir kuba stūrī. Es izgriezu kartona kastes stūri 8,5 collu kubiņā un pēc tam sagriezu kādu alumīnija foliju, lai tā ietilptu kā nedaudz mazāki kvadrātiņi. Lente uz stūriem notur tās vietā. Nelipiniet visu perimetru, mums tas būs vajadzīgs vēlāk, lai piestiprinātu aligatora skavas.

3. darbība: izveidojiet savienotājus

Izveidojiet savienotājus
Izveidojiet savienotājus
Izveidojiet savienotājus
Izveidojiet savienotājus
Izveidojiet savienotājus
Izveidojiet savienotājus

Lai savienotu Arduino ar plāksnēm, mums ir nepieciešams aizsargāts vads. Ja vads nav ekranēts, paši vadi acīmredzot darbojas kā kondensatora daļa. Es arī atklāju, ka aligatora skavas ļauj patiešām viegli savienot lietas ar alumīniju, taču, iespējams, ir arī daudz citu veidu.

  • Izgrieziet trīs vienāda garuma ekranētu kabeli. Es izvēlējos apmēram 12 ". Jo īsāks, jo labāk. Koaksiālais kabelis darbojas, bet jo vieglāks/elastīgāks, jo labāk.
  • Noņemiet apmēram pusi collas, lai atklātu ekranējumu, un pēdējo ceturtdaļu collas, lai atklātu vadu.
  • Pagrieziet aligatora skavas pie vadiem uz vadiem un pielodējiet kopā.
  • Pievienojiet dažas termiski saraušanās caurules vai karstu līmi, lai lietas būtu kopā.

4. solis: izveidojiet ķēdi

Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi
Izveidojiet ķēdi

"Ķēde" ir tikai divi rezistori uz vienu alumīnija gabalu. Lai saprastu, kāpēc viņi tur atrodas, tas palīdz zināt, ko mēs darām ar Arduino. Mēs darīsim secīgi ar katru tapu:

  • Iestatiet tapu izvades režīmā.
  • Uz tapas ierakstiet ciparu “zems”. Tas nozīmē, ka abas kondensatora puses ir iezemētas un tas izlādēsies.
  • Iestatiet tapu ievades režīmā.
  • Saskaitiet, cik daudz laika nepieciešams kondensatora uzlādēšanai, gaidot, kamēr tapa nonāks "augstu". Tas ir atkarīgs no kondensatora un divu rezistoru vērtībām. Tā kā rezistori ir fiksēti, kapacitātes izmaiņas būs izmērāmas. Attālums no zemes (jūsu roka) būs galvenais mainīgais, kas veicina kapacitāti.

270k rezistori nodrošina spriegumu kondensatoru uzlādēšanai. Jo mazāka vērtība, jo ātrāk tie tiks uzlādēti. 10k rezistori ietekmē arī laiku, bet es pilnībā nesaprotu to lomu. Mēs izveidosim šo ķēdi katra stieples pamatnē.

  • Lodējiet 10k rezistoru līdz stieples galam pretī aligatora skavai
  • Lodējiet 270k rezistoru starp vairogu un vadu (plāksni). Mēs aizsargāsim vadu ar tiem pašiem 5 V, ko izmantojam kondensatoru uzlādēšanai

5. darbība: pabeidziet un pievienojiet savienotāju

Pabeidziet un pievienojiet savienotāju
Pabeidziet un pievienojiet savienotāju
Pabeidziet un pievienojiet savienotāju
Pabeidziet un pievienojiet savienotāju
Pabeidziet un pievienojiet savienotāju
Pabeidziet un pievienojiet savienotāju

Kad 3 savienotāji ir pabeigti, iespējams, vēlēsities pievienot termiski saraušanās caurules vai karstu līmi, lai tos izolētu viens no otra, jo jūs kopā lodēsiet ekranēšanas/5 V punktus.

Man bija visvieglāk abus ārējos savienotājus lodēt kopā un pēc tam pievienot trešo. Kad esat savienojis trīs savienotājus, pievienojiet ceturto vadu vairoga piegādei/5 V.

6. darbība: pievienojiet un augšupielādējiet kodu

Savienojiet un augšupielādējiet kodu
Savienojiet un augšupielādējiet kodu
Savienojiet un augšupielādējiet kodu
Savienojiet un augšupielādējiet kodu
  • Pievienojiet savienotāju Arduino (8., 9. un 10. tapa)
  • Piestipriniet aligatora skavas uz plāksnēm (8: x: pa kreisi, 9: y: apakšā, 10: z: pa labi)
  • Nodrošiniet strāvu, pievienojot ceturto vadu (manu sarkano vadu) Arduino 5 V spriegumam
  • Pievienojiet Arduino, ieslēdziet Arduino vidi
  • Augšupielādējiet kodu uz tāfeles (piezīme: ja atrodaties ārpus Ziemeļamerikas, iespējams, jums būs jāmaina #define mains uz 50, nevis 60).

Arduino kods ir pievienots kā Interface3D.ino, un apstrādes kods ir pievienots kā TicTacToe3D.zip

7. solis: dariet kaut ko foršu

Aplūkojot sērijas logu Arduino vidē, jūs pamanīsit, ka tas izspiež neapstrādātas 3D koordinātas ar 115200 bodu, aptuveni 10 Hz = 60 Hz / (2 pilni cikli * 3 sensori). Kods veic mērījumus pēc iespējas vairāk reižu katrā sensorā divu tīkla strāvas frekvences ciklu laikā (kas ir pārsteidzoši stabils), lai atceltu jebkādu savienojumu. Pirmā lieta, ko es darīju, bija vienkārša 3D zīme Tac Toe saskarne. Ja vēlaties sākt ar demonstrējošu demonstrāciju, kods ir pieejams šeit, vienkārši nometiet mapi "TicTacToe3D" mapē Apstrādes skices. Trīs noderīgas lietas, ko parāda Tic Tac Toe kods:

  • Linearizē neapstrādātus datus. Uzlādes laiks faktiski atbilst jaudas likumam attiecībā pret attālumu, tāpēc laika gaitā ir jāņem kvadrātsakne no viena (ti, attālums ~ = kv. (1/laiks))
  • Normalizē datus. Uzsākot skici, turiet nospiestu peles kreiso pogu, vienlaikus pārvietojot roku, lai noteiktu tās telpas robežas, ar kuru vēlaties strādāt.
  • "Impulsa" pievienošana datiem, lai izlīdzinātu nervozitāti.

Praksē, izmantojot šo iestatījumu ar alumīnija foliju, es varu iegūt vislielākās folijas izmēru diapazonu (lielākais pārbaudītais gabals ir 1,5 kvadrātpēdas).

8. darbība: variācijas un piezīmes

Variācijas

  • Izveidojiet masīvus sensorus
  • Optimizējiet rezistorus un kodējiet lietas, kas ātri vibrē, un izmantojiet to kā uztvērēju/mikrofonu
  • Iespējams, ir arī citi triki sistēmas atvienošanai no maiņstrāvas dūdām (milzīgs kondensators starp plāksnēm un zemi?)
  • Esmu eksperimentējis ar plākšņu ekranēšanu apakšā, bet šķiet, ka tas rada tikai problēmas
  • Izveidojiet RGB vai HSB krāsu atlasītāju
  • Kontrolēt video vai mūzikas parametrus; sakārtot ritmu vai melodiju
  • Liela, nedaudz saliekta virsma ar vairākām plāksnēm + projektors = saskarne "Minority Report"

Piezīmes

Arduino rotaļu laukumā ir divi raksti par kapacitatīvo pieskārienu noteikšanu (CapSense un CapacitiveSensor). Visbeidzot, es apgriezu dizainu, ar kuru es nejauši sastapos drauga eksemplārā "Fiziskā skaitļošana" (Sullivan/Igoe), kurā aprakstīts, kā izmantot RCtime (ķēdē bija fiksēts kondensators un viens rezistors, un izmērīju potenciometrs). Mikrosekundes laiks tika veikts, izmantojot nedaudz optimizētu kodu no Arduino forumiem. Atkal: tikai sākot no tonnām turminas shēmu, es pilnībā nesaprotu, es labi apzinos, ka ir labāki veidi, kā veikt kapacitatīvo attāluma noteikšanu, bet es gribēju izveidot kaut ko pēc iespējas vienkāršāku, kas joprojām ir funkcionāls. Ja jums ir tikpat vienkāršs un funkcionāls dizains, ievietojiet to komentāros! Paldies Danei Kouttronai, ka tā panes visus manus elektronikas pamatjautājumus un palīdzēja man saprast, kā darbojas vienkārša heterodīna turīna ķēde (sākotnēji es tos izmantoju - un, ja tas ir pareizi noregulēts, tas, iespējams, būtu precīzāks).

Pirmā balva pamācību grāmatu konkursā

Ieteicams: