Mundarija:

Drone ishorasini $ 10: 4 qadamda boshqaring
Drone ishorasini $ 10: 4 qadamda boshqaring

Video: Drone ishorasini $ 10: 4 qadamda boshqaring

Video: Drone ishorasini $ 10: 4 qadamda boshqaring
Video: Полный контроль над двигателем постоянного тока с помощью ESP8266 NodeMCU D1 Mini через Wi-Fi 2024, Noyabr
Anonim
Image
Image
Drone ishorasini 10 dollarga boshqaring
Drone ishorasini 10 dollarga boshqaring
Drone ishorasini 10 dollarga boshqaring
Drone ishorasini 10 dollarga boshqaring

Bu ko'rsatma sizning R/C droningizni imo -ishorali boshqariladigan uchuvchisiz samolyotga $ 10 dan past narxda o'zgartirish uchun qo'llanma!

Men ilmiy-fantastik filmlardan juda ilhomlangan va filmda ko'rsatilgan texnologiyani hayotda ko'rsatishga harakat qiladigan odamman. Bu loyiha ikkita shunday filmdan ilhom olgan: "STAR WARS: Imperiya orqaga qaytdi" va "Loyiha almanaxi". Ikkala filmda ham siz faqat qo'l harakati bilan boshqariladigan uchuvchi ob'ektni (X-qanotli Starship va R/C Drone) ko'rasiz. Bu meni shunga o'xshash narsani qilishga ilhomlantirdi …

Shubhasiz, menda X qanot yo'q, shuning uchun, afsuski, men Mini R/C Quadcopter bilan ishlashim kerak.

Shunday qilib, reja - mening noutbukda tasvirni qayta ishlash skriptlari bo'ladi, u doimiy ravishda qo'limni qidiradi va video kadrdagi o'rnini kuzatadi. Qo'l koordinatalarini olganidan so'ng, u tegishli signalni dronga yuboradi va bu noutbukga ulangan Arduino, NRF24L01 2,4 gigagertsli uzatuvchi moduli yordamida amalga oshiriladi, u har qanday R/C dronining qabul qilish platasi bilan to'g'ridan -to'g'ri bog'lana oladi..

Ta'minotlar

  • Veb -kamera va Python o'rnatilgan noutbuk/ish stoli. (Men W indows noutbukidan o'rnatilgan veb-kamerasi va Python 2.7.14 bilan ishlayman)
  • 2.4Ghz chastotasida ishlaydigan har qanday R/C droni. (Mening holatimda JJRC H36)
  • Arduino UNO va uning dasturiy kabeli. (Men uning klonini ishlataman, chunki u arzonroq)
  • NRF24L01 2,4 gigagertsli antenna simsiz uzatuvchi moduli. (Men bu yerdan atigi 99 evroga (1,38 dollar) sotib oldim)
  • 24L01 simsiz moduli uchun 3,3V adapter platasi. (Men buni bu erdan atigi 49 ((0,68 dollar) ga sotib oldim)
  • Erkak va ayol jumper simlari x7

1 -qadam: Materiallarni yig'ing

Ta'minotlarni yig'ing!
Ta'minotlarni yig'ing!

2 -qadam: NRF modulini Arduino bilan ulash

NRF modulining Arduino bilan ulanishi
NRF modulining Arduino bilan ulanishi
NRF modulining Arduino bilan ulanishi
NRF modulining Arduino bilan ulanishi
NRF modulining Arduino bilan ulanishi
NRF modulining Arduino bilan ulanishi
NRF modulining Arduino bilan ulanishi
NRF modulining Arduino bilan ulanishi

Endi sizda barcha qismlar bor, NRF modulini Arduino bilan ulashni boshlaylik.

  1. Birinchidan, NRF modulini adapterda joylashgan uyaga joylashtiring. Buning uchun yuqoridagi rasmga murojaat qilishingiz mumkin.
  2. Shundan so'ng, Erkak -ayol simlarini oling va NRF adapterini Arduino -ga quyidagicha ulang: (yuqoridagi sxemaga qarang)

    • NRF adapter pimi - Arduino pin
    • VCC - 5V
    • GND - GND
    • Idoralar - raqamli pin 5
    • CSN - analog pin 1
    • SCK - raqamli pin 4
    • MO - raqamli pin 3
    • MI - analog pin 0
    • IRQ - ishlatilmaydi
  3. Ulanish tugagandan so'ng, Arduino dasturlash USB kabelidan foydalanib, Arduino -ni shaxsiy kompyuteringizga ulang va siz deyarli tugadingiz.

3 -qadam: Keling, kodlashga o'tamiz

Keling, kodlashga o'tamiz!
Keling, kodlashga o'tamiz!
Keling, kodlashga o'tamiz!
Keling, kodlashga o'tamiz!

Mana endi qiyin qism boshlanadi … !!!

Men butun kodni o'zim qilmaganman. Buning o'rniga, men turli ishlab chiquvchilarning qismlari va bitlarini oldim va ularning hammasini bir oz o'zgartirgan holda birlashtirdim. Shunday qilib, barcha asl ijodkorlarga munosib kreditlar oldindan beriladi.

Siz bu erga biriktirilgan barcha kodlarni yuklab olishingiz va uni ishlashini ta'minlashingiz mumkin. Aks holda siz mening Github omborimga kirishingiz mumkin, u erda men yaxshiroq kuzatib borish uchun doimiy ravishda so'nggi kodni yangilab turaman.

Qo'llarni kuzatish:

Haar Cascade tasniflagichi ushbu loyihada qo'llarni kuzatish uchun ishlatiladi. Haar kaskadi ijobiy tasvirni bir qator salbiy tasvirlar ustiga qo'yish orqali o'rgatiladi. Va bu o'qitilgan ma'lumotlar odatda ".xml" fayllarida saqlanadi. Siz Internetda deyarli hamma narsaga ega bo'lgan Classifier fayllarini olishingiz mumkin yoki hatto o'zingiznikini yaratishingiz mumkin. Bu loyiha uchun, biz uni qo'lda imo-ishora bilan boshqarishga majbur bo'lganimizda, men qo'limni aniqlash uchun Aravind Nambissan tomonidan ishlab chiqarilgan "yopiq_frontal_palm.xml" nomli musht tasniflagichidan foydalandim. Siz ushbu kodni repo -dagi "hand_live.py" kodini ishlatib sinab ko'rishingiz mumkin.

Drone -ga mos keladigan NRF24 kodini tanlash:

Sizning droningiz ishlab chiqaruvchisi va modeliga ko'ra, siz Perry Tsao tomonidan ishlab chiqarilgan Github omboriga - "nrf24_cx10_pc" ga murojaat qilishingiz mumkin, uning chastotasiga mos keladigan Arduino kodini tanlang. U CX10 Drone -ni kompyuter orqali boshqarish uchun yaxshi darslik yaratdi.

Men JJRC H36 dronidan foydalanganimda, boshqa Github omboriga murojaat qildim - "nrf24_JJRC_H36_pc", bu Lyuis Kornik tomonidan Perry Tsao repo -sini kompyuterda JJRC H36 -ni boshqarish uchun ishlatgan.

Arduino -ni tayyorlash:

Men Lyuisning repolarini Github -ga qo'ydim, agar siz xuddi shu dronda ishlayotgan bo'lsangiz, uni klonlashingiz mumkin. Biz har safar Python skriptini ishga tushirganimizda, uni drone -ga ulash uchun "nRF24_multipro.ino" kodini Arduino Uno -ga bir marta yuklashingiz kerak.

Serial aloqani tekshirish:

Xuddi shu repoda siz "serial_test.py" kodini topishingiz mumkin, u Python skriptining Arduino bilan ketma -ket aloqasini sinab ko'rish uchun ishlatilishi mumkin va agar sizning droningiz ulangan bo'lsa yoki yo'q bo'lsa. COM portini Arduino kartangizning COM portiga muvofiq o'zgartirishni unutmang.

Hamma narsani bitta kodga birlashtirish:

Shunday qilib, men ushbu kodlarning barchasini turli ishlab chiquvchilar tomonidan birlashtirdim va o'z kodimni "handserial.py" qildim. Agar siz aynan mana shu dron bilan qilayotgan ishimni qilayotgan bo'lsangiz, bu kodni to'g'ridan -to'g'ri ishlatishingiz mumkin, keyin mushtingizni havoda qimirlatib boshqarishingiz mumkin. Kod birinchi navbatda video kadrda mushtni izlaydi. Mushtning Y koordinatasiga qarab, kod gazni dronga yuboradi, uni yuqoriga yoki pastga ko'taradi va shunga o'xshash mushtning X koordinatasiga ko'ra, kod aileron qiymatini dronga yuboradi, uni chapga yoki o'ngga..

4 -qadam: Muallif eslatmasi

Men ushbu loyiha haqida alohida aytib o'tmoqchi bo'lgan 4 ta nuqta bor:

  1. Yuqorida aytib o'tilganidek, bu kod men tomonidan to'liq ishlab chiqilmagan, lekin men doimiy ravishda ishlayapman va Github omborimni yaxshiroq kuzatish uchun kodni yangilab turardim. Shunday qilib, har qanday so'rov yoki yangilanish uchun siz omborga tashrif buyurishingiz yoki Instagram -da menga ping yuborishingiz mumkin.
  2. Hozirgi vaqtda biz noutbukning veb -kamerasidan foydalanmoqdamiz, bu esa dronni ko'rish imkoniyatiga ega emas, lekin agar kerak bo'lsa, dronga o'rnatilgan kameralarni kuzatuv maqsadida ham ishlatish mumkin. Bu yaxshiroq ko'rish va oxir -oqibat nazoratni yaxshilashga yordam beradi.
  3. Ushbu loyiha uchun men JJRC H36 dronidan foydalanmoqdaman, u bozorda mavjud bo'lgan eng arzon dronlardan biri hisoblanadi, shuning uchun u giroskopik barqarorlikka ega emas. Shuning uchun siz videodagi harakatni qimirlatib qo'yganday his qilishingiz mumkin, lekin agar siz yaxshi barqarorlikka ega, sifatli drondan foydalansangiz, bu muammoga duch kelmaysiz.
  4. Men Computer Vision va dronlarni boshqarish haqida o'ylashni xohlardim, shuning uchun men ushbu loyihadan boshladim. Ammo kompyuterni ko'rishda ishlaganimdan so'ng, menimcha, dronni boshqarish optimal echim emas. Shunday qilib, men kelajakda dronni boshqarish uchun Gyro sensori bo'lgan qo'lqopli turdagi qurilma yasashni rejalashtirmoqdaman. Shuning uchun yangiliklarni kuzatib boring …

Agar sizga ushbu darslik yoqqan bo'lsa, iltimos, baham ko'ring va unga ovoz bering.

Hammasi hozircha.. Keyingi safar ko'rishguncha …

Tavsiya: