Mündəricat:

DIY 3D nəzarətçi: 8 addım (şəkillərlə)
DIY 3D nəzarətçi: 8 addım (şəkillərlə)

Video: DIY 3D nəzarətçi: 8 addım (şəkillərlə)

Video: DIY 3D nəzarətçi: 8 addım (şəkillərlə)
Video: Varlı, yoxsa kasıb olacaqsınız? - BURADAN ÖYRƏNİN 2024, Noyabr
Anonim
DIY 3D nəzarətçi
DIY 3D nəzarətçi

Altı rezistor, alüminium folqa və Arduino istifadə edərək 3D interfeysi yaradın. Bunu götürün, Wii. Update: bu layihənin daha ətraflı izahını Make Magazine -dən əldə edə bilərsiniz. Təlimatlarına əməl etmək daha asan ola bilər və düşünürəm ki, onların kodu daha aktualdır. Buradakı əsas məqsəd, bir çox funksiyanı hələ də qoruyarkən, insanların çoxunun qura biləcəyi bir 3D əl mövqeyi algılama sistemi etmək idi. Mümkün tətbiqlər haqqında bir fikir əldə etmək üçün demo videosuna baxın. Daha sadə və eyni dərəcədə dəqiq, ya da bir az daha mürəkkəb və daha dəqiq bir şey qura biləcəyinizi düşünürsünüzsə şərhlərdə paylaşın! DIY 3D Arayüzü: Vimeo üzərindəki Kyle McDonalddan Tic Tac Toe.

Addım 1: Materiallar

Materiallar
Materiallar
Materiallar
Materiallar

Alətlər

  • Arduino
  • İşlənilir
  • Tel kəsicilər
  • Lehimleme dəmir
  • Qutu kəsici

Materiallar

  • (3) 270k rezistorlar
  • (3) 10k rezistorlar
  • Lehim
  • Tel
  • Alüminium folqa
  • Karton

İsteğe bağlı:

  • Bant (məsələn: skotç)
  • Ekranlı tel (məsələn: koaksiyal kabel, ~ 3 ')
  • (3) timsah klipləri
  • 3 pinli başlıq
  • Fermuarlı qalstuk
  • Sarma borusunu və ya isti yapışqan büzün

Addım 2: Plitələr hazırlayın

Plitələr hazırlayın
Plitələr hazırlayın
Plitələr hazırlayın
Plitələr hazırlayın

Bu sensor, hər bir dövrənin məsafəni bir ölçüdə algılayaraq, sadə RC sxemlərindən istifadə edərək işləyəcək. Tapdım ki, bu məqsədlə üç tutumlu boşqab düzəltməyin ən asan yolu bir kubun küncündədir. Bir karton qutunun küncünü 8.5 ölçüsündə bir kub halına saldım və sonra bir az alüminium folqa kəsib bir az daha kiçik kvadratlara uyğunlaşdırdım. Künclərindəki bant onları yerində saxlayır. Bütün perimetri bantlamayın, bizə lazım olacaq daha sonra timsah kliplərini yapışdırmaq üçün.

Addım 3: Bağlayıcıları düzəldin

Bağlayıcıları düzəldin
Bağlayıcıları düzəldin
Bağlayıcıları düzəldin
Bağlayıcıları düzəldin
Bağlayıcıları düzəldin
Bağlayıcıları düzəldin

Arduino'yu lövhələrə bağlamaq üçün bir az ekranlı telə ehtiyacımız var. Tel qalxan deyilsə, tellərin özləri daha aydın şəkildə kondansatörün bir hissəsi kimi çıxış edirlər. Ayrıca, timsah kliplərinin şeyləri alüminiuma bağlamağı həqiqətən asanlaşdırdığını gördüm - amma başqa yollar da var.

  • Üç bərabər uzunluqda ekranlı kabel kəsin. Təxminən 12 "seçdim. Nə qədər qısa olsa, bir o qədər yaxşıdır. Koaksiyal kabel işləyir, amma nə qədər yüngül/daha çevik olsa, bir o qədər yaxşıdır.
  • Koruyucuyu açmaq üçün son yarım düyməni və ya teli açmaq üçün son dörddəbir düymünü soyun.
  • Timsah kliplərini tellərə bükün və birlikdə lehimləyin.
  • Hər şeyi bir yerdə saxlamaq üçün bir az büzücü boru və ya isti yapışqan əlavə edin.

Addım 4: Dövrə edin

Dövrə edin
Dövrə edin
Dövrə edin
Dövrə edin
Dövrə edin
Dövrə edin
Dövrə edin
Dövrə edin

"Dövrə" alüminiumun hər hissəsinə cəmi iki rezistordur. Niyə orada olduqlarını anlamaq üçün Arduino ilə nə etdiyimizi bilmək kömək edir. Hər pinlə ardıcıl olaraq nə edəcəyik:

  • Pimi çıxış rejiminə qoyun.
  • Pinə rəqəmsal "aşağı" yazın. Bu, kondansatörün hər iki tərəfinin topraklandığı və boşalacağı deməkdir.
  • Pini giriş rejiminə qoyun.
  • Pinin "yüksək" getməsini gözləyərək kondansatörün doldurulması üçün nə qədər vaxt lazım olduğunu hesablayın. Bu, kondansatörün və iki rezistorun dəyərlərindən asılıdır. Rezistorlar sabit olduğundan, kapasitans dəyişikliyi ölçülə bilər. Yerdən (əlinizdən) olan məsafə, kapasitansa kömək edən əsas dəyişən olacaq.

270k rezistorlar kondansatörləri doldurmaq üçün gərginlik verir. Dəyər nə qədər kiçik olsa, o qədər sürətli yüklənəcəklər. 10k rezistorlar vaxta da təsir edir, amma mən onların rolunu tam başa düşmürəm.

  • 10k rezistoru timsah klipinin qarşısındakı telin ucuna lehimləyin
  • Qalxan və tel (plaka) arasındakı 270k rezistoru lehimləyin. Kondansatörləri doldurmaq üçün istifadə etdiyimiz eyni 5 V ilə teli qoruyacağıq

Addım 5: Bağlayıcını bitirin və bağlayın

Konnektoru bitirin və bağlayın
Konnektoru bitirin və bağlayın
Konnektoru bitirin və bağlayın
Konnektoru bitirin və bağlayın
Konnektoru bitirin və bağlayın
Konnektoru bitirin və bağlayın

3 bağlayıcı bitdikdən sonra, bir -birindən izolyasiya etmək üçün istilik büzücü boru və ya isti yapışqan əlavə etmək istəyə bilərsiniz, çünki qoruyucu/5 V nöqtələrini birlikdə lehimləyəcəksiniz.

Mənim üçün ən xarici iki konnektoru birlikdə lehimləmək və sonra üçüncüsünü əlavə etmək ən asan idi. Üç konnektoru lehimlədikdən sonra, qalxan/5 V təchiz etmək üçün dördüncü bir tel əlavə edin.

Addım 6: Kodu bağlayın və yükləyin

Kodu bağlayın və yükləyin
Kodu bağlayın və yükləyin
Kodu bağlayın və yükləyin
Kodu bağlayın və yükləyin
  • Konnektoru Arduinoya qoşun (pinlər 8, 9 və 10)
  • Timsah kliplərini lövhələrə yapışdırın (8: x: sol, 9: y: alt, 10: z: sağ)
  • Dördüncü teli (qırmızı telimi) Arduino 5 V -a qoşaraq enerji verin
  • Arduino'yu qoşun, Arduino mühitini işə salın
  • Kodu lövhəyə yükləyin (qeyd: əgər Şimali Amerikanın xaricindəsinizsə, ehtimal ki, #define şəbəkəsini 60 əvəzinə 50 -yə dəyişməlisiniz).

Arduino kodu Interface3D.ino, İşləmə kodu isə TicTacToe3D.zip olaraq əlavə olunur

Addım 7: Sərin bir şey edin

Arduino mühitindəki serial pəncərəsinə baxsanız, 115200 baudda, təxminən 10 Hz = 60Hz / (2 tam dövr * 3 sensor) olan xam 3D koordinatlarını tüpürdüyünü görəcəksiniz. Kod, hər hansı bir əlaqəni ləğv etmək üçün hər bir sensordakı elektrik enerjisi tezliyinin iki dövrü ərzində (təəccüblü dərəcədə sabitdir) mümkün qədər çox dəfə ölçmə aparır. Bununla etdiyim ilk şey sadə bir 3D Tic etmək idi. Tac Toe İnterfeysi. İşləyən bir demo ilə başlamaq istəyirsinizsə, kod burada mövcuddur, "TicTacToe3D" qovluğunu İşləmə eskizlər qovluğuna atın. Tic Tac Toe kodunun göstərdiyi üç faydalı şey:

  • Xam məlumatları lineerləşdirir. Şarj müddəti əslində məsafəyə nisbətən bir güc qanununa uyğundur, buna görə də zamanla birinin kökünü götürməlisiniz (yəni, məsafə ~ = sqrt (1/dəfə))
  • Məlumatları normallaşdırır. Eskizi başlatdığınız zaman, işləmək istədiyiniz məkanın sərhədlərini təyin etmək üçün əlinizi hərəkət etdirərkən sol siçan düyməsini basıb saxlayın.
  • Sarsıntıları yumşaltmaq üçün məlumatlara "sürət" əlavə etmək.

Təcrübədə, alüminium folqa ilə bu qurğudan istifadə edərək, ən böyük folqa ölçüsünü əldə edə bilərəm (sınadığım ən böyük parça 1,5 kvadrat metrdir).

Addım 8: Variasiyalar və Qeydlər

Variantlar

  • Kütləvi sensorlar yaradın
  • Rezistorları və kodu sürətlə titrəyən şeylər üçün optimallaşdırın və götürmə/mikrofon kimi istifadə edin
  • Yəqin ki, sistemi AC zumdan ayırmaq üçün başqa fəndlər var (plitələr və yer arasındakı böyük bir kondansatör?)
  • Plitələrin alt hissəsini ekranlaşdırmaqla sınaqdan keçirdim, ancaq görünür ki, bu problem yaradır
  • RGB və ya HSB rəng seçici edin
  • Video və ya musiqi parametrlərinə nəzarət; bir ritm və ya melodiya ardıcıllığı
  • Çoxlu lövhələri olan böyük, bir az əyilmiş səth + proyektor = "Azlıqlar Hesabatı" interfeysi

Qeydlər

Arduino oyun meydançasında kapasitiv toxunma algılaması ilə bağlı iki məqalə var (CapSense və CapacitiveSensor). Sonda, bir dostumun "Fiziki Hesablama" nda (Sullivan/Igoe) RCtime -dan necə istifadə edəcəyini izah edən (dövrədə kondansatör və bir rezistor sabitlənmiş və a Mikrosaniyə vaxtı Arduino forumlarından bir qədər optimallaşdırılmış bir kod istifadə edərək həyata keçirildi. Yenə də: başa düşmədiyim tonlarla termematik sxemdən başlayaraq, kapasitif məsafə algılamanın daha yaxşı yollarının olduğunu yaxşı bilirəm, amma hələ də işlək olan bir şeyi mümkün qədər sadə etmək istədim. Eyni dərəcədə sadə və funksional bir dizaynınız varsa, şərhlərdə yazın! Dane Kouttron'a elektronika ilə bağlı bütün əsas suallarımı dözdüyüm üçün və sadə bir heterodin termemin dövrəsinin necə işlədiyini başa düşməyimə görə təşəkkür edirəm (əvvəlcə bunları istifadə edəcəkdim - və, düzgün tənzimlənsəydi, yəqin ki, daha dəqiq olardı).

The Instructables Kitab Müsabiqəsində birinci mükafat

Tövsiyə: