جدول المحتويات:

مكبر الماء التعقب التلقائي: 9 خطوات
مكبر الماء التعقب التلقائي: 9 خطوات

فيديو: مكبر الماء التعقب التلقائي: 9 خطوات

فيديو: مكبر الماء التعقب التلقائي: 9 خطوات
فيديو: مشكل سقوط الهاتف في الماء 2024, يوليو
Anonim
مكبر الماء التعقب التلقائي
مكبر الماء التعقب التلقائي

حفزتني الغزلان الآكلة للورد على بناء مدفع ماء لتتبع الهدف للمساعدة في ردع المخلوقات الشرهة … يستخدم مكبر الماء هذا اكتشاف الحركة المستند إلى الفيديو لتوجيه المؤازرة وإطلاق رشقات قصيرة من الماء على الهدف. يتم إطلاقه فقط بعد أن يكون الهدف المكتسب ثابتًا لبضع ثوان (يمكن ضبط التأخير في الكود). لا يهمني ما إذا كان الغزلان يمشي بجواره فقط ولكن إذا توقفوا لتناول وجبة خفيفة ، فقم بتهدئة!

إليكم مقطع فيديو لي أثناء اختبار مدفع المياه:

يعتبر Water Blaster عبارة عن صندوق مستقل يمكن توصيله عن بُعد (عبر wi-fi / VNC) من أي جهاز كمبيوتر على شبكتك لمراقبة ما يفعله. إنها تلتقط صورة في كل مرة يتم تشغيلها حتى تتمكن من رؤية ما تم تفجيره لاحقًا.

لقد استخدمت Raspberry Pi ، وكاميرا NoIR ، وإضاءة الأشعة تحت الحمراء ، ومؤازرة خطية قياسية ، وصمام ماء لإنشاء هذا اليوم / الليل ، ومضخة مياه التعقب المستهدفة. تمت كتابة الشفرة بلغة Python وتقترض بشكل كبير من عينات كود معالجة الصور cv2 الخاصة بـ Adrian Rosebrock. يمكنك أن ترى كتابته على:

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

نظرًا لأنني أسعى وراء أهداف أرضية كبيرة نسبيًا (الغزلان) ، فإن مشكلتي مبسطة إلى حد ما. أنا فقط أطلب التصويب الأفقي حتى أتمكن من استخدام أجهزة واحدة فقط. يساعدني انتظار وقوف الغزال في التخلص من الكثير من المحفزات الكاذبة. هذه هي محاولتي rev-0 ووجدت بعض الأشياء التي سأقوم بتعديلها إذا أنشأت واحدة أخرى. لقد لاحظت هذه الأشياء في الكتابة التفصيلية التالية.

الخطوة 1: الكود

يستخدم مكبر الماء Raspberry Pi 3 للمعالجة. لالتقاط الفيديو ، يتم استخدام كاميرا NoIR Raspberry Pi جنبًا إلى جنب مع إضاءة الأشعة تحت الحمراء للفيديو الليلي. تُستخدم حزمة OpenCV / cv2 Python لالتقاط معلومات الصورة ومعالجتها وحساب إحداثيات الهدف. تُستخدم مكتبة pigpio للتحكم في gpio من أجل تشغيل مؤازر ثابت. أدى استخدام حزمة RPi. GPIO العادية إلى اهتزاز المؤازرة. ملاحظة: عند استخدام مكتبة pigpio ، تحتاج إلى تشغيل برنامج Pigpio الخفي. أضف هذا إلى ملف بدء التشغيل المحلي /etc/rc.local الخاص بـ pigpio lib وواجهة كاميرا Raspberry Pi:

/etc/rc.local# إعداد / dev / video0 للارتباط بـ Raspberry Pi المدمج في واجهة الكاميرا bcm2835-v4l2 # ابدأ برنامج pigpio الخفي لمكتبة التحكم Raspberry Pi IO

راجع https://pypi.python.org/pypi/pigpi لمزيد من التفاصيل.

تم تسمية شفرة المصدر: water_blaster.py وهي مرفقة أدناه.

إخلاء المسؤولية: أنا جديد في ترميز Python ، لذا لا تعامله على أنه نموذج رائع لأسلوب برمجة Python!

الخوارزمية الأساسية هي كما يلي:

  • احصل على إطار مرجعي أولي للفيديو. سيتم استخدام هذا للمقارنة لاكتشاف الحركة.
  • التقط إطارًا آخر.
  • تحويل الإطار إلى مقياس رمادي ، وحجمه ، وطمسه.
  • احسب الفرق من الإطار المرجعي
  • تصفية الفروق الصغيرة ، والحصول على إحداثيات الفرق الأكبر.
  • اضبط عداد الوقت. إذا لم يتغير إحداثيات الهدف لبضع ثوانٍ ، فقم بالتقاط صورة لما نحن على وشك تصويره وتشغيل صمام الماء من أجل انفجار الماء. حرك المؤازرة ذهابًا وإيابًا بضع درجات للحصول على انفجار "بندقية".
  • إذا حصلنا على ثلاثة مشغلات بسرعة كبيرة ، فقم بتعطيل التصوير ، وتوقف قليلاً ، ثم قم بتحديث الإطار المرجعي حيث قد نقوم بالتصوير في ظل أو ضوء الشرفة الذي تم تشغيله للتو …
  • قم بتحديث الإطار المرجعي كل بضع دقائق لمراعاة التغييرات منخفضة التردد (شروق الشمس / غروبها ، والغيوم تتحرك إلى الداخل ، وما إلى ذلك)

أنا أستخدم فقط آلية التصويب الأفقية ولكن تتوفر العديد من حوامل المؤازرة عمومًا / الإمالة على موقع EBay وسيكون من السهل إضافة أجهزة أخرى للتحكم في التصويب الرأسي إذا كنت تريد استهدافًا أكثر دقة.

قمت بإعداد Raspberry Pi للتشغيل كخادم VNC ، ثم اتصل به عبر VNC من الكمبيوتر المحمول الخاص بي لبدء البرنامج ومراقبة الفيديو والسجلات. cd في الدليل حيث تخزن water_blaster.py وقم بتشغيله عن طريق كتابة:

./python water_blaster.py

سيفتح نافذة شاشة الفيديو ، ويبدأ ملف سجل باسم ./log_ لكل لقطة يتم التقاطها.

فيما يلي بعض الملاحظات حول إعداد VNC على Raspberry Pi الخاص بك:

في المرة الأولى التي أقوم فيها بإعداد Raspberry Pi ، استخدمت شاشة خارجية / لوحة مفاتيح / ماوس لإعداد الأشياء. هناك قمت بتمكين خادم VNC في تكوين RasPi (خيار Raspberry / Preferences / Raspberry Pi Configuration / Interfaces / Check VNC). بعد ذلك ، عندما يتم تشغيله ، فإنه يمكّنك من الاتصال بالشاشة: 0 عبر عميل VNC (مع نفس بيانات الاعتماد مثل المستخدم الافتراضي "pi").

في الوضع بدون رأس ، يتم تعيينه افتراضيًا على شاشة عرض صغيرة جدًا (حيث لا يكتشف أي شاشة) ، ولإجباره على دقة أكبر ، يمكنك إضافة هذا إلى /boot/config.txt وإعادة التشغيل:

# استخدم إذا كان لديك عرض # hdmi_ignore_edid = 0xa5000080hdmi_group = 2 # 1400x1050 w / 60Hz # hdmi_mode = 42 # 1356x768 w / 60Hzhdmi_mode = 39

إليك بعض المعلومات الإضافية:

الخطوة الثانية: الإلكترونيات

تكون متطلبات إلكترونيات مدفع المياه في حدها الأدنى باستخدام Raspberry Pi 3 gpio لتشغيل المؤازرة وصمام المياه وإضاءة الأشعة تحت الحمراء عبر مخازن الترانزستور المؤقتة (المبنية على لوحة أولية صغيرة). يتم توصيل كاميرا NoIR القياسية مباشرة بـ Raspberry Pi.

اسم التخطيطي هو: water_blaster_schematic.pdf ومرفق أدناه.

لقد استخدمت مصدرًا مخصصًا 5v / 2.5A لـ Raspberry Pi ومصدر 12v / 1A لقيادة مصباح الأشعة تحت الحمراء وصمام الماء. يعمل مزود الطاقة بجهد 12 فولت أيضًا على تشغيل منظم 5 فولت لتزويد الطاقة إلى أجهزة 5 فولت. تم القيام بذلك للحفاظ على قوة التحكم في المحرك "الصاخبة" معزولة عن مصدر Raspberry Pi 5v. تبين أن العرض 12 فولت / 1 أمبير كان عند حده الصحيح (في الواقع أكثر قليلاً بمجرد إضافة المروحة). يقوم الكود بإيقاف تشغيل مصباح الأشعة تحت الحمراء قبل تشغيل مرحل صمام الماء للحفاظ على السحب الحالي ضمن النطاق … سيكون من الأفضل إذا كنت تستخدم مصدر 1.5 أمبير. تأكد من توصيل المحطات الأرضية لجميع مصادر الطاقة معًا.

وحدة الكاميرا هي إصدار قياسي من NoIR يتم توصيله مباشرة بـ Raspberry Pi. إنها كاميرا Raspberry Pi مع مرشح الأشعة تحت الحمراء الذي تمت إزالته بالفعل مما يتيح استخدامها مع إضاءة الأشعة تحت الحمراء لالتقاط فيديو ليلي.

المؤازرة المستخدمة هي مؤازرة خطية بحجم قياسي 5 فولت بعزم دوران يبلغ 3-4 كجم سم.

كان مصباح الأشعة تحت الحمراء عبارة عن حلقة منخفضة التكلفة 48 مصباح وجدتها على موقع EBay مقابل 4 دولارات تقريبًا. إنها ليست قوية جدًا ويمكن أن تضيء حتى عمق 15 قدمًا فقط. إذا كانت لديك ميزانية إضافية ، فإن الحصول على أداة إضاءة أقوى سيكون تحسينًا جيدًا.

أضفت "مفتاح التصحيح" إلى gpio23. يتحقق الرمز من حالة المفتاح وإذا تم الضغط عليه سيعطل مرحل صمام الماء لاختبار الحريق الجاف. اعتقدت أنني سأفعل المزيد باستخدام هذا المفتاح ولكني لم أستخدمه في النهاية على الإطلاق. سأزيله والرمز الذي يبحث عنه …

الخطوة 3: البناء: الكاميرا والمنور بالأشعة تحت الحمراء

البناء: الكاميرا و مصباح الأشعة تحت الحمراء
البناء: الكاميرا و مصباح الأشعة تحت الحمراء

لقد استخدمت صندوق ذخيرة بلاستيكي من Harbour Freight كعلبة. كنت بحاجة بشكل أساسي إلى شيء مقاوم للماء لأن الكثير من رذاذ الماء / الجريان السطحي أمر لا مفر منه. هناك الكثير من الثقوب / القواطع ولكنها مغطاة بالمظلات أو البلاستيك الشفاف أو يتم حفرها تحت الأرفف المتدلية لسقوط المياه. في الأفق الخلفي ، كان يجب أن أستخدم صندوقًا معدنيًا به خافضات حرارة متصلة داخليًا بمكونات عالية الطاقة. من خلال القيام بذلك ، أعتقد أنه كان بإمكاني تجنب إضافة المروحة. كان الصندوق البلاستيكي عازلًا جدًا ويسمح بارتفاع درجة الحرارة الداخلية كثيرًا.

تم قطع نافذة صغيرة في النهاية لتتمكن الكاميرا من رؤيتها وتم تركيب مصباح الأشعة تحت الحمراء داخل علبة عدسات بلاستيكية قديمة كنت أضعها حولها.

الخطوة 4: البناء: مواسير المياه

البناء: مواسير المياه
البناء: مواسير المياه
البناء: مواسير المياه
البناء: مواسير المياه

يتم توصيل مدخل المياه بأنابيب إلى صمام ماء بجهد 12 فولت متصل بأنبوب فينيل OD ¼ بوصة ID × 3/8 بوصة. وهذا بدوره متصل بأنابيب شائكة مقاس بوصة لتوصيل موصل PVC ملائم للانزلاق ولصقه بغطاء ماء من مادة PVC مقاس بوصة مع فتحة 1/16 بوصة محفورة لتدفق المياه. كنت أرغب في إبقاء مرحل صمام المياه بعيدًا عن الطقس حتى يتم تثبيته داخل الصندوق. هناك خطر من أن أحصل على تسرب ، لكنني قمت بحفر فتحات تصريف في الجزء السفلي من الصندوق وقمت بتركيب الإلكترونيات عالياً لتقليل فرصة تلف المياه المحتمل للإلكترونيات إذا حدث ذلك. تتمثل الخطة الأقل إمتاعًا من الناحية الجمالية ، ولكنها أكثر أمانًا ، في تركيب الصمام على الجزء الخارجي وتشغيل أسلاك الترحيل بجهد 12 فولت في الداخل. كان القرص البلاستيكي الشفاف الموجود فوق المؤازرة طريقة ملائمة لتركيب طرف الخرطوم ويمنع الماء من التساقط على المؤازرة. كانت المروحة فكرة متأخرة حيث كان الصندوق يسخن كثيرًا. قمت ببناء مظلة صغيرة فوقه لمنع الماء من التساقط فيه.

الخطوة 5: البناء: التصويب المؤازر

البناء: تهدف المؤازرة
البناء: تهدف المؤازرة

يتم قطع فتحة في الجزء العلوي من الصندوق ويتم تثبيت المؤازرة المستهدفة وختمها بالسيليكون للحفاظ على المياه.

الخطوة 6: البناء: تركيب إمدادات الطاقة ، والمروحة ، و Raspberry Pi ، و Proto-board

البناء: تركيب إمدادات الطاقة ، المروحة ، Raspberry Pi ، واللوحة الأولية
البناء: تركيب إمدادات الطاقة ، المروحة ، Raspberry Pi ، واللوحة الأولية

يتم توصيل موردي الطاقة (5 فولت و 12 فولت) بسلك طاقة واحد يخرج من جانب الصندوق. يتم تثبيت Raspberry Pi ولوحة proto على جانب الصندوق بالقرب من الجزء العلوي. لاحظ فتحات التصريف المحفورة في الأسفل وفتحات تهوية الهواء المحفورة على طول الحافة العلوية. المروحة مثبتة مقابل Raspberry Pi. لا يوجد مفتاح تشغيل / إيقاف لأنني لا أرغب في تشجيع إيقاف تشغيل Raspberry Pi بدون أمر "sudo shutdown now" الرسمي (أي لا تريد إيقاف تشغيل الطاقة بسهولة شديدة).

الخطوة 7: البناء: لوحة Proto

البناء: مجلس بروتو
البناء: مجلس بروتو

تحتوي اللوحة الأولية على منظم بجهد 5 فولت ، وغطاء مرشح ، وترانزستورات طاقة (تعمل على تشغيل المؤازرة وصمام الماء) ، ومفتاح تصحيح الأخطاء.

الخطوة 8: البناء: Raspberry Pi Camera

البناء: كاميرا Raspberry Pi
البناء: كاميرا Raspberry Pi

تتصل كاميرا Raspberry Pi مباشرة بـ Raspberry Pi عبر كابل الشريط ويتم تثبيتها على لوحة بلاستيكية شفافة تغطي فتحة العرض في مقدمة الصندوق.

الخطوة 9: قائمة الأجزاء

انتهى المشروع بتكلفة حوالي 120 دولارًا. الجزء الأكبر من تكلفة المشروع هو Raspberry Pi والكاميرا وأجهزة المؤازرة وإمدادات الطاقة. لقد وجدت معظم الأجزاء على موقع EBay أو Amazon وأجزاء السباكة في متجر الأجهزة المحلي.

  • Raspberry Pi 3 (أمازون) 38 دولارًا
  • NoIR Camera (EBay) 30 دولارًا
  • مضاعفات تناظرية 5 فولت (عزم دوران 4 كجم سم) (EBay) 10 دولارات
  • مزود طاقة حائط 5 فولت / 2.4 أمبير (EBay) 8 دولارات
  • 12v ½ "صمام مياه (EBay) 5 دولارات
  • الأنابيب ، قارنات الأنابيب (Osh) 5 دولارات
  • صندوق الذخيرة البلاستيكية (هاربور فريت) 5 دولارات
  • 12v / 1.5A مصدر طاقة حائط (EBay) 5 دولارات
  • إضاءة الأشعة تحت الحمراء (إيباي) 4 دولارات
  • متفرقات المكونات (المقاومات ، المفاتيح ، الصمام الثنائي) 2 دولار
  • مروحة وحدة المعالجة المركزية (إيباي) 2 دولار
  • لوح بروتو ، مواجهات ، براغي (إيباي) 2 دولار
  • (2) ترانزستورات الطاقة (2n5296) (إيباي) 1 دولار
  • 5v Regulator (LM7805) (EBay) 1 دولار
  • بلاستيك شفاف 3/32”(صندوق متنوع البلاستيك الحنفية) 1 دولار
  • سلك الطاقة (أوش) 1 دولار

المتاجر / المواقع التي اشتريت منها العناصر:

  • Alice1101983 موقع EBay:
  • 2bevoque EBay الموقع:
  • هاربور فريت
  • أجهزة توريد أورشارد
  • أمازون
  • اضغط على البلاستيك

موصى به: