İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Birkaç yıl önce, hedeflendiğinde kendi kendine ateş edebilen yarı özerk bir taret sergileyen bir proje gördüm. Bu bana hedefleri yakalamak için bir Pixy 2 kamera kullanma ve ardından nerf silahını otomatik olarak hedef alma fikrini verdi, bu da daha sonra kilitlenip kendi kendine ateş edebilirdi.
Bu proje DFRobot.com tarafından desteklenmiştir.
Gerekli parçalar:
DFRobot Şanzımanlı Step Motor-
DFRobot Step Motor Sürücüsü-
DFRobot Pixy 2 Cam-
NEMA 17 Step Motor
Arduino Mega 2560
HC-SR04
Nerf Nitron
Adım 1: Bileşenler
Bu proje için silahın göze ihtiyacı vardı, bu yüzden ana kartla ne kadar kolay arayüz oluşturabileceğinden dolayı Pixy 2'yi kullanmayı seçtim. Sonra bir mikrodenetleyiciye ihtiyacım vardı, bu yüzden kaç pini olduğu için Arduino Mega 2560'ı seçtim.
Silahın iki eksene, yalpalama ve eğime ihtiyacı olduğundan, iki kademeli motor gerektirir. Bu nedenle, DFRobot bana çift DRV8825 motor sürücü kartını gönderdi.
2. Adım: CAD
Fusion 360'ı yükleyerek ve nerf tabancasının ekli bir tuvalini ekleyerek başladım. Sonra o tuvalden sağlam bir beden yarattım. Silah tasarlandıktan sonra, silahın soldan sağa dönmesine izin verecek birkaç yatak tabanlı desteğe sahip bir platform yaptım. Sürmek için dönen platformun yanına bir step motor yerleştirdim.
Ancak daha büyük soru, silahın nasıl yukarı ve aşağı doğru eğimli hale getirileceğidir. Bunun için bir noktası hareketli bloğa, diğer noktası tabancanın arkasında bulunan lineer bir tahrik sistemine ihtiyaç vardı. Bir çubuk iki noktayı birbirine bağlayacak ve tabancanın merkezi ekseni boyunca dönmesine izin verecekti.
Gerekli tüm dosyaları buradan indirebilirsiniz:
www.thingiverse.com/thing:3396077
Adım 3: Parçaların İmalatı
Tasarımımdaki hemen hemen tüm parçalar 3D basılmış, bu yüzden onları oluşturmak için iki yazıcımı kullandım. Ardından, CNC router'ım için gerekli takım yollarını oluşturmak için önce Fusion 360'ı kullanarak hareketli platformu oluşturdum, ardından diski bir kontrplak levhadan kestim.
Adım 4: Montaj
Tüm parçalar oluşturulduktan sonra sıra onları birleştirmeye geldi. Rulman desteklerini dönen diske bağlayarak başladım. Daha sonra 6mm alüminyum çubukları ve dişli çubuğu parçaların arasından geçirerek lineer hatve tertibatını bir araya getirdim. Son olarak, nerf tabancasını çelik bir çubuk ve alüminyum ekstrüzyonlardan yapılmış iki direk ile tuttum.
Adım 5: Programlama
Şimdi projenin en zor kısmı için: programlama. Bir mermi ateşleme makinesi çok karmaşıktır ve arkasındaki matematik kafa karıştırıcı olabilir. Program akışını ve mantığını adım adım yazarak, her makine durumunda ne olacağını detaylandırarak başladım. Farklı devletler aşağıdaki gibi gider:
Hedef elde et
Silahı yerleştir
Motorları biriktirin
silahı ateşle
Motorları kapat
Hedefi elde etmek, önce neon pembe nesneleri hedef olarak izlemek için Pixy'nin ayarlanmasını içerir. Ardından, hedef Pixy'nin görüşünde merkezlenene kadar hareket eder, burada silah namlusundan hedefe olan mesafesi ölçülür. Bu mesafe kullanılarak, bazı temel trigonometrik fonksiyonlar kullanılarak yatay ve dikey mesafeler bulunabilir. Kodumda, bu hedefi vurmak için ne kadar açı gerektiğini hesaplamak için bu iki mesafeyi kullanan get_angle() adlı bir işlev var.
Tabanca daha sonra bu konuma hareket eder ve bir MOSFET aracılığıyla motorları çalıştırır. Beş saniye boyunca biriktirildikten sonra tetiği çekmek için servo motoru hareket ettirir. MOSFET daha sonra motoru kapatır ve ardından sinir tabancası hedef aramaya geri döner.
Adım 6: Eğlenmek
Silahın doğruluğunu test etmek için duvara neon pembe bir dizin kartı koydum. Programım, ölçülen mesafe için açıyı kalibre edip ayarladığından, başarılı oldu. İşte silahın çalıştığını gösteren bir video.