- المواد المطلوبة:
- طباعة ثلاثية الأبعاد للأجزاء المطلوبة:
- الأجهزة والمخططات:
- تجميع الروبوت:
- برمجة اردوينو للروبوت بالقدمين:
- تطبيق Android القائم على المعالجة:
- عمل روبوت ذو قدمين يتم التحكم فيهما عن طريق البلوتوث:
مرحبًا بكم في مشروع آخر سنبني فيه روبوتًا صغيرًا يمكنه المشي والرقص. يهدف المشروع إلى تعليمك كيفية صنع روبوتات هواية صغيرة باستخدام Arduino وكيفية برمجة محركات المؤازرة الخاصة بك لمثل هذه التطبيقات. في نهاية المشروع ، ستتمكن من صنع روبوت المشي والرقص هذا الذي يأخذ الأمر من هاتف Android المحمول لأداء بعض الإجراءات المحددة مسبقًا. يمكنك أيضًا استخدام البرنامج (الوارد في نهاية البرنامج التعليمي) للتحكم بسهولة في تصرفات الروبوت الخاص بك عن طريق التحكم في موضع محركات المؤازرة باستخدام الشاشة التسلسلية. سيجعل وجود طابعة ثلاثية الأبعاد هذا المشروع أكثر إثارة للاهتمام ويبدو رائعًا. ولكن ، إذا لم يكن لديك واحد ، فيمكنك استخدام أي من الخدمات عبر الإنترنت أو مجرد استخدام بعض الورق المقوى لبناء نفس الشيء.
المواد المطلوبة:
فيما يلي المواد اللازمة لبناء هذا الروبوت:
- اردوينو نانو
- أجهزة SG90 - 4Nos
- ذكر العصي بيرج
- وحدة بلوتوث HC-05 / HC-06
- طابعة 3D
كما ترون ، فإن هذا الروبوت المطبوع ثلاثي الأبعاد يتطلب أقل قدر ممكن من الأجزاء الإلكترونية للبناء للحفاظ على تكلفة المشروع منخفضة قدر الإمكان. هذا المشروع هو فقط لغرض المفهوم والمرح وليس لديه أي تطبيق في الوقت الحقيقي حتى الآن.
طباعة ثلاثية الأبعاد للأجزاء المطلوبة:
تعد الطباعة ثلاثية الأبعاد أداة رائعة يمكنها المساهمة كثيرًا عند إنشاء مشاريع نموذجية أو تجربة تصميمات ميكانيكية جديدة. إذا لم تكن قد اكتشفت بعد مزايا الطابعة ثلاثية الأبعاد أو كيفية عملها ، يمكنك قراءة دليل المبتدئين للطباعة ثلاثية الأبعاد.
في هذا المشروع ، تتم طباعة جسم الروبوت الموضح أعلاه بشكل كامل ثلاثي الأبعاد. يمكنك تنزيل ملفات STL من هنا. قم بتحميل هذه الملفات على برنامج الطباعة ثلاثية الأبعاد مثل Cura وقم بطباعتها مباشرة. لقد استخدمت طابعة أساسية جدًا لطباعة جميع الأجزاء. الطابعة هي FABX v1 من 3ding والتي تأتي بسعر مناسب مع حجم طباعة يبلغ 10 سم مكعب. يأتي السعر الرخيص مع مقايضة مع دقة طباعة منخفضة ولا توجد بطاقة SD أو وظيفة استئناف الطباعة. أنا أستخدم برنامجًا يسمى Cura لطباعة ملفات STL. الإعدادات التي استخدمتها لطباعة المواد موضحة أدناه ، يمكنك استخدامها أو تغييرها بناءً على طابعتك.
بمجرد طباعة جميع الأجزاء ، قم بتنظيف الدعامات (إن وجدت) ثم تأكد من أن الثقوب الموجودة على الساق وجزء البطن كبيرة بما يكفي لتناسب المسمار. إذا لم يكن الأمر كذلك ، فاستخدم إبرة لجعل الثقب أكبر قليلاً. ستبدو الأجزاء المطبوعة ثلاثية الأبعاد كما يلي.
الأجهزة والمخططات:
الأجهزة لهذا الهاتف المحمول الذي يتم التحكم فيه بواسطة Arduino Robot بسيط حقًا. يتم عرض الخطط الكاملة في الصورة أدناه
لقد استخدمت لوحة Perf لإجراء الاتصالات أعلاه. تأكد من احتواء دائرتك أيضًا داخل رأس الروبوت. بمجرد أن تصبح لوحة الأداء جاهزة ، يجب أن تبدو كما يلي.
تجميع الروبوت:
بمجرد أن تصبح الأجهزة والأجزاء المطبوعة ثلاثية الأبعاد جاهزة ، يمكننا تجميع الروبوت. قبل تثبيت المحركات ، تأكد من وضع المحركات في الزوايا أدناه حتى يعمل البرنامج بشكل لا تشوبه شائبة.
رقم المحرك |
مكان المحرك |
موقف المحرك |
1 |
محرك الورك الأيسر |
110 |
2 |
محرك الورك الأيمن |
100 |
4 |
محرك الكاحل الأيمن |
90 |
5 |
محرك الورك الأيمن |
80 |
يمكن ضبط هذه الزوايا باستخدام البرنامج الوارد في نهاية البرنامج التعليمي. ما عليك سوى تحميل البرنامج على Arduino بعد إجراء الاتصالات أعلاه واكتب ما يلي في الشاشة التسلسلية (ملاحظة: معدل الباود هو 57600).
1 ، 100 ، 110
2،90،100
4،80،90
5،70،80
يجب أن يبدو جهاز العرض التسلسلي الخاص بك مثل هذا بعد وضع جميع محركاتك في مكانها.
بمجرد ضبط المحركات في الزوايا المقابلة ، قم بتركيبها كما هو موضح في الشكل أعلاه.
إذا كنت مرتبكًا بشأن كيفية تجميع المحركات ، فاتبع الفيديو في نهاية هذا البرنامج التعليمي. بمجرد تجميع الروبوت ، يحين وقت برمجة الروبوت الراقص لدينا
برمجة اردوينو للروبوت بالقدمين:
تعد برمجة BBB Robot ( Bluetooth Biped Bob ) الجزء الأكثر إثارة للاهتمام والمرح في هذا البرنامج التعليمي. إذا كنت جيدًا جدًا في برمجة محركات المؤازرة باستخدام Arduino ، فإنني أوصيك بإعداد برنامجك. Bt ، إذا كنت تريد تعلم كيفية استخدام محركات مؤازرة للتطبيقات الروبوتية مثل هذا ، فسيكون هذا البرنامج مفيدًا جدًا. يمكنك معرفة المزيد حول برمجة اردوينو في فئة مشاريع اردوينو.
يتم تقديم البرنامج الكامل في نهاية هذا البرنامج التعليمي ، أو يمكنك تنزيل الكود الكامل من هنا. سأشرح المقاطع نفسها أدناه. البرنامج قادر على التحكم في تصرفات الروبوتات من خلال الشاشة التسلسلية أو البلوتوث. يمكنك أيضًا القيام بحركاتك الخاصة عن طريق التحكم في كل محرك فردي باستخدام الشاشة التسلسلية.
servo1.attach (3) ؛ servo2.attach (5) ؛ servo4.attach (9) ؛ servo5.attach (10) ؛
تستخدم أسطر الكود أعلاه للإشارة إلى أي محرك مؤازر متصل بأي دبوس من Arduino. هنا في حالتنا ، يتم توصيل Servo 1،2،4 و 5 بالدبابيس 3،5،9 و 10 على التوالي.
Bot_BT.begin (9600) ، // بدء اتصال Bluetooth عند 9600 باودرات Serial.begin (57600) ؛
كما ذكرنا سابقًا ، يمكن لروبوت المشي لدينا العمل على أوامر Bluetooth وأيضًا من أوامر من الشاشة التسلسلية. ومن ثم يعمل اتصال Bluetooth التسلسلي بمعدل Baud يبلغ 9600 ويعمل الاتصال التسلسلي مع معدل Baud البالغ 57600. اسم كائن Bluetooth الخاص بنا هنا هو "Bot_BT".
switch (المحرك) {case 1: // For motor one {Serial.println ("Executing motor one")؛ إذا (عدد 1
يتم استخدام علبة التبديل الموضحة أعلاه للتحكم في محركات المؤازرة بشكل فردي. سيساعدك هذا في القيام بحركاتك الإبداعية باستخدام الروبوت الخاص بك. باستخدام هذا الجزء من الكود ، يمكنك ببساطة معرفة رقم المحرك ، من الزاوية والزاوية لتحريك محرك معين إلى الموقع المطلوب.
على سبيل المثال ، إذا أردنا نقل المحرك رقم 1 وهو محرك الورك الأيسر من موقعه الافتراضي من 110 درجة إلى 60 درجة. يمكننا ببساطة كتابة "1،110،60" في الشاشة التسلسلية لـ Arduino والضغط على Enter. سيكون هذا مفيدًا للقيام بحركاتك المعقدة باستخدام الروبوت الخاص بك. بمجرد تجربة كل شيء من الملاك والزاوية ، يمكنك بعد ذلك القيام بحركاتك الخاصة وتكرارها عن طريق جعلها وظيفة.
if (Serial.available ()> 0) // اقرأ ما يأتي من خلال المسلسل {gmotor = Serial.parseInt () ؛ Serial.print ("الرقم المحدد->") ؛ Serial.print (gmotor) ؛ Serial.print ("،") ؛ gnum1 = Serial.parseInt () ، Serial.print (gnum1) ؛ Serial.print ("درجة") ؛ gnum2 = Serial.parseInt () ، Serial.print (gnum2) ؛ Serial.println ("درجة") ؛ العلم = 1 ؛ }
إذا توفرت البيانات التسلسلية ، فإن الرقم قبل "" الأول يعتبر gmotor ثم الرقم قبل الثاني "،" يعتبر gnum1 والرقم بعد "الثاني" يعتبر gnum2.
if (Bot_BT.available ()) // اقرأ ما يأتي عبر البلوتوث {BluetoothData = Bot_BT.read () ؛ Serial.print ("واردة من BT:") ؛ Serial.println (BluetoothData) ؛ }
إذا تلقى البلوتوث بعض المعلومات ، يتم تخزين المعلومات المستلمة في المتغير "BluetoothData". ثم تتم مقارنة هذا المتغير بالقيم المحددة مسبقًا لتنفيذ إجراء معين.
إذا (العلم == 1) استدعاء (gmotor ، gnum1 ، gnum2) ؛ // اتصل بالمحرك المعني لاتخاذ إجراء // قم بتنفيذ الوظائف وفقًا للوصفة المستلمة من خلال الشاشة التسلسلية أو Bluetooth // إذا (gmotor == 10) left_leg_up () ؛ إذا (gmotor == 11) right_leg_up () ؛ إذا (محرك gmotor == 12) move_left_front () ؛ إذا (gmotor == 13) move_right_front () ؛ إذا (BluetoothData == 49 - gmotor == 49) say_hi () ؛ إذا (BluetoothData == 50 - gmotor == 50) walk1 () ؛ إذا (BluetoothData == 51 - gmotor == 51) walk2 () ؛ إذا (BluetoothData == 52 - gmotor == 52) dance1 () ؛ إذا (BluetoothData == 53 - gmotor == 53) dance2 () ؛ إذا (BluetoothData == 54 - gmotor == 54) {test ()؛ test ()؛ test ()؛}
هذا هو المكان الذي يتم فيه استدعاء الوظائف بناءً على القيم المتلقاة من الشاشة التسلسلية أو Bluetooth. كما هو موضح أعلاه ، سيكون لمحرك gmotor المتغير قيمة الشاشة التسلسلية وستكون لبيانات Bluetooth Data قيمة من جهاز Bluetooth. الأرقام 10،11،12 حتى 53،54 هي أرقام محددة مسبقًا.
على سبيل المثال ، إذا قمت بإدخال الرقم 49 في الشاشة التسلسلية. سيتم تنفيذ وظيفة say_hi () حيث سيرشدك الروبوت مرحبًا.
يتم تحديد جميع الوظائف داخل صفحة "Bot_Functions". يمكنك فتحه ومعرفة ما يحدث بالفعل داخل كل وظيفة. تم إنشاء كل هذه الوظائف من خلال تجربة كل محرك من ملاك وإلى ملاك باستخدام علبة التبديل الموضحة أعلاه. إذا كان لديك أي شك ، يمكنك استخدام قسم التعليقات لنشرها وسيسعدني مساعدتك.
تطبيق Android القائم على المعالجة:
تم إنشاء تطبيق Android للتحكم في الروبوت باستخدام وضع معالجة Android. إذا كنت ترغب في إجراء بعض التغييرات على التطبيق ، يمكنك تنزيل برنامج المعالجة الكامل من هنا.
إذا كنت تريد ببساطة استخدام التطبيق ، فيمكنك تنزيله من هنا كملف APK وتثبيته مباشرة على هاتفك المحمول.
ملاحظة: يجب تسمية وحدة Bluetooth الخاصة بك باسم HC-06 وإلا فلن يتمكن التطبيق من الاتصال بوحدة Bluetooth الخاصة بك.
بمجرد تثبيت التطبيق ، يمكنك إقران وحدة Bluetooth بهاتفك ثم تشغيل التطبيق. يجب أن يبدو مثل هذا أدناه.
إذا كنت ترغب في جعل تطبيقك أكثر جاذبية أو الاتصال بأي جهاز آخر غير Hc-06. يمكنك استخدام كود المعالجة وإجراء بعض التغييرات عليه ثم تحميل الكود مباشرة على هاتفك.
عمل روبوت ذو قدمين يتم التحكم فيهما عن طريق البلوتوث:
بمجرد أن تصبح أجهزتك وتطبيق Android و Arduino Sketch جاهزًا ، فقد حان الوقت للاستمتاع مع الروبوت الخاص بنا. يمكنك التحكم في الروبوت من تطبيق Bluetooth باستخدام الأزرار الموجودة في التطبيق أو مباشرة من Serial monitor باستخدام الأوامر التالية كما هو موضح في الصورة أدناه.
كل أمر سيجعل الروبوت ينفذ بعض المهام الخاصة ويمكنك أيضًا إضافة المزيد من الإجراءات بناءً على إبداعك.
يمكن أيضًا تشغيل الروبوت بواسطة محول بجهد 12 فولت أو يمكن أيضًا تشغيله باستخدام بطارية 9 فولت. يمكن وضع هذه البطارية بسهولة أسفل لوحة الأداء ويمكن أيضًا تغطيتها برأس الروبوت.
يمكن العثور على العمل الكامل لهذا الروبوت الذي يتحكم فيه الهاتف الذكي في الفيديو أدناه.