فهرست مطالب:
- مرحله 1: موارد اصلی مورد نیاز است
- مرحله 2: سیستم
- مرحله 3: زمان برنامه نویسی
- مرحله 4: ترکیب آن
- مرحله 5: نتایج
- مرحله ششم: مثبت کاذب
تصویری: Cat-a-way-Computer Vision Cat Sprinkler: 6 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
مشکل - گربه ها از باغ شما به عنوان توالت استفاده می کنند
راه حل - زمان زیادی را صرف مهندسی آبپاش گربه ای با ویژگی بارگذاری خودکار یوتیوب کنید
این مرحله به مرحله نیست ، بلکه یک نمای کلی از ساختار و برخی از کد ها است
#BeforeYouCallPETA - گربه ها خوب هستند ، یک آبپاش کم فشار درست مانند باران است ، که می توانند قبل از اینکه حتی به دور آنها بچرخد ، از آن پیشی بگیرند. هدف این نیست که گربه ای را خیس کنید ، بلکه باید آنها را قبل از اینکه با نسخه گربه ای تخم مرغ در باغ من زباله کنند ، دور کنید.
مرحله 1: موارد اصلی مورد نیاز است
رزبری پای صفر و کارت SD
دوربین رزبری پای
رله
تایمر 555…. (یا 552 تایمر شما نرسد ، یک آردوینو و یک رله دیگر)
شیر برقی
آب پاش
نوعی مسکن برای وسایل الکترونیکی
تمایل به ضربه زدن به میخ استعاری با چکش سورتمه 6 تنی
دوربینی با وضوح بسیار کمی که به سختی می توانید آب را ببینید ، اما هنوز هم گربه هایی را می بینید که برای پوشش تلاش می کنند
مرحله 2: سیستم
1 ، دوربین Pi یک شیء به اندازه گربه را که برای چند فریم دوربین در حال حرکت است تشخیص می دهد (در مرحله بعد بیان شده است)
2 ، Pi آبپاش را راه می اندازد
3 ، گربه برای پوشش می دوید
4 ، ویدیو برای مشاهده لذت به صورت خودکار در یوتیوب بارگذاری می شود
مرحله 3: زمان برنامه نویسی
با استفاده از openCV با استفاده از تفریق قاب می توانید مناطقی از فریم را پیدا کنید که با گذشت زمان تغییر می کنند ، با استفاده از برخی از عملکردهای خوب می توانید بفهمید که این تغییرات چقدر بزرگ هستند و اگر در طول زمان ادامه پیدا کنند یا از همه مهمتر اینکه آیا اندازه گربه هستند یا خیر.
آموزشهای زیادی در مورد تفریق فریم وجود دارد که در صورت جستجوی سریع در گوگل به جزئیات زیادی می پردازید.
مروری بر نحوه کار کد
1 ، دوربین مدام عکس می گیرد و آنها را با آخرین عکس ها مقایسه می کند
2 ، اگر شکل یک گربه تشخیص داده شود ، ذکر شده است
3 ، اگر تغییر اندازه گربه بیش از 4 فریم ادامه داشته باشد ، پی از GPIO خود برای رله قدرت برای شروع آردوینو استفاده می کند.
4 ، آردوینو یک سیگنال برای تغذیه رله دوم به مدت 5 ثانیه ارسال می کند که شیر برقی را فعال می کند
5 ، شیر برقی هنگام تغذیه اجازه می دهد تا آب به آبپاش برسد
6 ، در حالی که اسپرینکلر فعال است ، تشخیص و ضبط ویدئو متوقف می شود
7 ، ویدئو در یوتیوب بارگذاری می شود
8 ، Stills برای سیستم تنظیم خوب در dropbox بارگذاری شده است
توجه - چرا من از 2 رله و یک آردوینو برای روشن کردن یک شیر برقی به مدت 5 ثانیه استفاده کردم …..
1 ، Pi نمی تواند هنگام ضبط ویدئو ، شیر برقی را شروع و متوقف کند ، زیرا پایتون تا زمانی که فیلم به پایان نرسد ، متوقف می شود ، بنابراین نیاز به آردوینو (یا تایمر 555) است که اجازه می دهد تا شیر برقی مستقل از اسکریپت باز و بسته شود ویدئو هنوز ضبط می شود
2 ، اولین رله و آردوینو را می توان با تایمر 555 جایگزین کرد ، اما زمانی که این پروژه به موقع ارسال نشد ، 555 در زمان و مراحل زیادی صرفه جویی می کند.
3 ، Pi نمی تواند مستقیماً شیر برقی را فعال کند زیرا Pi GPIO روی حداکثر 3.3 ولت و 51 میلی آمپر کار می کند ، و شیر برقی 5 ولت و خیلی بیشتر از 51 میلی آمپر می خواهد.
4 ، هر قاب را می توان برای حذف تشخیص حرکت در مناطق ناخواسته ، مانند باغ همسایگان ، برش داد. عدم انجام این کار باعث می شود همسایه مزاحم به باغ شما نگاه کند ، زیرا آبپاش هر بار که می خواهد به سوله خود برود خاموش می شود.
5 ، من احتمالاً چیزی واضح را از دست دادم و وقت خود را برای تنظیم آن به این شکل تلف کردم.
کد زیر
import cv2import numpy as np import argparse #cat import time import RPi. GPIO بعنوان GPIO وارد کردن dropbox از picamera.array واردات PiRGBArray از واردات picamera PiCamera #------------------ ------------------------------ بارگذاری در یوتیوب ----------------- ---------------------- def HDtoYoutube (): ctime = time.strftime ("_٪ H-٪ M-٪ S") cdate = time.strftime ("_٪ d-٪ m-٪ Y") vidname = ctime + cdate #Trigger relay GPIO.output (11، True) time.sleep (.5) GPIO.output (11، False) print ("Taking Video") try: #Take Video os.system ('raspivid -w 1640 -h 922 -o vid {0}.h264 -t 15000'.format (vidname)) #بارگذاری در چاپ یوتیوب ("بارگذاری در YouTube") os. system ('sudo youtube-upload --title = "گربه مرطوب شد {0}" --client-secrets = client_secret.json vid {0}.h264'.format (vidname)) #حذف فایل ویدئویی پس از اتمام os.remove ('vid {0}.h264'.format (vidname)) چاپ ("ویدیو بارگذاری و حذف شده از Pi") به جز: گذر #-------------------- ---------------------------- همچنان به dropbox ------------------- -------------------- def خیابان illsToDropbox (): print ("بارگذاری هنوز در عملکرد Dropbox") access_token = 'آه ، آه ، شما کلمه جادویی را نگفته اید … آه آه ، شما کلمه جادویی را نگفته اید' ctime = time.strftime (" ٪ H:٪ M:٪ S ") cdate = time.strftime ("٪ d-٪ m-٪ Y ") try: filename =" /Motion/{0}/DetectedAt_{1}.jpg".format(cdate ، ctime) print (نام فایل) client = dropbox.client. DropboxClient (access_token) image = open ("ToDropbox.jpg"، 'rb') client.put_file (نام فایل ، تصویر) image.close () os.remove ("ToDropbox-j.webp
#HowToTriggerRealProgrammersWithBadCode
مرحله 4: ترکیب آن
وسایل برقی را در محفظه ای ضد آب قرار دهید ، وسایل را به دیوار پیچ کنید و از نوار چسب و چسب داغ زیادی استفاده کنید
مرحله 5: نتایج
وقتی کار می کند کار می کند
مرحله ششم: مثبت کاذب
وقتی سایه گربه ، زن و دخترتان را نمی پاشد.
راهنمایی - یک سوئیچ کنار درب قرار دهید که برنامه تشخیص حرکت را متوقف کند ….. سپس استفاده از آن را فراموش کرده و هنگام بیرون آوردن سطل ها خیس بخورید.
امیدوارم با تمام اشتباهاتی که احتمالاً مرتکب شده ام ، متخصص برنامه نویسی ، الکترونیک و DIY شده باشم و به خصوص امیدوارم از همه اشتباهات املایی من لذت برده باشید.
توصیه شده:
Raspberry PI Vision Processor (SpartaCam): 8 مرحله (همراه با تصاویر)
Raspberry PI Vision Processor (SpartaCam): یک سیستم پردازشگر Raspberry PI vision برای ربات FIRST Robotics Competition شما. درباره FIRST از ویکی پدیا ، دائرclالمعارف رایگان https://fa.wikipedia.org/wiki/FIRST_Robotics_Compe .. اولین مسابقه رباتیک (FRC) یک دبیرستان بین المللی است
DIY Persistence of Vision: 6 مرحله (همراه با تصاویر)
DIY Persistence of Vision: در این پروژه شما را با چشم انداز Vision یا POV Display با چند وسیله مانند سنسورهای آردوینو و Hall آشنا می کنم تا صفحه ای چرخشی داشته باشد که هر چیزی را که دوست دارید مانند متن ، زمان و سایر شخصیت های خاص را نمایش دهد
Micro: bit MU Vision Sensor و Zip Tile ترکیبی: 9 مرحله (همراه با تصاویر)
Micro: bit MU Vision Sensor و Zip Tile Combined: بنابراین در این پروژه ما قصد داریم سنسور دید MU را با یک کاشی زیپ Kitronik ترکیب کنیم. ما از سنسور بینایی MU برای تشخیص رنگها و استفاده از Zip Tile برای نشان دادن آن استفاده خواهیم کرد. ما قصد داریم از تکنیک هایی که قبلاً استفاده کرده ایم استفاده کنیم
تطبیق یک گوشی تلفن همراه با تلفن همراه: 7 مرحله (همراه با تصاویر)
انطباق یک گوشی تلفن همراه با یک تلفن همراه: توسط بیل ریو ([email protected]) اقتباس شده برای دستورالعمل ها توسط موس ([email protected]) سلب مسئولیت: روش شرح داده شده در اینجا ممکن است برای شما کارساز نباشد گرفتن. اگر کار نمی کند ، یا اگر چیزی را خراب می کنید ، m نیست
(POV) Persistence of Vision Globe: 8 مرحله (همراه با تصاویر)
(POV) تداوم Vision Globe:! به روز رسانی! من یک برنامه اکسل اضافه کرده ام که ترسیم و کدگذاری تصاویر جدید را بسیار ساده تر می کند! تداوم ساده جهان بینایی. ویدئوی پخش این پروژه ای است که مدتی است در ذهنم بود و & quot؛ Make It Glow & quot؛ مسابقه فقط دومین بود