فهرست مطالب:

ردیابی خودکار Water Blaster: 9 مرحله
ردیابی خودکار Water Blaster: 9 مرحله

تصویری: ردیابی خودکار Water Blaster: 9 مرحله

تصویری: ردیابی خودکار Water Blaster: 9 مرحله
تصویری: مقایسه Redmi Note و Meizu 8 توجه داشته باشید 9 2024, جولای
Anonim
ردیابی خودکار آب بلستر
ردیابی خودکار آب بلستر

گوزن گل خوار به من انگیزه داد تا یک بلاست آب ردیابی هدف بسازم تا به جلوگیری از حشرات حریص کمک کند. فقط بعد از ثابت ماندن هدف به دست آمده برای چند ثانیه شلیک می کند (تاخیر را می توان در کد تنظیم کرد). برایم مهم نیست که آهو فقط در حال قدم زدن است ، اما اگر برای یک میان وعده توقف کنند ، اسفلوش!

در اینجا ویدئویی از آزمایش بلستر آب من مشاهده می کنید:

آب پاک کن یک جعبه مستقل است که می تواند از راه دور (از طریق wi-fi/VNC) از هر رایانه ای در شبکه شما متصل شود تا کار خود را کنترل کند. هر بار که فعال می شود یک عکس می گیرد تا بعداً ببینید چه چیزی در حال انفجار است.

من از رزبری پای ، دوربین NoIR ، نورافکن IR ، سروو خطی استاندارد و دریچه آب برای ایجاد این شبانه روز ، هدف ردیابی بلاست آب استفاده کردم. کد به زبان پایتون نوشته شده و از نمونه کد پردازش تصویر cv2 آدریان روزبروک وام زیادی گرفته است. می توانید نوشته های او را در آدرس زیر مشاهده کنید:

www.pyimagesearch.com/2015/06/01/home-surv…

از آنجا که من به دنبال اهداف نسبتاً بزرگ و زمینی (گوزن) هستم ، مشکل من تا حدودی ساده شده است. من فقط به هدف افقی نیاز دارم تا بتوانم تنها با استفاده از یک سروو از بین بروم. انتظار برای ایستادن گوزن به من کمک می کند تا بسیاری از محرک های کاذب را از بین ببرم. این تلاش من برای rev-0 است و من چند مورد را پیدا کرده ام که اگر یکی دیگر را ایجاد کنم اصلاح خواهم کرد. من این موارد را در نگارش مفصل زیر ذکر کرده ام.

مرحله 1: کد

آب پاک کن از Raspberry Pi 3 برای پردازش استفاده می کند. برای ضبط ویدئو ، از دوربین NoIR Raspberry Pi به همراه یک نورافکن IR برای فیلم برداری در شب استفاده می شود. بسته OpenCV/cv2 Python برای ضبط و پردازش اطلاعات تصویر و محاسبه مختصات هدف استفاده می شود. از کتابخانه pigpio برای کنترل gpio برای عملکرد سروو پایدار استفاده می شود. استفاده از بسته RPi. GPIO معمولی منجر به لرزش سروو شد. توجه: هنگام استفاده از کتابخانه pigpio شما باید دایمون pigpio را اجرا کنید. این را به فایل راه اندازی Pi /etc/rc.local خود برای libpigio lib و رابط دوربین Raspberry Pi اضافه کنید:

/etc/rc.local# راه اندازی/dev/video0 برای پیوند به Raspberry Pi ساخته شده در دوربین interfacemodprobe bcm2835-v4l2# شیاطین خوک را برای کتابخانه کنترل Raspberry Pi IO شروع کنید

برای جزئیات بیشتر به https://pypi.python.org/pypi/pigpi مراجعه کنید.

نام کد منبع: water_blaster.py است و در زیر ضمیمه شده است.

سلب مسئولیت: من در برنامه نویسی پایتون جدید هستم ، بنابراین آن را به عنوان یک مدل عالی از سبک برنامه نویسی پایتون تلقی نکنید!

الگوریتم اصلی به شرح زیر است:

  • چارچوب مرجع اولیه ویدیو را بگیرید. این برای مقایسه با تشخیص حرکت استفاده می شود.
  • یک قاب دیگر بگیرید
  • قاب را به مقیاس خاکستری تبدیل کنید ، اندازه آن را محو کنید.
  • تفاوت را از چارچوب مرجع محاسبه کنید
  • تفاوتهای کوچک را فیلتر کنید ، مختصات بزرگترین تفاوت را بدست آورید.
  • تایمر تنظیم کنید. اگر مختصات هدف برای چند ثانیه تغییر نمی کند ، سپس از چیزی که قرار است شلیک کنیم عکس بگیرید و شیر آب را برای انفجار آب فعال کنید. سروو را چند درجه به جلو و عقب بکشید تا یک "تفنگ ساچمه ای" منفجر شود.
  • اگر سه محرک را خیلی سریع دریافت کنیم ، عکاسی را غیرفعال کنید ، کمی مکث کنید ، سپس قاب مرجع را به روز کنید زیرا ممکن است در نور سایه یا ایوان که به تازگی روشن شده است عکاسی کنیم…
  • هر چند دقیقه یکبار فریم مرجع را به روز کنید تا تغییرات فرکانس پایین (طلوع/غروب خورشید ، حرکت ابری و …)

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

من Raspberry Pi را طوری تنظیم کردم که به عنوان یک سرور VNC اجرا شود ، سپس از طریق لپ تاپ خود از طریق VNC به آن متصل می شوم تا برنامه شروع شود و ویدیو و گزارشات را زیر نظر داشته باشد. cd را در پوشه ای که water_blaster.py را ذخیره می کنید وارد کنید و با تایپ کردن آن را اجرا کنید:

./ پایتون water_blaster.py

این پنجره مانیتور ویدئویی را باز می کند ، یک فایل ورود به سیستم با نام "./log_ [تاریخ] [زمان] را ایجاد می کند و یک زیرنویس به نام" trigger_pictures "ایجاد می کند که در آن فایل های-j.webp

در اینجا چند نکته در مورد تنظیم VNC در رزبری پای خود آورده شده است:

اولین باری که Raspberry Pi را راه اندازی کردم ، از یک مانیتور/صفحه کلید/ماوس خارجی برای تنظیم موارد استفاده کردم. در آنجا سرور VNC را در پیکربندی RasPi (Raspberry Logo / Preferences / Raspberry Pi Configuration / Interfaces / Check VNC option) فعال کردم. پس از راه اندازی ، شما را قادر می سازد تا از طریق سرویس گیرنده VNC به صفحه نمایش: 0 متصل شوید (بدون اعتبار (به عنوان کاربر پیش فرض "pi").

در حالت بدون سر به طور پیش فرض به یک صفحه نمایش با وضوح بسیار کوچک (از آنجا که هیچ صفحه ای را تشخیص نمی دهد) ، برای اجبار به وضوح بیشتر ، این را به /boot/config.txt اضافه کرده و راه اندازی مجدد کنید:

# اگر صفحه نمایش دارید# hdmi_ignore_edid = 0xa5000080hdmi_group = 2# 1400x1050 w/ 60Hz# hdmi_mode = 42# 1356x768 w/ 60Hzhdmi_mode = 39

در اینجا اطلاعات بیشتری وجود دارد:

مرحله 2: الکترونیک

الزامات الکترونیکی آب بلاستر با استفاده از Raspberry Pi 3 gpio برای هدایت سروو ، شیر آب و روشن کننده IR از طریق بافرهای ترانزیستور گسسته (ساخته شده بر روی یک برد اولیه کوچک) حداقل است. یک دوربین استاندارد NoIR مستقیماً به رزبری پای متصل می شود.

نام طرحواره: water_blaster_schematic.pdf است و در زیر ضمیمه شده است.

من از منبع اختصاصی 5v/2.5A برای رزبری پای و منبع 12v/1A برای رانندگی چراغ IR و شیر آب استفاده کردم. منبع تغذیه 12 ولت نیز تنظیم کننده 5 ولت را برای تغذیه سروو 5 ولت هدایت می کند. این کار برای حفظ قدرت کنترل "پر سر و صدا" از منبع رزبری پای 5 ولت انجام شده است. منبع تغذیه 12v/1A دقیقاً در حد خود قرار گرفت (در واقع هنگامی که فن را اضافه کردم کمی بیشتر). کد روشن کننده IR را قبل از تغذیه رله شیر آب خاموش می کند تا جریان فعلی را در محدوده خود نگه دارد … اگر از منبع تغذیه 1.5A استفاده کنید ، بهتر است. مطمئن شوید که پایانه های زمینی تمام منابع تغذیه را به هم وصل کنید.

ماژول دوربین یک نسخه استاندارد NoIR است که مستقیماً به رزبری پای متصل می شود. این یک دوربین رزبری پای است که فیلتر IR از قبل برداشته شده است و می تواند از آن برای روشنایی IR برای فیلمبرداری در شب استفاده شود.

سرووی مورد استفاده یک سروو خطی با اندازه استاندارد 5 ولت با گشتاور 3-4 کیلوگرم بر سانتی متر است.

IR illuminator یک حلقه LED کم هزینه 48 بود که در EBay با قیمت 4 دلار پیدا کردم. این فوق العاده قوی نیست و فقط تا 15 فوت می تواند روشن شود. اگر بودجه اضافی دارید ، تهیه یک روشن کننده قوی تر پیشرفت خوبی خواهد بود.

من یک "اشکال زدایی اشکال زدایی" را به gpio23 اضافه کردم. کد وضعیت سوئیچ را بررسی می کند و در صورت فشار دادن ، رله شیر آب را برای آزمایش در آتش خشک غیر فعال می کند. من فکر می کردم با این سوئیچ بیشتر کار کنم اما در واقع از آن استفاده نکردم. آن را حذف می کنم و کدی که به دنبال آن است…

مرحله 3: ساخت: دوربین و IR Illuminator

ساختار: دوربین و IR Illuminator
ساختار: دوربین و IR Illuminator

من از جعبه مهمات پلاستیکی Harbor Freight به عنوان محفظه استفاده کردم. من عمدتا به چیزی مقاوم در برابر آب نیاز داشتم زیرا مقدار زیادی اسپری/رواناب اجتناب ناپذیر است. سوراخ ها/بریدگی های زیادی وجود دارد اما آنها با سایبان ، پلاستیک شفاف پوشانده شده یا در زیر برجستگی ها برای ریختن آب حفر شده اند. در نگاه عقب ، من باید از یک جعبه فلزی با سینک های گرمکن داخلی متصل به اجزای قدرت بالا استفاده می کردم. با این کار فکر می کنم می توانستم از اضافه کردن فن جلوگیری کنم. جعبه پلاستیکی بسیار عایق بود و اجازه می داد دمای داخلی بیش از حد افزایش یابد.

پنجره کوچکی در انتها بریده شد تا دوربین بتواند آن را ببیند و چراغ مادون قرمز درون یک قاب لنز پلاستیکی قدیمی نصب شده بود.

مرحله 4: ساخت و ساز: لوله کشی آب

ساخت: لوله کشی آب
ساخت: لوله کشی آب
ساخت: لوله کشی آب
ساخت: لوله کشی آب

ورودی آب به یک شیر آب 12 ولت لوله کشی می شود که به یک لوله وینیل ¼”ID x 3/8” OD وصل شده است. این به نوبه خود به یک لوله ¼”خاردار متصل می شود تا از اتصالات PVC مناسب برای لغزش استفاده شود و به یک کلاه آب PVC ¾ اینچ با یک سوراخ 1/16 اینچی برای جریان آب متصل می شود. من می خواستم رله شیر آب را از هوا دور نگه دارم تا در جعبه نصب شود. این خطر وجود دارد که من نشتی داشته باشم ، اما من سوراخ های تخلیه را در پایین جعبه ایجاد کرده ام و وسایل الکترونیکی را بالا نصب کرده ام تا در صورت این اتفاق احتمال آسیب احتمالی آب به وسایل الکترونیکی را به حداقل برسانم. یک طرح کمتر زیبا ، اما ایمن تر این است که سوپاپ را در قسمت بیرونی نصب کرده و سیم های رله 12 ولت را داخل آن قرار دهید. دیسک پلاستیکی شفاف روی سروو راهی مناسب برای نصب انتهای شیلنگ بود و از ریزش آب روی سروو جلوگیری می کند. فن بعداً مورد توجه قرار گرفت زیرا جعبه بیش از حد گرم می شد. یک سایبان کوچک روی آن ساختم تا آب از آن نریزد.

مرحله 5: ساخت و ساز: هدف سروو

ساخت و ساز: هدف سروو
ساخت و ساز: هدف سروو

سوراخی به قسمت بالای جعبه بریده شده و سروو هدف قرار داده شده و با سیلیکون مهر و موم شده تا آب آن خارج نشود.

مرحله 6: ساخت: نصب منبع تغذیه ، فن ، رزبری پای و Proto-board

ساختار: نصب منبع تغذیه ، فن ، رزبری پای و Proto-board
ساختار: نصب منبع تغذیه ، فن ، رزبری پای و Proto-board

دو منبع تغذیه (5 ولت و 12 ولت) به یک سیم برق متصل شده و از کنار جعبه خارج می شوند. رزبری پای و یک تخته اولیه در کنار جعبه در بالای آن نصب شده است. به سوراخ های تخلیه که در قسمت پایینی حفر شده و سوراخ های هوا که در امتداد لبه بالایی حفر شده اند توجه کنید. فن در مقابل رزبری پای نصب شده است. هیچ سوئیچ روشن/خاموش وجود ندارد زیرا من نمی خواهم تشویق به خاموش کردن Raspberry Pi بدون فرمان رسمی "خاموش کردن sudo now" کنم (یعنی نمی خواهم برق خیلی راحت خاموش شود).

مرحله 7: ساخت: تخته اولیه

ساخت و ساز: تخته اولیه
ساخت و ساز: تخته اولیه

برد اولیه شامل یک تنظیم کننده 5 ولت ، درپوش فیلتر ، ترانزیستورهای قدرت (که سروو و شیر آب را هدایت می کند) و یک کلید اشکال زدایی است.

مرحله 8: ساخت: دوربین رزبری پای

ساختار: دوربین رزبری پای
ساختار: دوربین رزبری پای

دوربین Raspberry Pi مستقیماً از طریق کابل روبان به Raspberry Pi متصل می شود و بر روی صفحه پلاستیکی شفاف نصب شده و برش دید را در جلوی جعبه پوشش می دهد.

مرحله 9: لیست قطعات

هزینه این پروژه حدود 120 دلار بود. عمده هزینه پروژه رزبری پای ، دوربین ، سروو و منابع تغذیه است. من اکثر قطعات را در EBay یا آمازون و قطعات لوله کشی را در فروشگاه سخت افزار محلی پیدا کردم.

  • رزبری پای 3 (آمازون) 38 دلار
  • دوربین NoIR (EBay) 30 دلار
  • 5 ولت سرو آنالوگ (4 کیلوگرم بر سانتی متر گشتاور) (EBay) 10 دلار
  • منبع تغذیه دیواری 5v/2.4A (EBay) 8 دلار
  • شیر آب 12v ½”(EBay) 5 دلار
  • لوله ، لوله اتصال (Osh) 5 دلار
  • جعبه مهمات پلاستیکی (حمل بار بندر) 5 دلار
  • منبع تغذیه دیواری 12 ولت/1.5 آمپر (ای بی) 5 دلار
  • IR Illuminator (EBay) 4 دلار
  • متفرقه قطعات (مقاومت ، سوئیچ ، دیود) 2 دلار
  • CPU Fan (EBay) 2 دلار
  • Proto Board ، Standoffs ، Screws (EBay) 2 دلار
  • (2) ترانزیستورهای قدرت (2n5296) (EBay) 1 دلار
  • تنظیم کننده 5v (LM7805) (EBay) 1 دلار
  • پاک کردن پلاستیک 3/32”(روی سطل پلاستیکی متفرقه ضربه بزنید) $ 1
  • سیم برق (Osh) 1 دلار

فروشگاه ها/سایت هایی که کالاها را در آنجا خریداری کرده ام:

  • Alice1101983 سایت EBay:
  • سایت 2bevoque EBay:
  • باربری بندری
  • سخت افزار تامین باغ
  • آمازون
  • روی پلاستیک ضربه بزنید

توصیه شده: