جدول المحتويات:
- الخطوة 1: فيديو توضيحي
- الخطوة الثانية: قصة ROVIER
- الخطوة 3: المكونات والأجزاء
- الخطوة 4: نظرية التحكم الصوتي
- الخطوة الخامسة: نظرية التحكم بالإيماءات
- الخطوة 6: نظرية التحكم في البلوتوث
- الخطوة 7: نظرية تجنب العقبات
- الخطوة 8: تجميع الهيكل
- الخطوة 9: تحضير وحدة الصوت
- الخطوة 10: إجراء الاتصالات
- الخطوة 11: كود اردوينو
- الخطوة 12: فرز المشكلات وإجراء التحسينات
- الخطوة 13: اللعب بالروبوت
فيديو: روبوت متعدد الوظائف مع اردوينو: 13 خطوة (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
تم تصميم هذا الروبوت بشكل أساسي لفهم Arduino والجمع بين مشاريع Arduino المختلفة لتشكيل روبوت Arduino متعدد الميزات. علاوة على ذلك ، من الذي لا يريد أن يكون لديه روبوت أليف؟ لذلك أطلقت عليه اسم BLUE ROVIER 316. كان بإمكاني شراء هيكل مجنزرة جميل ولكن صنعه من الصفر يعلمك أكثر ويمنحك مزيدًا من الفخر بعد الانتهاء منه. الروبوت قادر على فهم الأوامر الصوتية ، والإجابة على أسئلة بسيطة ، والتحكم في مثل سيارة RC وحتى تجنب العقبات أثناء التحرك. يتم التحكم فيه بشكل أساسي من خلال هاتف Android متصل به عبر Bluetooth. استنادًا إلى ميزات Android مثل التعرف على الصوت من Google واستشعار الإمالة ، يمكن أن يتصرف حقًا كإنسان آلي لطيف وذكي. لقد أضفت BLUE في اسمه لأنه يعتمد أساسًا على Bluetooth. لقد كان في الواقع أول مشروع لي في Arduino وأردت أن يكون فريدًا. إذا أعجبك المشروع ، فيرجى التصويت لي في مسابقة الروبوتات!
الخطوة 1: فيديو توضيحي
يمكنك مشاهدة العرض التوضيحي للروبوت على هذا الموقع:
الخطوة الثانية: قصة ROVIER
يمكنك الانتقال إلى الخطوة التالية إذا كنت لا ترغب في الاطلاع على القصة الصغيرة اللطيفة لـ BLUE ROVIER 316 ، قبل عام تقريبًا ، تلقيت Arduino UNO كهدية من والدي. نظرًا لأنها كانت خطوتي الأولى في مجال Arduino ، فقد أردت إنشاء شيء مختلف وفريد من نوعه عن مشاريع Arduino العامة. يجب أن يكون روبوتًا لطيفًا وذكيًا يمكنه فهم الأوامر الصوتية والقيام بالعديد من الأشياء الأكثر ذكاءً مثل التحكم عن بعد ، وخطوط المتابعة ، وتجنب العقبات وما إلى ذلك. كان السؤال هو كيفية الجمع بينهما. وبعد تصفح الإنترنت لقضاء وقت ممتع حقًا ، خلصت إلى أن البلوتوث سيكون أرخص وضع. وهكذا ، تم إطلاق BLUE ROVIER ، ولكن نشأ موقف حيث اضطررت إلى استبعاد العديد من ميزات الروبوت التي كنت أتوقع أن يمتلكها ، ويرجع ذلك أساسًا إلى نقص الذاكرة على Arduino UNO (حتى العدد الأقل من دبابيس رقمية على UNO). لا يهم ، تابعت. لقد استغرق الأمر وقتًا ممتعًا حقًا لإنشاء الإصدار النهائي من الروبوت. وهكذا بعد العديد من التجارب والإخفاقات ، ظهرت BLUE ROVIER أخيرًا ، والآن يمكننا الانتقال إلى صناعة الروبوت.
الخطوة 3: المكونات والأجزاء
ستحتاج فقط إلى المكونات التالية: 1. نظام أندرويد 2. Arduino Uno 3. وحدة wtv020-sd-16p ومكبر صوت 8ohm4. دائرة تحكم المحرك 2x L293d 5. محركات وعجلات 4x بو 6. جهاز استشعار بالموجات فوق الصوتية HC SR04 7. 9g مؤازر 8. 8 حامل بطارية AA وبطاريات 9. بطاقة micro SD سعة 1 جيجابايت 10. صندوق تبديل صغير للهيكل 11. وحدة بلوتوث HC 05 أعلم أنها تبدو مكلفة! لكن لا تقلق ، سيكلفك فقط حوالي ألفين أو ثلاثة آلاف روبية. عند الحديث عن Android ، لن تكون مشكلة امتلاك واحدة لأن معظمها يمتلكها في الوقت الحاضر. لكن قد يؤدي وجود إصدارات أحدث (أعلى من 5.0) إلى زيادة الأداء ، لذا حاول شراء محركات ذات دورة في الدقيقة معتدلة (60 إلى 100). سيساعد ذلك في الحفاظ على سرعة الروبوت تحت السيطرة ، حيث لا توجد دائرة أخرى للتحكم في السرعة. و 8 بطاريات AA تكفي لتشغيل الروبوت لوقت ممتع. وبالنظر إلى تقنية البلوتوث ، فإن HC 05 مناسب للإنسان الآلي لأنه رخيص بما يكفي ، والأداء رائع أيضًا. يلزم وجود بطاقة micro SD سعة 1 جيجابايت لتخزين الملفات الصوتية التي يتم تشغيلها عند طرح أي سؤال على الروبوت [تمت مناقشته بالتفصيل في الجزء الأخير من البرنامج القابل للتكوين]. تتم مناقشة المكونات الأخرى بالتفصيل في الخطوة الخاصة بكل منها.
الآن دعنا ننتقل إلى بعض "النظريات" البسيطة المستخدمة في هذا الروبوت.
الخطوة 4: نظرية التحكم الصوتي
يستطيع الروبوت فهم الأوامر الصوتية من خلال هاتف android. أعتقد أن الجميع على دراية بميزة التعرف على الصوت من Google ، وهي الميزة في Android حيث نقول الكلمة ويكتبها Google ، وتُستخدم نفس الميزة هنا للتعرف على الأوامر الصوتية وتحويلها إلى أوامر نصية. يحول التطبيق هنا الكلام إلى نص عبر Google ويرسله إلى الروبوت عبر البلوتوث. الروبوت مبرمج لاتباع هذه الأوامر الواردة عبر البلوتوث. كما أنها قادرة على الإجابة على عدد لا بأس به من الأسئلة. يمكنك أيضًا إضافة المزيد من الأوامر في الكود لجعل الروبوت يقوم ببعض الأشياء الرائعة ، وإليك تطبيق Android:
الخطوة الخامسة: نظرية التحكم بالإيماءات
يتم أيضًا التحكم بالإيماءات أو وضع التحكم في الحركة من خلال Android. في هذا الوضع ، يمكن التحكم في الروبوت كسيارة RC باستخدام Android كعجلة قيادة. يوجد مستشعر يسمى "مقياس التسارع" في جميع أجهزة Android المستخدمة في هذا الوضع. يمكن لمقياس التسارع هذا تحديد الزاوية التي يُسمى بها الهاتف عن طريق قياس قوى التسارع المؤثرة على Android. هذا المستشعر هو الذي يجعل Android يدير شاشته عندما نقوم بإمالة الهاتف. يستخدم التطبيق هنا مقياس تسارع الهاتف لتحديد الزاوية التي يميل بها الهاتف. ثم يتم إرسال حرف (A ، B….) إلى الروبوت عبر البلوتوث. تمت برمجة اردوينو للعمل وفقًا للبيانات المستلمة ، فإذا كان الهاتف مائلاً للأمام ، يتم إرسال الحرف A ويتحرك الروبوت للأمام. عند الإمالة للخلف ، يتم إرسال الحرف B ويتحرك الروبوت للخلف وهكذا لليسار واليمين. عندما يتم وضع Android أفقيًا ، يتم إرسال الحرف E ويتوقف الروبوت عن الحركة.
الخطوة 6: نظرية التحكم في البلوتوث
في هذا الوضع ، يعمل الروبوت كسيارة RC عامة. لا يوجد شيء جديد في هذا الوضع ، فهو تمامًا مثل السيارة العامة التي يتم التحكم فيها عن بُعد المتوفرة في السوق ، والفرق الوحيد هو أننا نستخدم تطبيق Android للتحكم في الروبوت ، وهناك أزرار مختلفة في التطبيق ، لكل منها شخصيات مختلفة المرتبطة بها. عند لمس أي مفتاح ، يتم إرسال حرف إلى الروبوت عبر البلوتوث ، تمامًا مثل وضع التحكم بالإيماءات. علاوة على ذلك ، يتم إرسال نفس الأحرف عند لمس المفاتيح المعنية ، ويتبع الروبوت الأحرف الواردة ، لقد استخدمت زري 360 درجة و -360 درجة في التطبيق لجعل الروبوت يبدو يمينًا ويسارًا. يمكنك تغييره في الكود إذا كنت تريد أن تجعل الروبوت يقوم ببعض الأشياء الأخرى.
الخطوة 7: نظرية تجنب العقبات
في هذا الوضع ، يعمل الروبوت كإنسان آلي لتجنب العقبات ، ويمنع نفسه من الاصطدام بأي شيء. يتم ذلك باستخدام مستشعر HC SR04. أعتقد أنك تعرف عن SONAR (الملاحة الصوتية والمدى). يقوم مستشعر HC SR04 بإصدار موجات صوتية فوق صوتية بشكل مستمر. ترتد هذه الموجات مرة أخرى بعد اصطدامها بسطح صلب وتعود إلى المستشعر. يتم تسجيل الوقت الذي تستغرقه الموجات للعودة إلى المستشعر ، وبما أن الصوت ينتقل بسرعة 340 م / ث تقريبًا ونعلم أن السرعة × الوقت = المسافة ، يمكننا تحديد المسافة التي أمامنا ، على سبيل المثال ، إذا استغرق الصوت ثانيتين للعودة ، يمكننا تحديد المسافة من خلال الصيغة أعلاه ، أي 340 × 2 = 680 م. هذه هي الطريقة التي يمكن للروبوت من خلالها قياس المسافة التي أمامه من خلال المستشعر ، وأثناء الحركة ، يقيس الروبوت باستمرار المسافة التي أمامه من خلال المستشعر. إذا شعرت أن المساحة الخالية أمامه أقل من 30 سم ، فإنها تتوقف عن الحركة. ثم يبدو يسارًا ويمينًا ويقارن مسافة كل جانب. إذا كان الجانب الأيسر لديه مسافة أكبر ، فإن الروبوت يستدير إلى اليسار. وإلا إذا كان الجانب الأيمن أكبر ، فإن الروبوت يستدير لليمين. إذا كان لكلا الجانبين مسافات متساوية ، يعود الروبوت للخلف. تساعد هذه الآلية البسيطة الروبوت على تجنب العقبات.
الخطوة 8: تجميع الهيكل
عند صنع الهيكل بنفسك ، يجب أن تكون حذرًا جدًا بشأن القياسات والمحاذاة. اخترت القيام بذلك لأنني لم أتمكن من العثور على واحد على الشبكة يرضيني. يتم استخدام صندوق التبديل العام المستخدم لأغراض إمداد الطاقة كهيكل. أعتقد أنه يمكنك بسهولة الحصول على واحدة من متجر الأجهزة الكهربائية. أولاً ، قم بتوصيل المحركات الأربعة في الأسفل ببعض الغراء أو المشابك ثم قم بتوصيل العجلات. ثم عليك أن تصنع رأس الروبوت (المؤازرة ومستشعر HC SR04). بالنسبة للرأس ، قم بقطع قطعة صغيرة من لوحة التحكم وإرفاقها بالمؤازرة من خلال المسمار. ثم قم بتوصيل جهاز الاستشعار بالموجات فوق الصوتية بلوحة التحكم مع بعض الغراء. قطع فتحة مربعة صغيرة في الجزء العلوي من الصندوق وتثبيت المؤازرة فيه. ثم قم بتركيب حامل البطارية في الجزء الخلفي من الروبوت من خلال المسمار. ضع الدوائر والمكونات الأخرى داخل الصندوق وسيصبح الهيكل جاهزًا. لا تنس عمل بعض الثقوب أمام السماعة ليخرج الصوت وينتج جودة أفضل.
الخطوة 9: تحضير وحدة الصوت
يتم تحقيق وضع التحدث للروبوت بواسطة وحدة WTV 020 SD. تستخدم الوحدة لتشغيل ملفات الصوت للروبوت. عندما يتم طرح أي سؤال ، فإن اردوينو سيجعل الوحدة تقوم بتشغيل ملف الصوت المعني في بطاقة SD. توجد أربعة خطوط بيانات تسلسلية على الوحدة النمطية للتواصل مع اردوينو وإعادة الضبط والساعة والبيانات والدبابيس المشغولة. تذكر أن أسماء الملفات يجب أن تكون في نظام عشري (0001 ، 0002 …). وأن تكون الملفات إما بتنسيق AD4 أو WAV. علاوة على ذلك ، تعمل الوحدة فقط على بطاقة micro SD بسعة 1 جيجابايت. تعمل بعض الوحدات حتى على بطاقات 2 جيجا بايت ويمكن للبطاقة استيعاب 504 ملفات صوتية كحد أقصى. لذلك يمكنك تضمين عدد لا بأس به من الملفات الصوتية لتشغيلها لعدد كبير من الأسئلة ، كما يمكنك إنشاء ملفات AD4 الصوتية الخاصة بك (يمكنك تخطي هذا الجزء إذا كان بإمكانك ضبط الملفات الصوتية المتوفرة مع هذا البرنامج القابل للتكوين). ، يجب أن يكون لديك برنامجان ، برنامج لتحرير الصوت وبرنامج يسمى 4D SOMO TOOL والذي من شأنه تحويل الملفات إلى تنسيق AD4. ثانيًا ، عليك إعداد أصوات الروبوت. يمكنك إما تحويل النص إلى كلام أو حتى تسجيل صوتك وإنشاء أصوات الروبوت. يمكن عمل كلا الأمرين في برنامج تحرير الصوت. لكن من المؤكد أن الروبوتات لا تبدو جيدة إذا تحدثت بأصوات بشرية. لذلك يجب أن يكون من الأفضل تحويل النص إلى كلام. هناك العديد من المحركات مثل Microsoft Anna و Microsoft Sam لجهاز الكمبيوتر الخاص بك والتي من شأنها أن تساعد في القيام بذلك. بعد إعداد الملفات الصوتية ، عليك حفظها في 32000 هرتز وبتنسيق WAV. وذلك لأن الوحدة يمكنها تشغيل ملفات الصوت حتى 32000 هرتز. ثم استخدم 4D SOMO TOOL لتحويل الملفات إلى تنسيق AD4. للقيام بذلك ، ما عليك سوى فتح أداة سومو ، وتحديد الملفات ، والنقر فوق تشفير AD4 وستصبح ملفاتك الصوتية جاهزة. يمكنك التحقق من الصورة أعلاه للرجوع إليها ، إذا كنت تريد مزيدًا من التفاصيل حول إنشاء أصوات آلية ، يمكنك الانتقال هنا:
[صنع أصوات روبوتية] فيما يلي ملفات الصوت الأصلية والبرنامج:
الخطوة 10: إجراء الاتصالات
قم باختصار جميع دبابيس Vcc للوحدات المعنية معًا وقم بتوصيلها بدبوس 5 فولت على اردوينو. افعل الشيء نفسه مع دبابيس gnd. فيما يلي توصيلات الوحدات المختلفة. الوحدة النمطية: pin1 (إعادة تعيين دبوس) إلى arduino حفر pin2.pin4 إلى مكبر الصوت + pin5 إلى مكبر الصوت -pin7 (على مدار الساعة) إلى arduino dig pin3.pin8 إلى gnd.pin10 (البيانات) إلى arduino dig pin4.pin15 (مشغول) إلى arduino dig pin5.pin16 إلى 3.3v ثم ، قم بتوصيل سلك إشارة المؤازرة (الأصفر) وحفر دبوس 12. L293d وحدة التحكم في المحرك: دبوس A1 إلى اردوينو حفر دبوس 8.pin A2 إلى اردوينو حفر دبوس 9.pin B1 إلى اردوينو حفر دبوس 10.pin B2 إلى arduino حفر دبوس 11. تذكر أننا في هذا الروبوت ، نستخدم وحدتين L293d. هذا لأن وحدة واحدة لديها القدرة على تشغيل ما يصل إلى محركين. من أجل التحكم في أربعة محركات ، فإننا نستخدم اثنين من السائقين. لذلك تذكر إجراء اتصالات مكررة على كل من وحدات التحكم في المحرك. على سبيل المثال ، قم بتوصيل Arduino pin 8 بالدبوس A1 لكل من وحدات برنامج التشغيل. لا تنس توصيل خرج وحدة واحدة على محركين والوحدة الأخرى بمحركين آخرين. تحقق من الرسم البياني لمزيد من المرجع.
الخطوة 11: كود اردوينو
لقد كان وقتًا ممتعًا في صنع الكود. إنه ليس رمزًا معقدًا على الإطلاق ، فهو يستخدم فقط بعض المكتبات للتواصل مع Android ووحدة الصوت. يتم تنفيذ جزء كبير من العمل في Android وليس في Arduino. يعتمد الرمز على اتصال Bluetooth والبيانات الواردة من Bluetooth. تم إنشاء الكود بطريقة يتعين علينا إعطاء أوامر صوتية للروبوت لتنفيذ الأوضاع المختلفة ويقوم Arduino بالتحقق باستمرار من إشارات Bluetooth الواردة. لإيقاف أي وضع ، علينا فقط أن نقول "توقف". المشكلة الوحيدة في الكود هي أنه يتعين علينا إيقاف تشغيل الروبوت يدويًا عندما يكون في وضع تجنب العقبة. لا يمكننا استخدام الأمر "stop" في هذا الوضع. وذلك لأن ضبط هذه الميزة على يؤثر على سرعة مسح مسافة الكائنات. سيتعين على Arduino قراءة كل من مسافة الكائن وكذلك إشارات Bluetooth الواردة في نفس الوقت. هذا يتداخل مع الوضع ويفشل الروبوت في حماية نفسه بالكامل من العوائق. قد يفشل الروبوت في التوقف على الفور حتى لو كانت المسافة أمامه أقل من 30 سم. لذلك سيكون من الجيد عدم تضمين هذه الميزة في هذا الوضع ، ما عليك سوى تنزيل المكتبات والكود وتحميله على Arduino. لكن لا تنس إخراج دبابيس TX و RX (0 ، 1) من Arduino قبل التحميل. تُستخدم هذه المسامير للاتصال التسلسلي وهي قيد الاستخدام أثناء تحميل الكود. وفي هذا الروبوت ، تُستخدم هذه المسامير لتوصيل وحدة Bluetooth. لذلك تذكر أن تقوم بإزالتها وإلا فقد يؤدي ذلك إلى إعاقة وحدة البلوتوث الخاصة بك ، وهنا الكود والمكتبات:
الخطوة 12: فرز المشكلات وإجراء التحسينات
يمكنك تخطي هذه الخطوة لأنها تتعامل فقط مع تحسينات الروبوت. تظهر العديد من المشاكل في وحدة WTV-020-SD-16p ، فيما يتعلق بسعة بطاقة الذاكرة. هذا لأن بعض الوحدات تعمل على بطاقات 2 جيجا بايت بينما البعض الآخر لا يعمل. لذلك من الأفضل استخدام بطاقة micro SD بسعة 1 جيجا بايت ولن تكون هناك مشكلة كبيرة في استخدام إصدارات مختلفة من المكونات. يمكن الإشارة إلى الإصدارات المختلفة لوحدة wtv 020 sd. هذا بسبب وجود اختلاف في التغليف فقط بين الوحدات ، بينما تظل معظم الأشياء الداخلية الأخرى كما هي ، وهناك شيء آخر مهم ، سيساعد استخدام ثنائي الفينيل متعدد الكلور للروبوت في تقليل الاستهلاك الحالي إلى حد كبير. إذا كنت تقوم بتوصيل المكونات المختلفة مثلي تمامًا ، فسوف يكلفك ذلك بعض التيار لأنه سيتم فقد قدر كبير منه في الأسلاك ، مع وجود مقاومة عالية. هذا لأن الدائرة كبيرة بما يكفي. لا يتضمن هذا التصميم الداخلي تصميم ثنائي الفينيل متعدد الكلور (لأنني لم أصنع واحدًا) ولكنه يمكن أن يزيد من كفاءة الطاقة للروبوت ، لكن BLUE ROVIER 316 لم ينته بعد! فكرت في تضمين بعض الميزات الأخرى مثل السطور التالية وحل المتاهات وأشياء أخرى كثيرة. لكنه ظل حلماً بسبب عدم وجود دبابيس على Arduino UNO (يستهلك BLUE ROVIER بالفعل العديد من دبابيس Arduino). لذلك أفكر في تحسين جميع ميزات هذا الروبوت ودمجها معًا لتشكيل روبوت Arduino أكثر تعقيدًا وفائدة. لذا كن مستعدًا لرؤية طريقة العرض المعدلة لـ ROVIER في غضون بضعة أشهر !!! حتى أنني أرغب في رؤية إصدارات أخرى معدلة من الروبوت بواسطة بعض الأشخاص الآخرين الذين يمتلكون إبداعًا أكثر من إبداعي !!!!
الخطوة 13: اللعب بالروبوت
قم بتشغيل الروبوت وشاهد كيف يرحب بك ويلعب معك. اطرح أي سؤال (ليس غبيًا!) وشاهد إجابته. يمكنك طلب متابعة السطور أو المضي قدمًا. فقط قل "توقف" عندما تريد إيقاف الروبوت.
الوصيف في مسابقة الروبوتات لعام 2017
موصى به:
عداد الطاقة متعدد الوظائف DIY V2.0: 12 خطوة (بالصور)
عداد الطاقة متعدد الوظائف DIY V2.0: في هذا Instructable ، سأوضح لك كيفية صنع مقياس طاقة متعدد الوظائف يعتمد على Wemos (ESP8266). هذا العداد الصغير هو جهاز مفيد للغاية يراقب الجهد والتيار والطاقة والطاقة والسعة. بصرف النظر عن هذه ، فإنه يراقب أيضًا الأمبي
CD4017 ضوء خلفي للدراجة متعدد الوظائف: 15 خطوة
الإضاءة الخلفية للدراجة متعددة الوظائف القائمة على CD4017: يتم إجراء هذه الدائرة عن طريق تطبيق دائرة CD4017 LED شائعة جدًا تسمى بمطارد LED ، ولكنها يمكن أن تدعم طرق وميض LED المتنوعة عن طريق توصيل كبلات التحكم بطرق مختلفة ، ربما يمكن استخدامها كإضاءة خلفية للدراجة أو مؤشر مرئي
فيرسانو: جهاز مفيد متعدد الوظائف (اردوينو نانو): 6 خطوات
Versano: جهاز مفيد متعدد الوظائف (اردوينو نانو): كنت بحاجة إلى مقياس متعدد سهل الاستخدام يمكن حمله بسهولة في أي مكان. كنت أرغب في أن يكون صغيرًا ومصغرًا في مكان واحد مع المقاييس المتعددة العادية. مع ساعات من الترميز وتصميم الدوائر انتهى بي الأمر بصنع جهاز يمكنه قياس الفولت
عداد الطاقة متعدد الوظائف اردوينو DIY V1.0: 13 خطوة (مع صور)
عداد الطاقة متعدد الوظائف اردوينو DIY V1.0: في هذا Instructable ، سأوضح لك كيفية صنع عداد طاقة متعدد الوظائف قائم على Arduino. هذا العداد الصغير هو جهاز مفيد للغاية يعرض معلومات مهمة عن المعلمات الكهربائية. يمكن للجهاز قياس 6 معلمات كهربائية مفيدة
ميزان حرارة رقمي متعدد الوظائف: 5 خطوات (بالصور)
مقياس حرارة رقمي متعدد الوظائف: سيوضح لك هذا الدليل كيفية إنشاء منصة متعددة الوظائف بميزان حرارة ، وكرونوغراف (مؤقت العد التنازلي) ، ومؤقت للعد التنازلي ، وعرض ضوئي. من المفترض أيضًا أن تكون منصة لأجهزة الاستشعار التناظرية الأخرى أو أي وظائف أخرى يمكنك