Mündəricat:

Drone Jestinizi 10: 4 Adımda İdarə Edin
Drone Jestinizi 10: 4 Adımda İdarə Edin

Video: Drone Jestinizi 10: 4 Adımda İdarə Edin

Video: Drone Jestinizi 10: 4 Adımda İdarə Edin
Video: Reaksiyon - Episode 2 (Full HD) 2024, Noyabr
Anonim
Image
Image
Drone Jestinizi 10 dollara nəzarət edin
Drone Jestinizi 10 dollara nəzarət edin
Drone Jestinizi 10 dollara nəzarət edin
Drone Jestinizi 10 dollara nəzarət edin

Bu təlimat, R/C Droneunuzu 10 dollardan aşağı bir Jest ilə İdarə Edilən Drona çevirmək üçün bir bələdçidir!

Bilimkurgu filmlərindən çox ilham alan və filmdə göstərilən texnologiyanı real həyatda göstərməyə çalışan bir insanam. Bu layihə iki filmdən ilham almışdır: "STAR WARS: The Empire Strikes Back" və "Project Almanac". Hər iki filmdə də yalnız əl hərəkətləri ilə idarə olunan uçan bir obyekt (X qanadlı Starship və R/C Drone) görürsünüz. Bu mənə bənzər bir şey etmək üçün ilham verdi …

Aydındır ki, X qanadına sahib deyiləm, buna görə təəssüf ki, Mini R/C Quadcopter ilə işləmək məcburiyyətindəyəm.

Plan belədir - dizüstü kompüterimdə davamlı olaraq əlimi axtaracaq və video çərçivədəki mövqeyini izləyəcək bir görüntü işləmə skript olacaq. Əl koordinatlarını əldə etdikdən sonra, müvafiq siqnalı drona göndərəcək və bu, hər hansı bir R/C Drone -un alıcı lövhəsi ilə birbaşa ünsiyyət qura bilən NRF24L01 2.4GHz ötürücü modulu ilə birlikdə noutbuka qoşulmuş Arduino istifadə ediləcək..

Təchizat

  • Veb kamerası və Python quraşdırılmış noutbuk/masa üstü kompüter. (Daxili veb kamerası olan və Python 2.7.14 işləyən W indows noutbukumdan istifadə edirəm)
  • 2.4Ghz tezliyində işləyən istənilən R/C Drone. (Mənim vəziyyətimdə JJRC H36)
  • Arduino UNO proqramlaşdırma kabeli ilə birlikdə. (Daha ucuz olduğu üçün klonundan istifadə edirəm)
  • NRF24L01 2.4 GHz Anten Simsiz Alıcı Modulu. (Bunu buradan cəmi 99 ((1,38 dollar) qarşılığında aldım)
  • 24L01 Simsiz Modulu üçün 3.3V Adaptör Kartı. (Bunu buradan cəmi 49 ((0,68 dollar) qarşılığında aldım)
  • Kişi -Dişi Jumper Telləri x7

Addım 1: Təchizat toplayın

Təchizat toplayın!
Təchizat toplayın!

Addım 2: NRF Modulunun Arduino ilə əlaqəsi

NRF Modulunun Arduino ilə əlaqəsi
NRF Modulunun Arduino ilə əlaqəsi
NRF Modulunun Arduino ilə əlaqəsi
NRF Modulunun Arduino ilə əlaqəsi
NRF Modulunun Arduino ilə əlaqəsi
NRF Modulunun Arduino ilə əlaqəsi
NRF Modulunun Arduino ilə əlaqəsi
NRF Modulunun Arduino ilə əlaqəsi

İndi bütün hissələrə sahib olduğunuz üçün NRF Modulunu Arduino ilə bağlamağa başlayaq.

  1. Əvvəlcə NRF modulunu adapterin üstündəki yuvaya daxil edin. Bunun üçün yuxarıdakı şəkilə müraciət edə bilərsiniz.
  2. Bundan sonra, Male -Dişi tellərini götürün və NRF adapterini Arduino -ya aşağıdakı kimi bağlayın: (yuxarıdakı dövrə diaqramına baxın)

    • NRF Adaptor Pimi - Arduino Pimi
    • VCC - 5v
    • GND - GND
    • CE - Rəqəmsal Pin 5
    • CSN - Analog Pin 1
    • SCK - Rəqəmsal Pin 4
    • MO - Rəqəmsal Pin 3
    • MI - Analoq Pin 0
    • IRQ - İstifadə olunmur
  3. Bağlantı qurulduqdan sonra Arduino Proqramlaşdırma USB Kabelindən istifadə edərək Arduino'yu PC -yə qoşun və demək olar ki, işiniz bitdi.

Addım 3: Gəlin Kodlaşdırmaya daxil olaq

Kodlamaya daxil olaq!
Kodlamaya daxil olaq!
Kodlamaya daxil olaq!
Kodlamaya daxil olaq!

İndi burada çətin hissə başlayır … !!!

Bütün kodu özüm etməmişəm. Bunun əvəzinə, fərqli inkişaf etdiricilərdən kod hissələrini və bitlərini götürdüm və hamısını bir az düzəltməklə birinə birləşdirdim. Beləliklə, bütün orijinal yaradıcılara düzgün kreditlər verilir.

Buraya əlavə edilmiş bütün kodları yükləyə və işləyə bilərsiniz. Yoxsa daha yaxşı izləmə üçün daim ən son kodu yeniləyəcəyim Github Repozitoruma gedə bilərsiniz.

Əl İzləmə:

Haar Cascade təsnifatçısı bu layihədə əl izləmə üçün istifadə olunur. Haar Cascade, müsbət obrazı bir sıra mənfi görüntülərin üstünə qoyaraq öyrədilir. Və bu öyrədilmiş məlumatlar ümumiyyətlə ".xml" fayllarında saxlanılır. İnternetdə demək olar ki, hər hansı bir təsnifat faylını əldə edə bilərsiniz və ya özünüz də belə bir fayl yarada bilərsiniz. Bu layihə üçün, əl hərəkətləri ilə idarə olunmasını tələb etdiyimiz üçün, əlimi aşkar etmək üçün Aravind Nambissan tərəfindən hazırlanmış "kapalı_frontal_palm.xml" adlı bir yumruq təsnifatçısından istifadə etdim. Repodakı "hand_live.py" kodunu işlədərək bu kodu sınaya bilərsiniz.

Drone -a uyğun NRF24 Kodunun seçilməsi:

Pilotsuz təyyarənizin istehsalçısına və modelinə görə, Perry Tsaonun hazırladığı "nrf24_cx10_pc" Github anbarına müraciət edə bilərsiniz ki, onun tezliyinə uyğun işləyəcək uyğun Arduino kodu seçilsin. Kompüter üzərində CX10 Drone idarə etmək üçün gözəl bir dərs hazırladı.

JJRC H36 pilotsuz uçan aparatından istifadə edərkən, Lewis Cornick tərəfindən PC üzərindən JJRC H36 -nı idarə etmək üçün Perry Tsaonun repo çəngəli olan başqa bir Github anbarına - "nrf24_JJRC_H36_pc" ə istinad etdim.

Arduino hazırlanır:

Eyni dron üzərində işləyirsinizsə klonlaşdıra biləcəyiniz Github -a Lewisin reposunu ayırdım. Python skriptimizi hər dəfə işləyərkən Drone -a qoşmaq üçün "nRF24_multipro.ino" kodunu Arduino Uno -ya bir dəfə yükləməlisiniz.

Serial Rabitə Testi:

Eyni repoda, Arduino ilə Python skriptinin Serial Əlaqəsini sınamaq üçün istifadə edilə bilən "serial_test.py" kodunu da tapa bilərsiniz və pilotsuz uçuş aparatınız qoşalansa da qoşulmasa. Koddakı COM portunu Arduino lövhənizin COM portuna uyğun olaraq dəyişdirməyi unutmayın.

Hər şeyi bir kodda birləşdirmək:

Beləliklə, bütün bu kodları fərqli inkişaf etdiricilər tərəfindən birləşdirdim və öz kodumu "handserial.py" etdim. Eyni dronla etdiyimi eyni şeyi edirsinizsə, bu kodu birbaşa işlədə bilərsiniz və sonra yumruğunuzu havada hərəkət etdirərək dronunuzu idarə edə bilərsiniz. Kod əvvəlcə video çərçivədə bir yumruğun izini tutur. Yumruğun Y koordinatından asılı olaraq, kod, qazın dəyərini yuxarıya və ya aşağıya endirmək üçün drona göndərir və eyni şəkildə yumruğun X koordinatından asılı olaraq, kod, aileron dəyərini dronun sola və ya sağa getməsini təmin edir..

Addım 4: Müəllif Qeydləri

Bu layihə ilə bağlı xüsusi olaraq qeyd etmək istədiyim 4 məqam var:

  1. Daha əvvəl qeyd edildiyi kimi, bu kod tamamilə mənim tərəfimdən edilməmişdir, amma davamlı olaraq üzərində işləyirəm və Github Repozitorumda daha yaxşı izlənmək üçün kodu yeniləyirəm. Beləliklə, hər hansı bir sorğu və ya yeniləmə üçün anbarı ziyarət edə və ya İnstaqramda mənə ping göndərə bilərsiniz.
  2. Hal -hazırda, noutbukun veb kamerasını istifadə edirik ki, bu da pilotsuz təyyarənin görünüşü baxımından perspektivə malik olmağa imkan vermir, lakin lazım gələrsə, drona quraşdırılmış kameralar da izləmə məqsədi ilə istifadə oluna bilər. Bu daha yaxşı bir görünüşə və nəticədə daha yaxşı bir nəzarətə kömək edəcək.
  3. Bu layihə üçün, bazarda mövcud olan ən ucuz dronlardan biri olan JJRC H36 pilotsuz təyyarəsindən istifadə edirəm, buna görə də giroskopik sabitliyə malik deyil. Videodakı hərəkətin titrəməli olduğunu hiss etməyinizin səbəbi budur, amma yaxşı sabitliyə malik layiqli keyfiyyətli bir dron istifadə edirsinizsə, bu problemlə üzləşməyəcəksiniz.
  4. Computer Vision və pilotsuz uçuş idarəçiliyinə fikir vermək istədim, buna görə də bu layihəyə başladım. Ancaq kompüter görmə üzərində işlədikdən sonra, pilotsuz təyyarəni idarə etməyin optimal həll yolu olmadığını hiss edirəm. Beləliklə, gələcəkdə pilotsuz təyyarəni idarə etmək üçün Gyro sensoru olan bir növ əlcək tipli cihaz hazırlamağı planlaşdırıram. Odur ki, yeniliklərdən xəbərdar olun …

Bu dərsliyi bəyəndinizsə, zəhmət olmasa bəyənib paylaşın və səs verin.

Hələlik hamısı budur.. Növbəti dəfə tezliklə görüşərik…

Tövsiyə: