İçindekiler:
- 1. Adım: Donanım ve Malzeme
- 2. Adım: Elektronik
- 3. Adım: Fareyi Hazırlama
- Adım 4: Kaynak Kodu
- Adım 5: Video
Video: 3D HAVA Fare - Arduino + İşleme: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:22
3D HAVA fare | Arduino + ProcessingEndüstriyel tasarım öğrencisiyim ve geçen yıl "RAW malzeme olarak teknoloji" adlı bir dersin parçası olarak bu projeyi son çalışmam olarak oluşturdum. Çoğu zaman tasarım ve mühendislik için bir CAD yazılımı olan SolidWorks ile çalışıyorum.. Ekrandaki katı bir gövdeyi döndürme, orta fare düğmesi kullanılarak yapılır. Daha sezgisel bir şey arıyordum. Bir nesnenin gerçek dönüşünün, fareyi 3 eksende havada hareket ettirerek yapıldığı 3B hava faresini bu şekilde yaptım - aynı şekilde, nesneyi elinizde tutarsanız döndürürdünüz. Arduino, birkaç sensör ve bir İşleme taslağı kullandım. NOTLAR:- Şu an itibariyle, SolidWork ile çalışacak gerçek bir eklenti olmadığı için bu sadece konseptin bir gösterimidir (ama tabii ki nasıl olduğunu biliyorsan bir tane yaz:)- Tüm donanım benim olmadığı için, gerçek 3D fare çoktan gitti ve tüm bunlardan bir anlam çıkarmaya çalışmak ve size vermek için bazı fotoğraflar ve bir video kullanıyorum. Kendiniz denemek ve inşa etmek istiyorsanız bir fikir… Keyfini çıkarın… (Bu benim ilk Eğitilebilir Kitabım) İşte bitmiş projenin bir video demosu
1. Adım: Donanım ve Malzeme
3 eksenli ivmeölçer + pusula sensörüne dayalı olduğu için en ucuz Instructable değil. İhtiyacınız olan şeyler:* Bir fare - kullanılmış olan daha iyidir (yalnızca kullanılmış ve daha ucuz olduğu için), herhangi bir fare yapmalıdır. Sensörleri ve bazı ekstra kabloları barındırmak için biraz alana ihtiyacınız var, bu yüzden ekstra ince / ekstra küçük fareler için gitmeyin.* Eğim Dengelemeli Pusula Modülü - HMC634 - Bu, SpurkFun'dan ~ için satın alınan 3 eksenli sensördür. 149$* Mantık Seviyesi Dönüştürücü - MUTLAKA! Arduino 5V ve 3 eksen sensörü 3.3V olduğundan, 5V'yi 3.3V'a dönüştürmek için bunlardan birine ihtiyacınız var. Büyük bir adı var, ancak SpurkFun'da yalnızca 1,95 $ maliyeti.* Büyük Optik Dedektör / Fototransistör - Bu, bu projede farenin çalışma yüzeyinden kaldırıldığını algılamak için kullanılan basit bir optik sensördür. SpurkFun'dan 2.25$'a satın aldıysanız, bunu seçtiğiniz farenin içine yerleştirmek için yeterli alanınız yoksa, bunu daha küçük ve daha ucuz bir şekilde kullanabilirsiniz. * Bir (1) LED - rengi boşverin, ultra parlak daha iyi çalışır.* 2 Direnç - Bir (1) x 100Ω ve Bir (1) x 100KΩ (Optik sensör için)* Arduino kartı - DA! Diecimila modelini kullandım. Daha yeni bir Duemilanove, SpurkFun'da yaklaşık 29,95 $ karşılığında mevcut (Ayrıca çalışması gerekir) + Arduino yazılımı yüklendi.* İşleme yazılımı yüklendi.* Projenin kaynak kodu (Endişelenme, bir saniye içinde indireceksin.) Artı: Biraz sıcak tutkal (bir şeyleri yerine sabitlemek için)Birkaç küçük vida. Yaklaşık 10cm 6mm (Çap) ahşap dübel. Bazı ekstra teller. Lehimleme demir. Plastiği kesmek için bir şey, bir kesme bıçağı ve bir dosya kullandım (şekillendirme için). ("Tamam, bu adım için benden nefret etmeyin, İngilizce benim 2. dilim, eğer bunu yanlış anladıysam, üzgünüm, ne yapmaya çalıştığımı bir saniye içinde anlayacaksınız. resimlerde göreceksiniz")
2. Adım: Elektronik
Her şeyin birlikte lehimlenmesi gerekiyor…Bir bakıma…NOT: 3 eksenli sensör pahalı bir şey, her şeyi açmadan önce kabloları iki kez kontrol edin…Bu projede kullanılan tüm kablolama için ekteki şemalara bakın. Ekli kaynak kodu sadece benim yaptığım pin numaralarını kullanırsanız çalışabilir, ancak koddaki uygun numaraları değiştirdiğiniz sürece bağlanırken bunları değiştirmekten çekinmeyin. 3 eksenli sensörü mantık seviye dönüştürücüye bağlama:Sensör VCC -> Arduino 3V3Sensor GND -> Arduino GndSensor SDA -> Dönüştürücü TXI (Chan1) Dönüştürücü TXO (Chan1) -> Arduino ANALOG IN 4Sensor SCL -> Dönüştürücü TXI (Chan2) Dönüştürücü TXO (Chan2) -> Arduino ANALOG IN 5Converter GND (en az biri) -> Arduino GndConverter HV -> Arduino 5VConverter LV -> Arduino 3V3Arduino için optik sensör:Bakınız ekteki imageDigital in = ArduinoLED'deki Pin 11:GND bazılarına GND (optik sensörlerden birini kullandım)+ - Arduino PIN 13'e (Bu, bu pinin zaten yerleşik bir direnci olduğundan yapıldı, farklı bir tane kullanıyorsanız, LED'i yakmamak için bir direnç kullandığınızdan emin olun)
3. Adım: Fareyi Hazırlama
Sensörler, farenin muhafazası içinde yerlerini burada bulurlar. 3 eksenli sensörü sabitlemek için en iyi yeri bulun. Düz olduğundan emin olun ve yönüne dikkat edin (Sensörü ne zaman elinizde tutacağınızı bileceksiniz) İstediğiniz şekilde sabitleyebilirsiniz, 2 küçük vidayı kabul etmek için delinmiş 2 kısa ahşap dübel kullandım ve farenin ana kartına sıcak yapıştırılmıştır. Optik sensör için farenin altında dikdörtgen bir delik oluşturun, buradaki fikir sensörün her zaman tabloyu "görmesini" sağlamaktır. Fare kaldırıldığında ve sensör durumu "açık" olduğunda (görülecek tablo yok) fare 3D moduna geçer (İşleme çizimini çalıştırır) Ekstra kabloları (sensörlerden Arduino'ya) dışarı yönlendirmek için başka bir delik şekillendirin plastik kap. Mayın farenin sağ tarafında bulunuyordu. LED'in gösterileceği yere sabitleyin. Bu projede LED, 3D modu göstergesidir. Benimkini silikon fare tekerleğinin yanına yerleştiriyorum. Fare kaldırıldığında, tekerlek güzel bir mavi parıltıya sahipti.
Adım 4: Kaynak Kodu
Arduino'nun kodu öğretmenim Shachar Geiger tarafından yazılmıştır ve bu proje için benim tarafımdan değiştirilmiştir. 3D küp kodu Processing web sitesinde bulunan temel koddur. Biraz değiştirdim. Kodda, bu yığın sensörden gelen ham bilgiyi (tipik olarak -180'den 180 x 10'a) 0-255 getHeading();Serial.write ('x');x = (x'e dönüştürür. +1800) / 14;Serial.write(x);Serial.write('y');y = (y+1800) / 14;Serial.write(y);Serial.write('z');z= (z+1800) / 14;Serial.write(z); Sensörden ve Arduino'dan gelen bilgiler, her bir ayrı eksen için İşleme çizimine gider, ancak bir önceki eksen harfiyle (örn. X12 Y200 Z130 için), aşağıdaki kod harfi bırakır ve yalnızca COM'a gönderilecek değerleri bırakır. port while(port.available() == 0){}char okuma = 0;while (okuma != 'x') {while(port.available() == 0){}okuma = (char)port.read ();}X = port.read();while (okurken != 'y') {while(port.available() == 0){}reading = (char)port.read();}Y = port.read();while (okuma != 'z') {while(port.available() == 0){}reading = (char)port.read();}Z = port.read(); Bu kod parçası tüm negatif değerleri düşürür… if ((X != -1) && (Y != -1) && (Z != -1)){rotateZ(-(float)Y/25.0);rotateX((float)X/25.0);rotateY((float)Z/25.0);pX = X;pY = Y;pZ = Z;} else {rotateZ(-(float)pY/25.0);rotateX((kayan)pX /25.0);rotateY((float)pZ/25.0);} Ekli ZIP dosyası hem Arduino hem de İşleme kodunu içeriyordu
Adım 5: Video
İşte bu…Bu bir videodaki bitmiş proje. Küçük bir hata var (Videoda küpün bazen "atladığını" görebilirsiniz), Z ekseninden dolayıdır, başınıza gelmeyebilir…
Önerilen:
Kendin Yap Pille Çalışan Bluetooth Hoparlör // Nasıl Yapılır - Ağaç İşleme: 14 Adım (Resimlerle)
Kendin Yap Pille Çalışan Bluetooth Hoparlör // Nasıl Yapılır - Ağaç İşleme: Bu şarj edilebilir, pille çalışan, taşınabilir Bluetooth boombox hoparlörü, Parts Express C-Note hoparlör kitini ve KAB amfi kartını kullanarak yaptım (tüm parçalara bağlantılar aşağıdadır). Bu benim ilk hoparlör kurulumumdu ve gerçekten ne kadar harika olduğuna şaşırdım
Tasarımcı için İlginç İşleme Programlama Rehberi -- Renk Kontrolü: 10 Adım
Tasarımcı için İlginç İşleme Programlama Rehberi - Renk Kontrolü: Önceki bölümlerde, renkle ilgili bilgi noktaları yerine şekillendirme yapmak için kodun nasıl kullanılacağı hakkında daha fazla konuştuk. Bu bölümde, bilginin bu yönünü daha derinden keşfedeceğiz
Görüntü İşleme Tabanlı Yangın Tanıma ve Söndürme Sistemi: 3 Adım
Görüntü İşleme Tabanlı Yangın Tanıma ve Söndürme Sistemi : Merhaba arkadaşlar Arduino kullanan görüntü işleme tabanlı yangın algılama ve söndürme sistemidir
Raspberry Pi ile Görüntü İşleme: OpenCV Kurulumu ve Görüntü Renk Ayrımı: 4 Adım
Raspberry Pi ile Görüntü İşleme: OpenCV Kurulumu ve Görüntü Renk Ayrımı: Bu gönderi, takip edilecek birkaç görüntü işleme eğitiminden ilkidir. Bir görüntüyü oluşturan piksellere daha yakından bakıyoruz, Raspberry Pi'ye OpenCV yüklemeyi öğreniyoruz ve ayrıca bir görüntü yakalamak için test komut dosyaları yazıyoruz ve ayrıca c
OpenLH: Biyoloji ile Yaratıcı Deneyler için Açık Sıvı İşleme Sistemi: 9 Adım (Resimlerle)
OpenLH: Biyoloji ile Yaratıcı Deneyler için Açık Sıvı İşleme Sistemi: Bu çalışmayı Uluslararası Somut, Gömülü ve Somut Etkileşim Konferansı'nda (TEI 2019) sunmaktan gurur duyuyoruz. Tempe, Arizona, ABD | 17-20 Mart.Tüm montaj dosyaları ve kılavuzları burada mevcuttur.En son kod sürümü şu adreste mevcuttur