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

روبوت التسول مع تتبع الوجه والتحكم بواسطة وحدة تحكم Xbox - Arduino: 9 خطوات (بالصور)
روبوت التسول مع تتبع الوجه والتحكم بواسطة وحدة تحكم Xbox - Arduino: 9 خطوات (بالصور)

فيديو: روبوت التسول مع تتبع الوجه والتحكم بواسطة وحدة تحكم Xbox - Arduino: 9 خطوات (بالصور)

فيديو: روبوت التسول مع تتبع الوجه والتحكم بواسطة وحدة تحكم Xbox - Arduino: 9 خطوات (بالصور)
فيديو: REVAN - THE COMPLETE STORY 2024, شهر نوفمبر
Anonim
Image
Image
تثبيت وتكوين OpenCV و C ++
تثبيت وتكوين OpenCV و C ++

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

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

الأجهزة الإلكترونية

  • Arduino NANO أو UNO
  • كاميرا USB 2.0
  • كبلات توصيل (ذكور وإناث)
  • 2 × مؤازر - عام (حجم صغير جدًا)
  • 2 × ليد - RGB كاثود 5 مم
  • 2 × 5 ميجا واط ليزر
  • 1 × ليد أحمر 5 مم
  • 1 × اللوح
  • 4 × 220Ω المقاوم
  • 1 × 1KΩ المقاوم
  • 1 × بروتوبورد
  • 1 × مستشعر السونار 4 دبابيس
  • جهاز تحكم Xbox

التناظرية الأجهزة

  • صندوق خشبي (15 × 15 × 7 سم)
  • صمغ
  • شريط كهربائي

برمجة

  • اردوينو IDE
  • الاستوديو المرئي 2017
  • 3Ds Max (أو أي برنامج تعديل ثلاثي الأبعاد آخر)
  • التشكيل 2.14.0 أو أحدث
  • OpenCV 3.4.0 أو أحدث

أدوات

  • معدات اللحام
  • المنشار والحفر
  • قاطع الاسلاك

الخطوة الثانية: تثبيت وتكوين OpenCV و C ++

تثبيت وتكوين OpenCV و C ++
تثبيت وتكوين OpenCV و C ++

الخطوة 2.1: الحصول على البرنامج

Visual studio 2017: قم بتنزيل Visual studio Comunity 2017openCV 3.4.0 Win pack: انتقل إلى صفحة التنزيل الرسمية

الخطوة 2.2: تثبيت OpenCV2.2.1: قم باستخراج ملف zip إلى محرك أقراص Windows (: C). 2.2.2: انتقل إلى إعدادات النظام المتقدمة. يمكن العثور على هذا في وظيفة البحث win10.2.2.3: نحن بحاجة إلى إعداد متغيرات بيئية جديدة. حدد موقع "المسار" البيئي واضغط على edit.2.2.4: الآن يتعين علينا إضافة موقع "bin map" إلى متغير جديد في بيئة المسار. إذا قمت بتثبيت OpenCV على محرك الأقراص C ، فيمكن أن يسير المسار على النحو التالي: C: / opencv / build / x64 / vc14 / bin الصق المسار واضغط على "موافق" على جميع النوافذ التي ربما فتحتها أثناء هذه العملية.

الخطوة 2.3: تكوين Visual studio C ++ 2.3.1: إنشاء مشروع Visual C ++ جديد. اجعله مشروع Win32 Console Application فارغًا..2.3.2: في علامة تبويب الملفات المصدر ، انقر بزر الماوس الأيمن وأضف ملف C ++ جديد (.cpp) وقم بتسميته "main.cpp".2.3.3: انقر بزر الماوس الأيمن فوق المشروع- name في مستكشف الحلول وحدد Properties.2.3.4: نحتاج إلى إضافة أدلة تضمين إضافية. يمكن العثور على هذا ضمن علامة التبويب C / C ++ بشكل عام ، انسخ المسار التالي: C: / opencv / build / include والصقه خلف "AID" وانقر فوق "تطبيق".2.3.5: في نفس النافذة نحتاج إلى حدد علامة التبويب "رابط". تحت عام نحتاج إلى إنشاء دلائل مكتبة إضافية أخرى. الصق المسار التالي خلف "AID" C: / opencv / build / x64 / vc14 / lib واضغط على تطبيق مرة أخرى.2.3.6: ضمن علامة تبويب الرابط نفسها ، حدد علامة التبويب "الإدخال". واضغط على "تبعية إضافية> تحرير" والصق الملف التالي opencv_world320d.lib و xinput.lib (لوحدة التحكم) واضغط على تطبيق مرة أخرى. أغلق النافذة الآن ملف C ++ جاهز للعمل معه.

الخطوة 3: إعداد Arduino

إعداد Arduino
إعداد Arduino
إعداد Arduino
إعداد Arduino
إعداد Arduino
إعداد Arduino
إعداد Arduino
إعداد Arduino

تلبية الماكينات: الماكينات قادرة على الدوران ~ 160 درجة ، يجب أن يكون لديها ما بين 4 و 8 و 6 و 0 فولت لتعمل بشكل طبيعي. دبوس. بالنسبة لمشروعنا ، سنقوم بتعيين دبابيس البيانات للوحدات المؤازرة على DigitalPin 9 و 10.

تلبية مصابيح RGB: تحتوي مصابيح RGB على 4 دبابيس ، دبوس أحمر وأخضر وأزرق وأرضي. لتوفير بعض المساحة على اردوينو ، يمكننا توصيل 2 RGB LED معًا. لذلك سنستخدم 3 دبابيس فقط ، ويمكننا توصيل مصابيح RGB LED على لوح أولي كما في الصورة. الدبوس الأحمر => DigitalPin 3 (PWM) دبوس أخضر => DigitalPin 4Blue pin => DigitalPin 7

لقاء الجرس بيزو: الروبوت الصغير لدينا سوف يصدر بعض الضوضاء. من أجل القيام بذلك ، يجب أن نعطيه صوتًا! يمكننا اختيار جعله صاخبًا حقًا. أو يمكننا وضع المقاوم 220Ω قبل الجرس الانضغاطي لنجعله أقل بغيضًا. نترك جرس بيزو على لوح التجارب. لذلك لا داعي للحام ، نقوم بتوصيل دبوس البيانات (+) بـ DigitalPin 2 والدبوس الأرضي بالأرض على اللوح.

لقاء السونار: من أجل منع الروبوت من محاولة التصويب على شخص يبعد مسافة 10 أمتار. يمكننا أن نمنح الروبوت مدى مسافة من حيث سيكون قادرًا على استهداف الناس. نقوم بذلك باستخدام مستشعر السونار VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => أرضي

مقابلة كاشف العملة: سنصنع كاشفًا للعملات المعدنية. سيعمل كاشف العملات عن طريق اكتشاف ما إذا كانت الدائرة مغلقة أو مكسورة. سيعمل تقريبًا مثل مفتاح. لكن علينا أن نكون حذرين. إذا فعلنا هذا بشكل خاطئ ، فسوف يكلفنا اردوينو. أولاً: قم بتوصيل AnalogPin A0 بكابل 5 فولت. لكن تأكد من وضع المقاوم 1KΩ بينها. ثانيًا: قم بتوصيل سلك بالأرض. يمكننا على الفور لحام الأسلاك والمقاوم بنفس اللوحة الأولية مثل مصابيح RGB ، والآن إذا لمسنا السلكين فسيقوم اردوينو باكتشاف دائرة مغلقة. هذا يعني أن هناك قطعة نقود ، تواجه ليزر الموت ، يحتاج الروبوت إلى أسلحته ليطلق النار! لتوفير بعض المساحة ، قمت بلحام الليزرين معًا ، وسوف يتناسبان تمامًا مع إطار الكاميرا. قم بتوصيلهم بـ DigitalPin 11 وبالأرض ، أطلق النار على الرجل الصغير!

وسيلة للتحايل الاختيارية: يمكننا وضع مؤشر LED أحمر أسفل فتحة العملات المعدنية. ستكون هذه حيلة صغيرة ممتعة عندما يحل الظلام. قم بتوصيل سلك بـ DigitalPin 8 ووضع مقاوم 220Ω بين LED والسلك لمنعه من الانفجار. قم بتوصيل دبوس قصير من LED بالأرض.

الخطوة 4: كود C ++

الخطوة 4.1: إعداد main.cpp code4.1.1: قم بتنزيل "main.cpp" وانسخ الكود إلى main.cpp.4.1.2 الخاصة بك: في السطر 14 ، قم بتغيير "com" إلى com الذي يستخدمه arduino. "\. / COM (قم بتغيير هذا)" 4.1.3: في السطر 21 و 22 قم بتعيين المسار الصحيح للملفات "haarcascade_frontalface_alt.xml" و "haarcascade_eye_tree_eyeglasses.xml" إذا تم تثبيت openCV على محرك الأقراص C ، يمكن وضع هذه الملفات هنا: "C: / opencv / build / etc / haarcascades \" احتفظ بالشرطة المائلة العكسية المزدوجة أو أضف واحدًا حيث يوجد واحد فقط.

الخطوة 4.2: إضافة tserial.h و Tserial.cpp سوف يعتني هذان الملفان بالاتصال بين arduino و PC.4.2.1: تنزيل tserial.h و Tserial.cpp.4.2.2: ضع هذين الملفين في المشروع الدليل. في مستكشف الحلول ، انقر بزر الماوس الأيمن على المشروع وحدد إضافة> عنصر موجود. في النافذة المنبثقة ، حدد الملفين المراد إضافتهما.

الخطوة 4.2: إضافة CXBOXController.h و CXBOXController.h سوف تأخذ هذه الملفات جزء وحدة التحكم في المشروع.4.2.1: في مستكشف الحلول ، انقر بزر الماوس الأيمن على المشروع وحدد إضافة> عنصر موجود. في النافذة المنبثقة ، حدد الملفين المراد إضافتهما. تم إعداد ملفات C ++.

الخطوة 5: كود اردوينو

الخطوة 5.1: مكتبة NewPing 5.1.1: قم بتنزيل ArduinoCode.ino وافتحه في arduino IDE.5.1.2: انتقل إلى "Sketch> Include libary> Manage libaries".5.1.3: ابحث في مربع التصفية إلى "NewPing" وقم بتثبيت هذه المكتبة.

الخطوة 5.2: مكتبة الملاعب 5.2.1: قم بتنزيل Pitches.txt وانسخ محتوى Pitches.txt.5.2.2: في Arduino IDE ، اضغط على CTRL + Shift + N لفتح علامة تبويب جديدة. Pitches.txt في علامة التبويب الجديدة وحفظه باسم "Pitches.h". تم إعداد كود Arduino

الخطوة 6: الطباعة ثلاثية الأبعاد وتنقية الطباعة

الطباعة ثلاثية الأبعاد وتنقية الطباعة
الطباعة ثلاثية الأبعاد وتنقية الطباعة
الطباعة ثلاثية الأبعاد وتنقية الطباعة
الطباعة ثلاثية الأبعاد وتنقية الطباعة

الخطوة 6.1: طباعة الملف ثلاثي الأبعاد: افتح ملف printfile.form وتحقق مما إذا كان كل شيء على ما يرام. إذا كان كل شيء يبدو على ما يرام ، أرسل وظيفة print إلى الطابعة ، إذا بدا لك شيء ما أو كنت تريد تغيير النموذج. لقد قمت بتضمين ملفات 3Ds Max وملفات OBJ لتحريرها.

الخطوة 6.2: صقل النموذج 6.2.1: بعد الانتهاء من الطباعة ، انقع النموذجين في حوالي 70٪ كحول لإزالة أي إعادة طباعة. تصلب النموذج. أو يمكنك استخدام مصباح الأشعة فوق البنفسجية لتقوية النموذج. يجب القيام بذلك لأن النموذج سيكون مثبتًا.

6.2.3: إزالة إطار الدعم. يمكن القيام بذلك باستخدام قاطع الأسلاك. أو أي أداة أخرى يمكنها قطع البلاستيك. 6.2.4: بعض أجزاء الطباعة ثلاثية الأبعاد يمكن أن تظل ناعمة. حتى لو تعرض النموذج للكثير من الضوء فوق البنفسجي ، فالأجزاء التي يمكن أن تكون ناعمة هي الأجزاء التي تكون قريبة من إطارات الدعم. ضع النموذج في مزيد من أشعة الشمس للأشعة فوق البنفسجية لتتصلب. 6.2.5: باستخدام "dremel" يمكنك إزالة جميع النتوءات الصغيرة الناتجة عن الإطار. يمكنك محاولة احتواء الماكينات في الإطار. إذا لم تكن مناسبة ، يمكنك استخدام Dremel لصنفرة المواد بعيدًا. اجعلها مناسبة.

الخطوة 7: بناء الصندوق

بناء الصندوق
بناء الصندوق
بناء الصندوق
بناء الصندوق

الخطوة 7.1: عمل الثقوب لقد قمت بتضمين مخطط للمربع المعني. المخطط ليس على نطاق واسع ، ولكن جميع الأحجام صحيحة. 7.1.1: ابدأ بوضع علامة على جميع الثقوب في المواقع الصحيحة. 7.1.2: حفر جميع الثقوب. يمكن عمل الثقوب الأكبر حجمًا باستخدام جهاز Dremel.7.1.3: يمكن حفر الثقوب المربعة أيضًا. ولكن لجعلها مربعة ، يمكنك أن تلائم جهاز Dremel بملف صغير ومبرّد زوايا حادة 7.1.4: حاول أن تناسب جميع المكونات. إذا كانت مناسبة ، فأنت على ما يرام 7.1.5: احترس من شظايا الخشب. استخدم ورق الرمل للتخلص منها.

الخطوة 7.2: الطلاء 7.2.1: ابدأ بصنفرة الغطاء. نحتاج إلى أن يلتصق الطلاء. 7.2.2: خذ قطعة قماش وضع عليها القليل من زيت التربنتين لتنظيف الصندوق. 7.2.3: الآن يمكنك رش طلاء الصندوق بأي لون تريده.

الخطوة 8: الانتهاء

الانتهاء
الانتهاء
الانتهاء
الانتهاء
الانتهاء
الانتهاء

الآن علينا أن نضع كل شيء في مكانه ونتركه يفعل شيئًا..3: اختبر الاتصال بعملة معدنية. إذا لم تكن هناك دائرة مغلقة ، فقم بتوصيل الأسلاك إلى الحافة. 8.2.3: قم بتوصيل جميع الأسلاك من اللوحة الأولية بـ arduino. الخطوة 8.3: مستشعر السونار 8.3.1: ضع المستشعر في الفتحات التي صنعناها من أجله ، إذا كان لديك أسلاك توصيل من الذكور إلى الإناث يمكنك تخطي 8.3.28.3.2: قم بقص بعض الأسلاك من الذكور والإناث إلى نصفين ولحام الأسلاك الأنثوية والذكور معًا لعمل كابل واحد يمكننا استخدامه لتوصيل المستشعر بـ arduino.

الخطوة 8.4: الليزر والكاميرا 8.4.1: ألصق الإطار الصغير بالكاميرا. تأكد من أنها عمودية 8.4.2: ضع أشعة الليزر في الإطار أيضًا. قم بلصقهم حتى لا يسرقهم العدو!

الخطوة 8.5: Servos و 3D print8.5.1: ألصق المؤازرة في فتحة الغطاء 8.5.2: قم بتحميل ملف arduino إلى arduino (وهذا يجعل الماكينات تقف في الموضع الصحيح) 8.5.3: مع المؤازرة جاءت هضبة مستديرة صغيرة. ضع هذا على المؤازرة في الغطاء 8.5.4: ضع الطباعة ثلاثية الأبعاد الكبيرة على المؤازرة والهضبة وقم بلفها بإحكام مع المسمار 8.5.5: ضع المؤازرة الثانية على الطباعة ثلاثية الأبعاد الصغيرة وألصقها معًا. 8.5.6: ضع الكاميرا في مكانها وكل شيء جاهز للذهاب!

الخطوة 9: ابدأ البرنامج

لبدء تشغيل الروبوت ، افتح ملف C ++ في Visual studio. تأكد من أنك في "وضع التصحيح" قم بتحميل ملف اردوينو على اردوينو. بمجرد تحميل ذلك اضغط تشغيل في الاستوديو المرئي. والروبوت سيطلق ويجمع كل القطع النقدية في العالم !!!

موصى به: