İçindekiler:
- Gereçler
- Adım 1: Malzemeleri Toplayın
- Adım 2: NRF Modülünün Arduino ile Bağlantısı
- Adım 3: Kodlamaya Geçelim
- Adım 4: Yazarın Notu
Video: 10 $: 4 Adımda Drone Hareketinizi Kontrol Edin
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bu talimat, R/C Drone'unuzu 10 doların altında bir Hareket Kontrollü Drone'a dönüştürmek için bir rehberdir!
Ben bilim kurgu filmlerinden çok ilham alan ve filmde gösterilen teknolojiyi gerçek hayatta yapmaya çalışan bir insanım. Bu proje, bu tür iki filmden ilham almıştır: "STAR WARS: The Empire Strikes Back" ve "Project Almanac". Her iki filmde de sadece el hareketleriyle kontrol edilen uçan bir cisim (X-wing Starship & R/C Drone) görüyorsunuz. Bu bana benzer bir şey yapmak için ilham verdi…
Açıkçası X-wing'e sahip değilim, bu yüzden ne yazık ki Mini R/C Quadcopter'ımla çalışmak zorundayım.
Yani plan - dizüstü bilgisayarımda sürekli olarak elimi arayacak ve video karesindeki konumunu takip edecek bir görüntü işleme komut dosyası olacak. Elin koordinatlarını aldığında, ilgili sinyali drone'a gönderecek ve bu, herhangi bir R/C Drone'nun alıcı kartı ile doğrudan iletişim kurabilen bir NRF24L01 2.4GHz Alıcı-Verici Modülü ile birlikte dizüstü bilgisayara bağlı Arduino kullanılarak yapılacaktır..
Gereçler
- Web kamerası ve Python yüklü dizüstü/masaüstü bilgisayar. (Yerleşik web kamerası ve Python 2.7.14 çalıştıran Windows dizüstü bilgisayarımı kullanıyorum)
- 2.4Ghz Frekansta çalışan herhangi bir R/C Drone. (Benim durumumda JJRC H36)
- Arduino UNO, Programlama Kablosu ile birlikte. (Daha ucuz olduğu için klonunu kullanıyorum)
- NRF24L01 2.4GHz Anten Kablosuz Alıcı-Verici Modülü. (Bunu buradan sadece 99 Yen'e (1.38 $) satın aldım)
- 24L01 Kablosuz Modül için 3.3V Adaptör Kartı. (Bunu buradan sadece 49 ₹ (0,68 $) karşılığında aldım)
- Erkek - Dişi Jumper Telleri x7
Adım 1: Malzemeleri Toplayın
Adım 2: NRF Modülünün Arduino ile Bağlantısı
Şimdi tüm parçalara sahip olduğunuza göre, NRF Modülünü Arduino ile kablolamaya başlayalım.
- İlk olarak, NRF modülünü adaptör üzerinde sağlanan yuvaya yerleştirin. Bunun için yukarıdaki resme bakabilirsiniz.
-
Bundan sonra, Erkek - Dişi kabloları alın ve NRF adaptörünü Arduino'ya aşağıdaki gibi bağlayın: (Yukarıdaki Devre Şemasına bakın)
- NRF Adaptör Pimi - Arduino Pimi
- VCC - 5v
- GND - GND
- CE - Dijital Pim 5
- CSN - Analog Pin 1
- SCK - Dijital Pin 4
- MO - Dijital Pin 3
- MI - Analog Pin 0
- IRQ - Kullanılmıyor
- Bağlantı yapıldıktan sonra, Arduino Programlama USB Kablosunu kullanarak Arduino'yu PC'nize bağlayın ve neredeyse bitirdiniz.
Adım 3: Kodlamaya Geçelim
Şimdi zor kısım başlıyor…!!!
Kodun tamamını kendim yapmadım. Bunun yerine, farklı geliştiricilerden parça ve kod parçaları aldım ve hepsini biraz ince ayar yaparak bir araya getirdim. Bu nedenle, tüm orijinal içerik oluşturuculara uygun krediler önceden verilmiştir.
Buraya eklenmiş tüm kodları indirebilir ve çalışmasını sağlayabilirsiniz. Veya daha iyi izleme için sürekli olarak en son kodu güncelleyeceğim Github Depoma gidebilirsiniz.
El İzleme:
Bu projede el takibi için Haar Cascade sınıflandırıcı kullanılmıştır. Haar Cascade, pozitif görüntünün bir dizi negatif görüntü üzerine bindirilmesiyle eğitilir. Ve bu eğitilmiş veriler genellikle ".xml" dosyalarında saklanır. İnternetteki hemen hemen her şeyin Classifier dosyalarını alabilir veya bunun gibi kendinize ait bir tane bile oluşturabilirsiniz. Bu proje için el hareketi kontrollü yapmamız gerektiğinden, el algılamam için Aravind Nambissan tarafından yapılmış "closed_frontal_palm.xml" adlı bir yumruk sınıflandırıcı kullandım. Bu kodu depomda "hand_live.py" kodunu çalıştırarak test edebilirsiniz.
Drone'nuza uygun NRF24 Kodunu Seçme:
Bu nedenle, dronunuzun üreticisine ve modeline göre, frekansına uyacak uygun Arduino kodunu seçmek için Perry Tsao tarafından yapılan Github deposuna - "nrf24_cx10_pc" başvurabilirsiniz. CX10 Drone'unu PC üzerinden kontrol etmek için güzel bir eğitim hazırladı.
JJRC H36 drone kullanırken, başka bir Github deposuna atıfta bulundum - "nrf24_JJRC_H36_pc", bu, Perry Tsao'nun Lewis Cornick tarafından PC üzerinden JJRC H36'sını kontrol etmek için yaptığı deposunun bir çatalıydı.
Arduino'yu Hazırlamak:
Lewis'in deposunu aynı drone üzerinde çalışıyorsanız klonlayabileceğiniz Github'uma çatalladım. Python betiğimizi her çalıştırdığımızda Drone'nuzla eşleşmesi için Arduino Uno'nuza bir kez "nRF24_multipro.ino" kodunu yüklemeniz gerekir.
Seri İletişimin Test Edilmesi:
Aynı depoda, Arduino ile Python betiğinin Seri İletişimini test etmek için kullanılabilecek bir "serial_test.py" kodunu ve drone'nuzun eşleştirilip eşleştirilmediğini de bulabilirsiniz. Arduino kartınızın COM portuna göre koddaki COM portunu değiştirmeyi unutmayınız.
Her Şeyi Tek Bir Kodda Entegre Etmek:
Bu yüzden tüm bu kodları farklı geliştiriciler tarafından entegre ettim ve kendi kodumu "handserial.py" yaptım. Aynı drone ile benim yaptığımın aynısını yapıyorsanız direkt olarak bu kodu çalıştırabilir ve daha sonra sadece yumruğunuzu havada hareket ettirerek drone'unuzu kontrol edebilirsiniz. Kod ilk önce video karesinde bir yumruk için izler. Yumruğun Y koordinatına bağlı olarak, kod dronun yukarı veya aşağı gitmesini sağlamak için gaz kelebeği değerini gönderir ve benzer şekilde yumruğun X koordinatına bağlı olarak, kod uçağın sola veya sağa gitmesini sağlamak için kanatçık değerini gönderir..
Adım 4: Yazarın Notu
Bu proje ile ilgili özellikle belirtmek istediğim 4 nokta var:
- Daha önce belirtildiği gibi, bu kod tamamen benim tarafımdan yapılmamıştır, ancak üzerinde sürekli çalışıyorum ve Github Depomda daha iyi izleme için kodu güncelleyeceğim. Bu nedenle, herhangi bir sorunuz veya güncellemeniz için depoyu ziyaret edebilir veya Instagram'da bana ping atabilirsiniz.
- Halihazırda dizüstü bilgisayarın drone görüş perspektifine sahip olmasına izin vermeyen web kamerasını kullanıyoruz ancak istenildiği takdirde drone üzerine monte edilen kameralar da takip amaçlı kullanılabilmektedir. Bu, daha iyi bir görüşe ve nihayetinde daha iyi kontrole sahip olmanıza yardımcı olacaktır.
- Bu proje için piyasada bulunan en ucuz dronelardan biri olan JJRC H36 drone kullanıyorum, dolayısıyla jiroskopik stabilitesi yok. Bu nedenle videodaki hareketin titrek olduğunu hissedebilirsiniz, ancak iyi kalitede ve stabilitesi iyi bir drone kullanıyorsanız bu sorunla karşılaşmazsınız.
- Computer Vision ve drone kontrolü ile uğraşmak istedim, bu yüzden bu projeye başladım. Ancak bilgisayar görüşü üzerinde çalıştıktan sonra, drone'yu kontrol etmenin en uygun çözüm olmadığını hissediyorum. Bu nedenle, gelecekte drone'u kontrol etmek için Gyro sensörlü bir tür eldiven tipi cihaz yapmayı planlıyorum. Bu yüzden güncellemeler için bizi takip etmeye devam edin…
Bu öğreticiyi beğendiyseniz, lütfen beğenin ve paylaşın ve ayrıca oy verin.
Şimdilik bu kadar.. Bir dahaki sefere görüşmek üzere…
Önerilen:
5 Kolay Adımda Doom'u iPod'unuzda Oynayın!: 5 Adımda
5 Kolay Adımda Doom'u iPod'unuzda Oynayın!: Rockbox'ı iPod'unuzda Doom ve düzinelerce başka oyunu oynamak için nasıl çift önyükleme yapacağınıza dair adım adım kılavuz. Yapması gerçekten kolay bir şey, ancak birçok insan iPod'umda doom oynadığımı görünce şaşırıyor ve talimatla karıştırılıyor
6 Ucuz ve Kolay Adımda Arduino Uno Balık Besleyici!: 6 Adımda
6 Ucuz ve Kolay Adımda Arduino Uno Balık Besleyici!: Yani bu proje için biraz arka plan gerekli olabilir. Evcil balıkları olan insanlara muhtemelen benimle aynı sorunla karşılaşıldı: tatiller ve unutkanlık. Balığımı beslemeyi sürekli unutuyordum ve balıklar suya girmeden önce bunu yapmak için uğraşıyordum
4 Adımda 3D Baskılı Protez El!: 4 Adımda
4 Adımda 3D Baskı Protez El!: Bu proje benim tarafımdan basılmış bir protez eldir, protez ve 3D baskı hakkında biraz daha bilgi edinmek istiyorum. Bu en iyi proje olmasa da, biraz deneyim sahibi olmanın ve nasıl oluşturulacağını öğrenmenin harika bir yolu
Raspberry Pi 3: 9 Adımda Soğutma Fanı Kontrol Edin
Bir Raspberry Pi 3'te Soğutma Fanı Kontrol Edin: Bir ahududu pi 3'e bir fan ekleyin, gerektiğinde açıp kapatmak için kontrol edin. Fan eklemenin kolay bir yolu, fan uçlarını 3,3V veya 5V'a bağlamaktır. sabitleyin ve topraklayın. Bu yaklaşımı kullanarak, fan her zaman çalışacaktır. Bence çok daha fazla
Roomba'dan Rover'a Sadece 5 Adımda!: 5 Adımda
Roomba'dan Rover'a Sadece 5 Adımda!: Roomba robotları, robot dünyasına parmaklarınızı sokmanın eğlenceli ve kolay bir yoludur. Bu Eğitilebilir Kitapta, basit bir Roomba'nın çevresini aynı anda analiz eden kontrol edilebilir bir geziciye nasıl dönüştürüleceğini detaylandıracağız. Parça Listesi1.) MATLAB2.) Roomb