İçindekiler:

DIY 3D Kontrol Cihazı: 8 Adım (Resimlerle)
DIY 3D Kontrol Cihazı: 8 Adım (Resimlerle)

Video: DIY 3D Kontrol Cihazı: 8 Adım (Resimlerle)

Video: DIY 3D Kontrol Cihazı: 8 Adım (Resimlerle)
Video: Evde Minyatür Drone Yaptım (ÇALIŞIYOR) 🚁🔥 2024, Kasım
Anonim
DIY 3D Denetleyici
DIY 3D Denetleyici

Altı direnç, alüminyum folyo ve bir Arduino kullanarak bir 3B arayüz yapın. Bunu al, Wii. Update: Bu projenin çok daha kapsamlı bir açıklaması Make Magazine'de mevcuttur. Talimatlarını takip etmek daha kolay olabilir ve bence kodları daha güncel. Buradaki temel amaç, çoğu insanın inşa edebileceği bir 3D el konumu algılama sistemi yapmaktı, ancak yine de bir miktar işlevsellik koruyordu. Olası uygulamalar hakkında fikir edinmek için demo videosunu izleyin. Daha basit ve eşit derecede doğru veya biraz daha karmaşık ve daha doğru bir tane oluşturabileceğinizi düşünüyorsanız, yorumları paylaşın! Kendin Yap 3D Arayüzü: Vimeo'da Kyle McDonald'dan Tic Tac Toe.

Adım 1: Malzemeler

Malzemeler
Malzemeler
Malzemeler
Malzemeler

Aletler

  • Arduino
  • İşleme
  • Tel kesiciler
  • Havya
  • Kutu kesici

Malzemeler

  • (3) 270k direnç
  • (3) 10k direnç
  • Lehim
  • Tel
  • Aliminyum folyo
  • Karton

İsteğe bağlı:

  • Bant (ör.: viski)
  • Korumalı tel (ör.: koaksiyel kablo, ~3')
  • (3) timsah klipleri
  • 3 pimli başlık
  • Zip-kravat
  • Shrink sarma boru veya sıcak tutkal

Adım 2: Plakaları Yapın

Plakaları Yap
Plakaları Yap
Plakaları Yap
Plakaları Yap

Bu sensör, her bir devrenin bir boyutta algılama mesafesi ile basit RC devreleri kullanarak çalışacaktır. Bu amaç için üç kapasitif plaka düzenlemenin en kolay yolunun bir küpün köşesinde olduğunu buldum. Bir karton kutunun köşesini 8,5 küp şeklinde kestim ve sonra biraz daha küçük kareler olarak sığdırmak için biraz alüminyum folyo kestim. Köşelerdeki bant onları yerinde tutar. Tüm çevreyi bantlamayın, ihtiyacımız olacak daha sonra timsah klipslerini takmak için.

3. Adım: Konektörleri Yapın

Konektörleri Yapın
Konektörleri Yapın
Konektörleri Yapın
Konektörleri Yapın
Konektörleri Yapın
Konektörleri Yapın

Arduino'yu plakalara bağlamak için bir miktar korumalı kabloya ihtiyacımız var. Tel korumalı değilse, tellerin kendileri daha açık bir şekilde kapasitörün bir parçası olarak hareket eder. Ayrıca, timsah klipslerinin bir şeyleri alüminyuma bağlamayı gerçekten kolaylaştırdığını buldum - ama muhtemelen başka birçok yol da var.

  • Üç eşit uzunlukta blendajlı kablo kesin. Yaklaşık 12" seçtim. Ne kadar kısa olursa o kadar iyi. Koaksiyel kablo çalışır, ancak ne kadar hafif/esnek olursa o kadar iyi.
  • Ekranı ortaya çıkarmak için son yarım inç'i ve kabloyu ortaya çıkarmak için son çeyrek inç'i soyun.
  • Timsah klipslerini tellere bükün ve birlikte lehimleyin.
  • İşleri bir arada tutmak için biraz ısıyla daralan makaron veya sıcak tutkal ekleyin.

Adım 4: Devreyi Yapın

Devreyi Yap
Devreyi Yap
Devreyi Yap
Devreyi Yap
Devreyi Yap
Devreyi Yap
Devreyi Yap
Devreyi Yap

"Devre", alüminyum parçası başına sadece iki dirençtir. Neden orada olduklarını anlamak için Arduino ile ne yaptığımızı bilmek yardımcı olur. Sırayla her pimle yapacağımız şey:

  • Pimi çıkış moduna ayarlayın.
  • Pime dijital bir "düşük" yazın. Bu, kondansatörün her iki tarafının topraklandığı ve boşalacağı anlamına gelir.
  • Pimi giriş moduna ayarlayın.
  • Pimin "yüksek" gitmesini bekleyerek kapasitörün şarj olması için ne kadar zaman gerektiğini sayın. Bu, kapasitör ve iki direnç değerlerine bağlıdır. Dirençler sabit olduğundan, kapasitansta bir değişiklik ölçülebilir olacaktır. Yerden uzaklık (eliniz), kapasitansa katkıda bulunan birincil değişken olacaktır.

270k dirençler, kapasitörleri şarj edecek voltajı sağlar. Değer ne kadar küçük olursa, o kadar hızlı şarj olurlar. 10k dirençler de zamanlamayı etkiler, ancak rollerini tam olarak anlamıyorum. Bu devreyi her telin tabanında yapacağız.

  • 10k direncini, timsah klipsinin karşısındaki telin ucuna lehimleyin
  • 270k direncini blendaj ile tel (plaka) arasına lehimleyin. Kabloyu kapasitörleri şarj etmek için kullandığımız aynı 5 V ile koruyacağız

Adım 5: Konnektörü Bitirin ve Takın

Konektörü Bitirin ve Takın
Konektörü Bitirin ve Takın
Konektörü Bitirin ve Takın
Konektörü Bitirin ve Takın
Konektörü Bitirin ve Takın
Konektörü Bitirin ve Takın

3 konektör bittiğinde, bunları birbirinden yalıtmak için ısıyla daralan makaron veya sıcak tutkal eklemek isteyebilirsiniz, çünkü blendajı/5 V noktalarını birlikte lehimleyeceksiniz.

Benim için en dıştaki iki konektörü birlikte lehimlemek ve ardından üçüncüyü eklemek en kolayıydı. Üç konektörü lehimledikten sonra, kalkanı/5 V beslemek için dördüncü bir kablo ekleyin.

6. Adım: Bağlayın ve Kodu Yükleyin

Bağlan ve Kodu Yükle
Bağlan ve Kodu Yükle
Bağlan ve Kodu Yükle
Bağlan ve Kodu Yükle
  • Konektörü Arduino'ya takın (8, 9 ve 10 numaralı pinler)
  • Timsah klipslerini plakalara oturtun (8:x:sol, 9:y:alt, 10:z:sağ)
  • Dördüncü kabloyu (benim kırmızı kablom) Arduino'nun 5 V'una takarak güç sağlayın
  • Arduino'yu takın, Arduino ortamını başlatın
  • Kodu panoya yükleyin (not: Kuzey Amerika dışındaysanız, muhtemelen #define şebekesini 60 yerine 50 olarak değiştirmeniz gerekecektir).

Arduino kodu Interface3D.ino olarak eklenir ve İşleme kodu TicTacToe3D.zip olarak eklenir

Adım 7: Harika Bir Şey Yapın

Arduino ortamındaki seri pencereye bakarsanız, 115200 baud'da, yaklaşık 10 Hz = 60Hz / (2 tam döngü * 3 sensör)'de ham 3D koordinatları yaydığını fark edeceksiniz. Kod, herhangi bir kuplajı iptal etmek için ana güç frekansının (şaşırtıcı derecede kararlı olan) iki döngüsü boyunca her sensörde mümkün olduğunca çok ölçüm alır. Bununla yaptığım ilk şey basit bir 3D Tic yapmaktı. Tac Toe Arayüzü. Çalışan bir demo ile başlamak istiyorsanız, kod burada mevcuttur, "TicTacToe3D" klasörünü İşleme çizimleri klasörünüze bırakmanız yeterlidir. Tic Tac Toe kodunun gösterdiği üç yararlı şey:

  • Ham verileri doğrusallaştırır. Şarj süresi aslında mesafeye göre bir güç yasasını takip eder, bu nedenle zaman üzerinden birin karekökünü almanız gerekir (yani, mesafe ~= sqrt(1/zaman))
  • Verileri normalleştirir. Çizimi başlattığınızda, çalışmak istediğiniz alanın sınırlarını belirlemek için elinizi hareket ettirirken sol fare düğmesini basılı tutun.
  • Herhangi bir titremeyi yumuşatmak için verilere "momentum" eklenmesi.

Pratikte, bu kurulumu alüminyum folyo ile kullanarak en büyük folyo boyutu aralığını elde edebilirim (test ettiğim en büyük parça 1,5 fit karedir).

Adım 8: Varyasyonlar ve Notlar

Varyasyonlar

  • Büyük sensörler oluşturun
  • Dirençleri optimize edin ve hızlı titreşen şeyler için kodlayın ve bir alıcı/mikrofon olarak kullanın
  • Sistemi AC humdan ayırmak için muhtemelen başka hileler de vardır (plakalar ve zemin arasında büyük bir kapasitör?)
  • Alt kısımdaki plakaları korumayı denedim, ancak bu sadece sorunlara neden oluyor gibi görünüyor
  • RGB veya HSB renk seçici yapın
  • Video veya müzik parametrelerini kontrol edin; bir ritmi veya melodiyi sıralamak
  • Birden fazla plakaya sahip geniş, hafifçe bükülmüş yüzey + bir projektör = "Azınlık Raporu" arayüzü

Notlar

Arduino oyun alanında kapasitif dokunmatik algılama (CapSense ve CapacitiveSensor) üzerine iki makale bulunmaktadır. Sonunda, bir arkadaşımın RCtime'ın nasıl kullanılacağını açıklayan "Fiziksel Hesaplama" (Sullivan/Igoe) kopyasında rastladığım bir tasarımın tersine çevrilmesiyle gittim (devrede kapasitör ve bir direnç sabitlenmiş ve bir potansiyometre). Mikrosaniye zamanlaması, Arduino forumlarından biraz optimize edilmiş bazı kodlar kullanılarak gerçekleştirildi. Yine: tonlarca theremin şemasından başlayarak tam olarak anlamıyorum, kapasitif mesafe algılamayı yapmanın daha iyi yolları olduğunun farkındayım, ama yine de işlevsel olan mümkün olduğunca basit bir şey yapmak istedim. Eşit derecede basit ve işlevsel bir tasarımınız varsa, yorumlara gönderin! Tüm temel elektronik sorularımı tolere ettiği ve basit bir heterodin termin devresinin nasıl çalıştığını anlamama yardımcı olduğu için Dane Kouttron'a teşekkürler (başlangıçta bunları kullanacaktım -- ve, doğru ayarlanmışsa, muhtemelen daha doğru olur).

Instructables Kitap Yarışmasında Birincilik Ödülü

Önerilen: