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

روبوت رمي الحلوى مع Arduino والأجزاء المعاد تدويرها و Dlib: 6 خطوات
روبوت رمي الحلوى مع Arduino والأجزاء المعاد تدويرها و Dlib: 6 خطوات

فيديو: روبوت رمي الحلوى مع Arduino والأجزاء المعاد تدويرها و Dlib: 6 خطوات

فيديو: روبوت رمي الحلوى مع Arduino والأجزاء المعاد تدويرها و Dlib: 6 خطوات
فيديو: شيخ يحطم طائرة حربية 2024, يوليو
Anonim
روبوت لرمي الحلوى مع الأردوينو والأجزاء المعاد تدويرها و Dlib
روبوت لرمي الحلوى مع الأردوينو والأجزاء المعاد تدويرها و Dlib

مع عدد قليل من الأجزاء المعاد تدويرها ، ودرع محرك Arduino + ، وبرنامج كمبيوتر Dlib ، يمكنك إنشاء قاذف حلوى يعمل لاكتشاف الوجه.

المواد:

  • إطار خشبي
  • كمبيوتر محمول / كمبيوتر (يفضل أن يكون أقوى من Raspberry Pi!).
  • Arduino (يفضل Uno ، أو الذي يناسب درع المحرك الخاص بك.)
  • درع محرك Arduino (استخدمت درع Adafruit القديم ، كما لا يزال يُباع هنا)
  • أي كاميرا ويب قياسية
  • غسالة صغيرة

الأجزاء المعاد تدويرها:

  • الغلاف (الصندوق المعدني القديم يعمل بشكل جيد.)
  • محرك متدرج ، محرك DC من طابعة قديمة مفككة.
  • مصدر طاقة الطابعة القديم
  • موزع حلوى (وعاء زبادي كبير).

ستبدو الأجزاء الداخلية للمنتج النهائي إلى حد ما مثل النظرة العامة المرفقة.

تحذير

تأكد من فصل الطاقة عن إعداد Arduino / المحرك قبل الأسلاك / إعادة الأسلاك. تأكد من توصيل الطاقة بالقطبية الصحيحة!

هذا مشروع متوسط المستوى يستخدم Arduino والبرامج التي تحتاج إلى تثبيتها أو تجميعها على جهاز الكمبيوتر الخاص بك. قد تختلف التعليمات وقد تم اختبارها أثناء العمل على Ubuntu.

قد تحتاج إلى ضبط كود Arduino لأي درع محرك تستخدمه ، إذا كنت لا تستخدم درع Adafruit القديم.

الخطوة 1: حفر وتوصيل وتركيب المحرك

حفر وتوصيل وتركيب المحرك
حفر وتوصيل وتركيب المحرك
حفر وتوصيل وتركيب المحرك
حفر وتوصيل وتركيب المحرك

قم بحفر ثقوب في العلبة ، مع إرفاق محرك متدرج حتى تتمكن كاميرا الويب من التحرك في الأعلى ، ويمكن أن يدور الموزع في الأسفل.

يمكن أن تتحرك المحركات السائر بزيادات صغيرة (4 أسلاك) ، على عكس محركات التيار المستمر (سلكان) التي تعمل للخلف / للأمام ، وليس بخطوات.

يحتوي محرك التيار المستمر على سلكين (يتم تشغيلهما في كلتا الحالتين) ، وسيحتوي محرك السائر الاختياري على 4 في ملفين (اختبار بمقياس مقاومة متعدد المقاييس لمعرفة مكان توصيل الأسلاك ، كما هو موضح هنا.)

إذا كنت تستخدم درع Adafruit القديم كما في المثال الخاص بي ، فيجب عليك توصيل محرك DC candy spinner بالمحرك رقم 3 ، والمحرك السائر بالمحركين الأولين (# 1 ، # 2) كما هو موضح في وثائقهم.

بمجرد التوصيل ، قم بتوصيل المحركات بدرع Arduino Motor Shield متصل بـ Arduino. للحصول على أفضل النتائج ، من المستحسن أن يكون لديك مصدر طاقة ثانٍ للمحركات ، والذي يمكنك توصيله بمخرج التيار المستمر على ثؤلول جدار قيمته 2 دولار من متجر للأغراض المستعملة.

الخطوة الثانية: إرفاق الحاوية

إرفاق الحاوية
إرفاق الحاوية
إرفاق الحاوية
إرفاق الحاوية
إرفاق الحاوية
إرفاق الحاوية
إرفاق الحاوية
إرفاق الحاوية

قم بقياس منتصف وعاء الزبادي أو أي حاوية بلاستيكية كبيرة أخرى ، واثقب حاملًا أكبر بقليل من نهاية المحرك.

قم بتوصيل الحاوية بالصندوق باستخدام غسالة صغيرة - قم بلصقها بأسفل الحاوية ، وبغزل المحرك الكهربائي.

اترك الصمغ يجف لمدة يوم أو يومين حتى يجف تمامًا - قد ترغب في وضع فاصل صغير بين الصندوق ووعاء التدوير للتأكد من أنه لا يلتوي.

الخطوة 3: اصنع ثقبًا صغيرًا لرامي الحلوى

اصنع ثقبًا صغيرًا لرامي الحلوى
اصنع ثقبًا صغيرًا لرامي الحلوى

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

(للحصول على أفضل النتائج ، يمكن تحميل حوالي 30 قطعة حلوى على طرف غطاء الموزع ، والذي سيكون الجزء السفلي).

استمر في تحديد الخطوط بلطف بسكين حاد حتى ينبثق ، تاركًا ثقبًا صغيرًا (يمكنك توسيع الثقب لاحقًا حسب الضرورة).

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

إذا لم تكن قد قمت بالفعل بتثبيت برنامج Arduino ، احصل عليه من

www.arduino.cc/en/Main/Software

يجب أن تعمل أي نسخة حديثة.

اختبر محرك DC / Stepper بالأمثلة الواردة في مثال كود Arduino Shield الخاص بك.

إذا كنت تستخدم هذا الدرع (لا يزال متاحًا من بعض الموزعين) ، فيمكنك استخدام الكود الخاص بي مباشرةً:

github.com/programmin1/HowToTrainYourRobot…

بمجرد الاختبار ويمكنك الاستغناء عن الحلوى عن طريق إدخال "d" في نافذة Arduino التسلسلية ، فقد حان الوقت لتوصيل هذا بأداة التعرف على Dlib.

الخطوة 5: إعداد Dlib

يوفر Dlib (https://dlib.net/) مكتبة مفتوحة المصدر وسهلة الاستخدام للتعرف على الصور. قم بتثبيت وحدة Python Dlib باستخدام:

sudo pip تثبيت Dlib

- أو -

sudo easy_install Dlib

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

sudo apt-get install python-opencv

قد تختلف خطوات التثبيت إذا كنت تستخدم MacOS أو أنظمة تشغيل أخرى.

احصل الآن على بيانات معالم اكتشاف الوجه من

dlib.net/files/shape_predictor_68_face_land…

قم بفك ضغطه (باستخدام مدير الأرشيف / 7zip) وضعه في HOME / Downloads / shape_predictor_68_face_landmarks.dat

الخطوة السادسة: توصيل أداة التعرف على الوجوه بالروبوت الخاص بك

توصيل أداة التعرف على الوجه بالروبوت الخاص بك
توصيل أداة التعرف على الوجه بالروبوت الخاص بك

قم بتوصيل USB المتحكم في Arduino بالكمبيوتر وتحقق من وجود ملف "/ dev / ttyACM0" (هذا هو الجهاز الذي يرسل الأوامر التسلسلية إليه). إذا لم ينجح الأمر وكان هناك دليل آخر مشابه يظهر في / dev عند توصيله ، فاستبدل / dev / ttyACM0 في ملف faceDetectThreadCorrelationCV2FaceSmile.py في الريبو.

قم بتوصيل كاميرا الويب (إذا لم تكن هناك كاميرا ويب مضمنة في الكمبيوتر الذي تستخدمه) ، وقم بتشغيل ملف.py في سطر الأوامر أو باستخدام الأمر Run / F5 في محرر نصوص Geany. إذا كنت تريد استخدام كاميرا ويب ثانية / خارجية على جهاز كمبيوتر محمول ، فقد ترغب في تغيير "VideoCapture (0)" إلى "VideoCapture (1)" لاستخدام كاميرا ويب ثانية ، والتي يمكنك وضعها على محرك السائر أعلى صندوق الروبوت.

إذا سارت الأمور على ما يرام ، فسترى مخططًا لابتسامة عندما يكون الوجه أمام كاميرا الويب.

اقرأ النظرة العامة وكود المصدر لملف.py لترى الرياضيات الخاصة بكيفية عمل اكتشاف الابتسامة من النقاط التي يعطيها Dlib من وظيفة معالم الوجه.:)

موصى به: