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

إمساك تلقائي باستخدام مستشعر ليزر وأوامر صوتية: 5 خطوات (بالصور)
إمساك تلقائي باستخدام مستشعر ليزر وأوامر صوتية: 5 خطوات (بالصور)

فيديو: إمساك تلقائي باستخدام مستشعر ليزر وأوامر صوتية: 5 خطوات (بالصور)

فيديو: إمساك تلقائي باستخدام مستشعر ليزر وأوامر صوتية: 5 خطوات (بالصور)
فيديو: جراحة البواسير بالليزر 2024, يوليو
Anonim
Image
Image
قائمة الأجزاء
قائمة الأجزاء

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

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

قائمة الأجزاء
قائمة الأجزاء

في هذا المشروع الصغير ، ستحتاج فقط إلى عدد قليل من الأجزاء المدرجة أدناه. بصفتي وحدة تحكم ، استخدمت Arduino mega 2560 ولكن يمكنك أيضًا استخدام UNO أو أي Arduino آخر. كمستشعر مسافة ، استخدمت مستشعر الليزر VL53L0X الذي يتمتع بدقة جيدة (حوالي بضعة مليمترات) ومدى يصل إلى مترين. في هذا المشروع ، يمكنك استخدامه لاختبار أي قابض ومؤازرة ولكن يجب عليك تشغيله من مصدر طاقة منفصل ، على سبيل المثال: مصدر طاقة 5 فولت أو بطارية LiPo (7.4 فولت أو 11.1 فولت) من خلال محول تنحي يقلل الجهد إلى 5V.

الأجزاء المطلوبة في هذا المشروع:

  • جهاز استشعار الليزر VL53L0X ToF x1
  • أجهزة رقمية x1
  • اردوينو ميجا 2560 x1
  • القابض المعدني للروبوت X1
  • اللوح x1
  • زر الضغط باللمس x1
  • بلوتوث HC-06
  • المقاوم 10 كيلو x1
  • امدادات الطاقة 5V / 2A

نسخة موسعة:

  1. وحدة استشعار الشاشة الحالية CJMCU-219 x1
  2. لوحة تطوير برنامج التشغيل WS2812 RGB LED x1.0

الخطوة الثانية: توصيل الأجزاء الإلكترونية

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

يوضح الشكل الأول جميع الاتصالات الضرورية. في الصور التالية ، يمكنك رؤية الخطوات التالية لتوصيل الوحدات الفردية. في البداية ، تم توصيل زر الضغط بالدبوس 2 من Arduino ، ثم المؤازرة إلى الدبوس 3 وأخيراً مستشعر مسافة الليزر VL53L0X عبر ناقل I2C (SDA ، SCL).

فيما يلي توصيلات الوحدات الإلكترونية:

مستشعر الليزر VL53L0X -> Arduino Mega 2560

  • SDA - SDA
  • SCL - SCL
  • VCC - 5 فولت
  • GND - GND

أجهزة -> Arduino Mega 2560

إشارة (سلك برتقالي) - 3

أجهزة -> مصدر طاقة 5 فولت / 2 أمبير

  • GND (سلك بني) - GND
  • VCC (السلك الأحمر) - 5V

زر الضغط -> Arduino Mega 2560

  • دبوس 1 - 3.3 أو 5V
  • دبوس 2-2 (ومن خلال المقاوم 10k على الأرض)

بلوتوث (HC-06) -> Arduino Mega 2560

  • TXD - TX1 (19)
  • RXD - RX1 (18)
  • VCC - 5 فولت
  • GND - GND

الخطوة 3: كود اردوينو ميجا

كود اردوينو ميجا
كود اردوينو ميجا

لقد أعددت نماذج برامج Arduino التالية المتوفرة في GitHub:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

ينجز البرنامج الأول المسمى "VL53L0X_gripper_control" مهمة الإمساك التلقائي بجسم تم اكتشافه بواسطة مستشعر الليزر VL53L0X. قبل تجميع وتحميل نموذج البرنامج ، تأكد من اختيار "Arduino Mega 2560" باعتباره النظام الأساسي المستهدف كما هو موضح أعلاه (Arduino IDE -> Tools -> Board -> Arduino Mega أو Mega 2560). يتحقق برنامج Arduino في الحلقة الرئيسية - "الحلقة الفارغة ()" ما إذا كانت القراءة الجديدة من مستشعر الليزر قد جاءت (وظيفة readRangeContinuousMillimeters ()). إذا كانت المسافة التي تمت قراءتها من المستشعر "مسافة_ مم" أكبر من القيمة "THRESHOLD_CLOSING_DISTANCE_FAR" أو أقل من "THRESHOLD_CLOSING_DISTANCE_NEAR" عندئذٍ تبدأ الماكينة في الإغلاق. في حالات أخرى ، يبدأ في الفتح. في الجزء التالي من البرنامج ، في الوظيفة "digitalRead (gripperOpenButtonPin)" ، يتم التحكم في حالة زر الضغط باستمرار وإذا تم الضغط عليه ، سيفتح القابض على الرغم من أنه مغلق بسبب قرب الكائن (المسافة_ مم أقل من THRESHOLD_CLOSING_DISTANCE_NEAR).

يسمح لك البرنامج الثاني "Voice_VL53L0X_gripper_control" بالتحكم في القابض باستخدام الأوامر الصوتية. تتم معالجة الأوامر الصوتية بواسطة تطبيق BT Voice Control for Arduino من Google Play وإرسالها عبر البلوتوث إلى Arduino. يتحقق برنامج Arduino في الحلقة الرئيسية - "void loop ()" من إرسال الأمر (الحرف) الجديد من تطبيق Android عبر البلوتوث. إذا كان هناك أي حرف وارد من مسلسل bluetooth ، يقوم البرنامج بقراءة البيانات التسلسلية حتى يواجه نهاية التعليمات الصوتية "#". ثم يبدأ تنفيذ وظيفة "void processInput ()" واعتمادًا على الأمر الصوتي ، يتم استدعاء وظيفة تحكم محددة.

الخطوة 4: اختبار الإمساك التلقائي

اختبار الإمساك التلقائي
اختبار الإمساك التلقائي
اختبار الإمساك التلقائي
اختبار الإمساك التلقائي

يُظهر مقطع الفيديو من "الخطوة 1" اختبارات قابض الروبوت بناءً على برنامج من القسم السابق "Arduino Mega Code". يوضح هذا الفيديو كيف يتم فتحه تلقائيًا عندما يكون الكائن قريبًا منه ثم يمسك هذا الكائن إذا كان في متناول الممسك. تظهر التعليقات الواردة من مستشعر المسافة بالليزر المستخدم هنا بوضوح في الجزء الآخر من الفيديو عندما أحرك الزجاجة للأمام وللخلف ما يسبب رد فعل سريعًا وتغييرًا في التحكم في القابض.

الخطوة 5: الإمساك التلقائي بالصوت

Image
Image
تحدي الخاتمة 9
تحدي الخاتمة 9

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

إذا أعجبك هذا المشروع ، فلا تنسَ التصويت والكتابة في التعليق ما الذي ترغب في رؤيته في المنشور التالي كتحسين إضافي لهذا المشروع:) تحقق من مشاريعي الأخرى المتعلقة بالروبوتات ، ما عليك سوى زيارة:

  • موقع التواصل الاجتماعي الفيسبوك
  • موقع يوتيوب
  • موقع الويب الخاص بي

موصى به: