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

روبوت بإيماءات يتم التحكم فيه باستخدام Arduino: 7 خطوات
روبوت بإيماءات يتم التحكم فيه باستخدام Arduino: 7 خطوات

فيديو: روبوت بإيماءات يتم التحكم فيه باستخدام Arduino: 7 خطوات

فيديو: روبوت بإيماءات يتم التحكم فيه باستخدام Arduino: 7 خطوات
فيديو: How to make robot | Small Handy Robot #2 wireless KEYPAD control | AVR ATTINY | easy explanation 2024, شهر نوفمبر
Anonim
روبوت بإيماءات يتم التحكم فيه باستخدام Arduino
روبوت بإيماءات يتم التحكم فيه باستخدام Arduino

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

في مقال اليوم ، سنقوم ببناء روبوت يتم التحكم فيه بالإيماءات باستخدام Arduino و MPU6050 Accelerometer و nRF24L01 زوج الإرسال والاستقبال ووحدة محرك المحرك L293D. سنقوم بتصميم هذا الروبوت إلى جزأين. أحدهما هو المرسل والآخر هو جهاز الاستقبال. يتكون قسم جهاز الإرسال من Arduino Uno و MPU6050 Accelerometer و Gyroscope و nRF24L01 بينما يتكون قسم الاستقبال من Arduino Uno و nRF24L01 ومحركين DC ومحرك L293D. سيعمل جهاز الإرسال كجهاز تحكم عن بعد للتحكم في الروبوت حيث سيتحرك الروبوت وفقًا للإيماءات.

الخطوة 1: المكونات المطلوبة

المكونات مطلوبة
المكونات مطلوبة
المكونات مطلوبة
المكونات مطلوبة
  • اردوينو اونو (2)
  • NRF24L01 (2)
  • محرك MPU6050DC (2)
  • وحدة تشغيل المحرك L293D
  • خليط

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

NRF24L01 وحدة الإرسال والاستقبال

nRF24L01 هو جهاز إرسال واستقبال لاسلكي أحادي الرقاقة لنطاق ISM 2.4 - 2.5 جيجا هرتز في جميع أنحاء العالم. يتكون جهاز الإرسال والاستقبال من مُركب تردد متكامل تمامًا ، ومضخم طاقة ، ومذبذب بلوري ، ومزيل للتشكيل ، ومُعدِّل ، ومحرك بروتوكول ShockBurs مُحسَّن. يمكن برمجة طاقة الإخراج وقنوات التردد وإعداد البروتوكول بسهولة من خلال واجهة SPI. نطاق جهد التشغيل لوحدة جهاز الإرسال والاستقبال هذا هو 1.9 فولت إلى 3.6 فولت. يحتوي على أوضاع Power Down و Standby مدمجة تجعله موفرًا للطاقة ويمكن تحقيقه بسهولة.

الخطوة 2: عمل روبوت يتم التحكم فيه بإيماءات يدوية باستخدام Arduino

عمل روبوت يتم التحكم فيه بإيماءات يدوية باستخدام Arduino
عمل روبوت يتم التحكم فيه بإيماءات يدوية باستخدام Arduino
عمل روبوت يتم التحكم فيه بإيماءات يدوية باستخدام Arduino
عمل روبوت يتم التحكم فيه بإيماءات يدوية باستخدام Arduino

لفهم عمل سيارة التحكم بالإيماءات من Arduino ، دعونا نقسم هذا المشروع إلى قسمين. الجزء الأول هو جزء جهاز الإرسال (عن بُعد) حيث يرسل مستشعر مقياس التسارع MPU6050 إشارات إلى جهاز الاستقبال (الروبوت) بشكل مستمر من خلال جهاز الإرسال Arduino و nRF.

الجزء الثاني هو جزء المستقبل (سيارة روبوت) حيث يستقبل مستقبل nRF البيانات المرسلة ويرسلها إلى Arduino ، والتي تقوم بمعالجتها وتحريك الروبوت وفقًا لذلك.

يقرأ مستشعر مقياس التسارع MPU6050 إحداثيات X Y Z ويرسل الإحداثيات إلى Arduino. بالنسبة لهذا المشروع ، نحتاج فقط إلى إحداثيات X و Y. ثم يتحقق Arduino من قيم الإحداثيات ويرسل البيانات إلى جهاز الإرسال nRF. يتم استقبال البيانات المرسلة بواسطة جهاز استقبال nRF. يرسل جهاز الاستقبال البيانات إلى جانب المستلم Arduino. يقوم Arduino بتمرير البيانات إلى Motor Driver IC ويقوم سائق المحرك بتحويل المحركات في الاتجاه المطلوب.

الخطوة 3: مخطط الدائرة

مخطط الرسم البياني
مخطط الرسم البياني
مخطط الرسم البياني
مخطط الرسم البياني

ينقسم هذا الروبوت الذي يتم التحكم فيه بواسطة لفتة اليد باستخدام أجهزة Arduino إلى قسمين

  1. المرسل
  2. المتلقي

الخطوة 4: حلبة الإرسال لسيارة Arduino التي يتم التحكم فيها عن طريق لفتة التحكم

دائرة الارسال للسيارة التي تسيطر عليها فتة اردوينو
دائرة الارسال للسيارة التي تسيطر عليها فتة اردوينو
دائرة الارسال للسيارة التي تسيطر عليها فتة اردوينو
دائرة الارسال للسيارة التي تسيطر عليها فتة اردوينو
دائرة الارسال للسيارة التي تسيطر عليها فتة اردوينو
دائرة الارسال للسيارة التي تسيطر عليها فتة اردوينو

يتكون قسم جهاز الإرسال في هذا المشروع من مقياس التسارع والجيروسكوب MPU6050 و nRF24L01Transceiver و Arduino Uno. يحصل Arduino باستمرار على البيانات من MPU6050 ويرسل هذه البيانات إلى جهاز الإرسال nRF. يرسل مرسل الترددات اللاسلكية البيانات إلى البيئة.

الخطوة 5: دائرة استقبال لسيارة اردوينو التي يتم التحكم فيها عن طريق لفتة التحكم

دائرة استقبال لسيارة اردوينو التي يتم التحكم فيها بإيماءات
دائرة استقبال لسيارة اردوينو التي يتم التحكم فيها بإيماءات
دائرة استقبال لسيارة اردوينو التي يتم التحكم فيها بإيماءات
دائرة استقبال لسيارة اردوينو التي يتم التحكم فيها بإيماءات
دائرة استقبال لسيارة اردوينو التي يتم التحكم فيها بإيماءات
دائرة استقبال لسيارة اردوينو التي يتم التحكم فيها بإيماءات

يتكون قسم المستقبل من هذا الروبوت الذي يتم التحكم فيه بالإيماءات من Arduino Uno و nRF24L01 Transceiver ومحركين DC ووحدة محرك محرك. يستقبل جهاز الاستقبال NRF24L01 البيانات من جهاز الإرسال ويرسلها إلى Arduino. ثم وفقًا للإشارات المستلمة ، يقوم Arduino بتحريك محركات التيار المستمر.

الخطوة 6: شرح البرنامج

بالنسبة إلى الروبوت الذي يتم التحكم فيه بواسطة Gesture باستخدام Arduino ، يتوفر الكود الكامل هنا. فيما يلي نوضح البرنامج سطرا سطرا.

البرنامج الجانبي لجهاز الإرسال

في هذا البرنامج ، يقرأ Arduino البيانات من MPU6050 ويرسلها إلى جهاز الإرسال nRF 24L01.

1. ابدأ البرنامج بإضافة ملفات المكتبة المطلوبة. يمكنك تنزيل ملفات المكتبة من الروابط المحددة.

SPI.h

nRF24L01.h

سلك

MPU6050.h

2. ثم حدد متغيرات بيانات الجيروسكوب ومقياس التسارع MPU6050. هنا سيتم استخدام بيانات مقياس التسارع فقط.

3. حدد عناوين أنابيب الراديو للاتصالات ودبابيس CN و CSN الخاصة بجهاز الإرسال nRF.

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

5. اقرأ بيانات مستشعر MPU6050. نحن هنا نستخدم بيانات مقياس تسارع الاتجاه X و Y فقط.

6. أخيرًا ، قم بنقل بيانات المستشعر باستخدام وظيفة radio.write.

برنامج جهة الاستقبال

1. كالعادة ، ابدأ البرنامج بتضمين ملفات المكتبة المطلوبة.

2. حدد عناوين أنابيب الراديو للاتصالات ودبابيس CN و CSN الخاصة بجهاز الإرسال nRF.

3. حدد دبابيس محرك DC الأيمن والأيسر.

4. الآن تحقق مما إذا كان الراديو متاحًا أم لا. إذا كان الأمر كذلك ، فاقرأ البيانات.

5. قارن الآن البيانات المستلمة وقم بقيادة المحركات وفقًا للشروط.

الخطوة 7: اختبار الروبوت الذي يتم التحكم فيه بإيماءات اليد باستخدام Arduino

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

يمكن العثور على العمل الكامل للروبوت الذي يتم التحكم فيه بواسطة Gesture في الفيديو.

موصى به: