فهرست مطالب:

حرکت پهپاد خود را در 10 قدم دلار کنترل کنید
حرکت پهپاد خود را در 10 قدم دلار کنترل کنید

تصویری: حرکت پهپاد خود را در 10 قدم دلار کنترل کنید

تصویری: حرکت پهپاد خود را در 10 قدم دلار کنترل کنید
تصویری: چطور خودارضایی کنیم - راه هایی برای خودارضایی بهتر 2024, نوامبر
Anonim
Image
Image
با 10 دلار کنترل حرکت پهپادی خود را انجام دهید
با 10 دلار کنترل حرکت پهپادی خود را انجام دهید
با 10 دلار کنترل حرکت پهپادی خود را انجام دهید
با 10 دلار کنترل حرکت پهپادی خود را انجام دهید

این دستورالعمل راهنمای تبدیل هواپیمای بدون سرنشین R/C شما به پهپاد کنترل شده با ژست در کمتر از 10 دلار است!

من فردی هستم که بسیار از فیلم های علمی تخیلی الهام گرفته ام و سعی می کنم فناوری را در فیلم در زندگی واقعی نشان دهم. این پروژه از دو فیلم الهام گرفته شده است: "STAR WARS: The Empire Strikes Back" و "Project Almanac". در هر دو فیلم ، یک شیء پرنده (X-wing Starship & R/C Drone) را مشاهده می کنید که فقط با حرکت دست کنترل می شد. این به من انگیزه داد تا چیزی مشابه بسازم…

بدیهی است که من صاحب بال X نیستم ، بنابراین متأسفانه باید با Mini R/C Quadcopter کار کنم.

بنابراین برنامه این است - یک اسکریپت پردازش تصویر روی لپ تاپ من اجرا می شود که به طور مداوم به دنبال دست من است و موقعیت آن را در قاب ویدیو ردیابی می کند. هنگامی که مختصات دست را دریافت کرد ، سیگنال مربوطه را به هواپیمای بدون سرنشین ارسال می کند و این کار با استفاده از آردوینو متصل به لپ تاپ و یک ماژول فرستنده گیرنده NRF24L01 2.4GHz انجام می شود که می تواند مستقیماً با برد گیرنده هر پهپاد R/C ارتباط برقرار کند. به

تدارکات

  • لپ تاپ/رایانه رومیزی با وب کم و پایتون نصب شده است. (من از لپ تاپ W indows با وب کم داخلی خود استفاده می کنم و Python 2.7.14 را اجرا می کنم)
  • هر پهپاد R/C با فرکانس 2.4Ghz کار می کند. (JJRC H36 در مورد من)
  • Arduino UNO به همراه کابل برنامه نویسی آن. (من از کلون آن استفاده می کنم زیرا ارزان تر است)
  • NRF24L01 ماژول فرستنده بی سیم آنتن 2.4GHz. (من این را فقط با 99 پوند (1.38 دلار) از اینجا خریدم)
  • برد آداپتور 3.3V برای ماژول بی سیم 24L01. (من این را فقط با 49 پوند (0.68 دلار) از اینجا خریدم)
  • نر به زن جهنده سیم x7

مرحله 1: وسایل را جمع آوری کنید

وسایل را جمع کنید!
وسایل را جمع کنید!

مرحله 2: اتصال ماژول NRF با آردوینو

اتصال ماژول NRF با آردوینو
اتصال ماژول NRF با آردوینو
اتصال ماژول NRF با آردوینو
اتصال ماژول NRF با آردوینو
اتصال ماژول NRF با آردوینو
اتصال ماژول NRF با آردوینو
اتصال ماژول NRF با آردوینو
اتصال ماژول NRF با آردوینو

اکنون که همه قطعات را در اختیار دارید ، بیایید با سیم کشی ماژول NRF با آردوینو شروع کنیم.

  1. ابتدا ماژول NRF را در شکاف ارائه شده روی آداپتور وارد کنید. برای آن می توانید به تصویر بالا مراجعه کنید.
  2. پس از آن ، سیم های Male را به Female ببرید و آداپتور NRF را به صورت زیر به Arduino وصل کنید: (به نمودار مدار بالا مراجعه کنید)

    • پین آداپتور NRF - پین آردوینو
    • VCC - 5 ولت
    • GND - GND
    • CE - پین دیجیتال 5
    • CSN - پین آنالوگ 1
    • SCK - پین دیجیتال 4
    • MO - پین دیجیتال 3
    • MI - پین آنالوگ 0
    • IRQ - استفاده نمی شود
  3. پس از اتمام اتصال ، Arduino را با استفاده از کابل USB برنامه نویسی Arduino به رایانه خود وصل کنید و کار شما تقریباً تمام شده است.

مرحله 3: بیایید وارد برنامه نویسی شویم

بیایید وارد برنامه نویسی شویم!
بیایید وارد برنامه نویسی شویم!
بیایید وارد برنامه نویسی شویم!
بیایید وارد برنامه نویسی شویم!

اکنون قسمت سخت شروع می شود… !!!

من کل کد را به تنهایی تهیه نکرده ام. در عوض ، من بخشها و تکه هایی از کد را از توسعه دهندگان مختلف گرفته و همه آنها را با کمی تغییر تنظیمات در یک قسمت ادغام کرده ام. بنابراین ، اعتبار مناسب برای همه سازندگان اصلی پیش از این داده می شود.

می توانید تمام کدهای پیوست شده را در اینجا بارگیری کرده و کار کنید. در غیر این صورت می توانید به مخزن Github من بروید ، جایی که من به طور مداوم آخرین کد را برای ردیابی بهتر به روز می کنم.

ردیابی دستی:

در این پروژه از طبقه بندی آبشار Haar برای ردیابی دستی استفاده شده است. آبشار هار با قرار دادن تصویر مثبت بر روی مجموعه ای از تصاویر منفی آموزش می بیند. و این داده های آموزش دیده معمولاً در فایل های ".xml" ذخیره می شود. شما ممکن است تقریباً از هر چیزی در اینترنت فایل های Classifier دریافت کنید یا حتی می توانید یکی از موارد خود را مانند این ایجاد کنید. برای این پروژه ، همانطور که ما نیاز به کنترل حرکت با دست داشتیم ، من از یک دسته بندی مشت به نام "close_frontal_palm.xml" ساخته شده توسط Aravind Nambissan برای تشخیص دستم استفاده کردم. می توانید این کد را با اجرای کد "hand_live.py" در بازپرداخت من آزمایش کنید.

انتخاب کد NRF24 برای مطابقت با هواپیمای بدون سرنشین خود:

بنابراین با توجه به سازنده و مدل هواپیمای بدون سرنشین خود ، می توانید به مخزن Github - "nrf24_cx10_pc" ساخته Perry Tsao برای انتخاب کد مناسب Arduino برای اجرا که با فرکانس آن مطابقت دارد ، مراجعه کنید. او یک آموزش خوب برای کنترل CX10 Drone خود بر روی کامپیوتر ساخته است.

وقتی از پهپاد JJRC H36 استفاده می کردم ، به مخزن دیگری از Github - "nrf24_JJRC_H36_pc" اشاره کردم که چنگال repo پری تسائو بود که توسط لوئیس کورنیک ساخته شد تا JJRC H36 خود را بر روی کامپیوتر کنترل کند.

آماده سازی آردوینو:

من رپو لوئیس را به Github من ارسال کردم که اگر در حال کار بر روی یک هواپیمای بدون سرنشین هستید می توانید آن را کلون کنید. شما باید یکبار کد "nRF24_multipro.ino" را در Arduino Uno خود بارگذاری کنید تا هر بار که اسکریپت پایتون خود را اجرا می کنیم با Drone شما جفت شود.

آزمایش ارتباط سریال:

در همان بازپرداخت ، همچنین ممکن است کد "serial_test.py" را پیدا کنید که می تواند برای آزمایش ارتباط سری اسکریپت پایتون با آردوینو و در صورت جفت شدن یا خاموش شدن هواپیمای بدون سرنشین استفاده شود. فراموش نکنید که پورت COM را در کد با توجه به پورت COM برد برد آردوینو تغییر دهید.

ادغام همه چیز در یک کد:

بنابراین همه این کدها را توسط توسعه دهندگان مختلف ادغام کردم و کد خودم را "handserial.py" ساختم. اگر شما دقیقاً همان کاری را انجام می دهید که من با هواپیمای بدون سرنشین انجام می دهم ، می توانید مستقیماً این کد را اجرا کنید و سپس می توانید پهپاد خود را تنها با حرکت مشت خود در هوا کنترل کنید. کد ابتدا مشتی را در قاب ویدیو دنبال می کند. بسته به مختصات Y مشت ، کد مقدار دریچه گاز را به هواپیمای بدون سرنشین می فرستد تا بالا یا پایین برود و به طور مشابه بسته به مختصات X مشت ، کد aileron را به پهپاد می فرستد تا به چپ یا راست برود. به

مرحله 4: یادداشت نویسنده

در مورد این پروژه به 4 نکته اشاره می کنم:

  1. همانطور که قبلاً مشخص شد ، این کد به طور کامل توسط من ساخته نشده است ، اما من به طور مداوم روی آن کار می کنم و برای ردیابی بهتر در مخزن Github خود ، کد را به روز می کنم. بنابراین برای هرگونه پرسش یا به روزرسانی ، می توانید از مخزن دیدن کنید یا در اینستاگرام به من پیام دهید.
  2. در حال حاضر ، ما از وب کم لپ تاپ استفاده می کنیم که اجازه نمی دهد چشم انداز هواپیمای بدون سرنشین را داشته باشیم ، اما در صورت لزوم ، دوربین های نصب شده بر روی هواپیمای بدون سرنشین نیز می توانند برای ردیابی استفاده شوند. این امر به داشتن دید بهتر و در نهایت کنترل بهتر کمک می کند.
  3. برای این پروژه ، من از یک هواپیمای بدون سرنشین JJRC H36 استفاده می کنم که یکی از ارزان ترین هواپیماهای بدون سرنشین موجود در بازار است ، بنابراین فاقد ثبات ژیروسکوپی است. به همین دلیل است که ممکن است احساس کنید حرکت در ویدئو تکان دهنده است ، اما اگر از یک پهپاد با کیفیت مناسب و با ثبات خوب استفاده می کنید ، با این مشکل روبرو نخواهید شد.
  4. من می خواستم در مورد Computer Vision و کنترل هواپیماهای بدون سرنشین صحبت کنم ، بنابراین با این پروژه شروع کردم. اما پس از کار بر روی دید رایانه ، احساس می کنم که راه حل بهینه برای کنترل پهپاد نیست. بنابراین ، من در حال برنامه ریزی برای ساخت نوعی دستگاه دستکش با سنسور Gyro برای کنترل پهپاد در آینده هستم. پس منتظر بروزرسانی ها باشید…

اگر از این آموزش خوشتان آمد ، لطفاً آن را لایک و به اشتراک بگذارید و همچنین به آن رای دهید.

فعلا همین است.. دفعه بعد به زودی می بینمت…

توصیه شده: