جدول المحتويات:
- الخطوة 1: قاعدة الروبوت
- الخطوة 2: قمة القاعدة
- الخطوة 3: مستشعرات الأشعة تحت الحمراء والموجات فوق الصوتية
- الخطوة 4: الكابلات
- الخطوة الخامسة: الخطوة الأخيرة في بناء الروبوت: الزخرفة
- الخطوة 6: الشفرة الزائفة للبرنامج
- الخطوة 7: البرنامج
- الخطوة 8: كتل البرنامج
- الخطوة 9: بناء متاهة
فيديو: يقود LEGO Robot عبر متاهة: 9 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
هذا روبوت بسيط ومستقل مصمم للقيادة عبر متاهة إلى مخرج. تم تصميمه باستخدام LEGO Mindstorms EV3. يعمل برنامج EV3 على جهاز كمبيوتر ويقوم بإنشاء برنامج يتم تنزيله بعد ذلك إلى وحدة تحكم دقيقة تسمى وحدة البناء EV3. طريقة البرمجة تعتمد على الأيقونات وعالية المستوى. إنه سهل للغاية ومتعدد الاستخدامات.
القطع
- مجموعة LEGO Mindstorms EV3
- جهاز استشعار بالموجات فوق الصوتية LEGO Mindstorms EV3. لا يتم تضمينه في مجموعة EV3.
- كرتون مموج للمتاهة. يجب أن تكون علبتان كرتونية كافية.
- قطعة صغيرة من الكرتون الرقيق للمساعدة في تثبيت بعض الزوايا والجدران.
- غراء وشريط لاصق لتوصيل قطع الكرتون ببعضها البعض.
- مظروف أحمر لبطاقات التهنئة لتحديد مخرج المتاهة.
أدوات
- سكين متعدد الاستخدام لقطع الكرتون.
- مسطرة فولاذية للمساعدة في عملية القطع.
طريقة حل المتاهة
هناك عدة طرق للتنقل في المتاهة. إذا كنت مهتمًا بدراستها ، فسيتم وصفها جيدًا في مقالة Wikipedia التالية:
اخترت قاعدة أتباع الجدار الأيسر. الفكرة هي أن الروبوت سيحتفظ بجدار على جانبه الأيسر من خلال اتخاذ القرارات التالية أثناء انتقاله عبر المتاهة:
- إذا كان من الممكن الانعطاف إلى اليسار ، فافعل ذلك.
- خلاف ذلك ، اذهب مباشرة إذا كان ذلك ممكنًا.
- إذا لم تتمكن من التحرك يسارًا أو مستقيمًا ، انعطف يمينًا ، إن أمكن.
- إذا لم يكن أي مما سبق ممكنًا ، فيجب أن يكون هذا طريقًا مسدودًا. التف حوله.
أحد التحذيرات هو أن الطريقة يمكن أن تفشل إذا كانت المتاهة بها حلقة. اعتمادًا على موضع الحلقة ، يمكن للروبوت أن يستمر في الدوران حول الحلقة. قد يكون الحل المحتمل لهذه المشكلة هو أن يتحول الروبوت إلى قاعدة تتبع الجدار الأيمن إذا أدرك أنه كان يسير في حلقة. لم أقم بتضمين هذا التحسين في مشروعي.
خطوات بناء الروبوت
على الرغم من أن LEGO Mindstorms EV3 متعددة الاستخدامات ، إلا أنها لا تسمح بأكثر من واحد من كل نوع من أجهزة الاستشعار المتصلة بوحدة واحدة. يمكن ربط طوبتين أو أكثر بالسلاسل التعاقبية ، لكنني لم أرغب في شراء وحدة طوبة أخرى ، ولذلك استخدمت المستشعرات التالية (بدلاً من ثلاثة أجهزة استشعار فوق صوتية): مستشعر الأشعة تحت الحمراء ، ومستشعر الألوان ، ومستشعر الموجات فوق الصوتية. نجح هذا الأمر بشكل جيد ، حيث تظهر أزواج الصور أدناه كيفية بناء الروبوت. تُظهر الصورة الأولى لكل زوج الأجزاء المطلوبة ، بينما تُظهر الصورة الثانية الأجزاء نفسها متصلة ببعضها البعض.
الخطوة 1: قاعدة الروبوت
الخطوة الأولى هي بناء قاعدة الروبوت باستخدام الأجزاء الموضحة. تظهر قاعدة الروبوت مقلوبة. الجزء الصغير على شكل حرف L في الجزء الخلفي من الروبوت هو دعامة للظهر. ينزلق مع تحرك الروبوت. هذا يعمل بشكل جيد. لا تحتوي مجموعة EV3 على جزء دائري الشكل.
الخطوة 2: قمة القاعدة
الخطوات الثلاث التالية تخص الجزء العلوي من قاعدة الروبوت ، ومستشعر الألوان ، والكابلات ، وهي جميعًا كبلات مقاس 10 بوصات (26 سم)
الخطوة 3: مستشعرات الأشعة تحت الحمراء والموجات فوق الصوتية
بعد ذلك ، يوجد مستشعر الأشعة تحت الحمراء (على الجانب الأيسر من الروبوت) ومستشعر الموجات فوق الصوتية (على اليمين). أيضا ، 4 دبابيس لربط الطوب في الأعلى.
توجد مستشعرات الأشعة تحت الحمراء والموجات فوق الصوتية عموديًا بدلاً من الأفقي الطبيعي. يوفر هذا تحديدًا أفضل لزوايا أو نهايات الجدران.
الخطوة 4: الكابلات
قم بتوصيل الطوب وتوصيل الكابلات على النحو التالي:
- المنفذ ب: محرك كبير اليسار.
- المنفذ C: محرك كبير صحيح.
- المنفذ 2: جهاز استشعار بالموجات فوق الصوتية.
- المنفذ 3: مستشعر الألوان.
- المنفذ 4: مستشعر الأشعة تحت الحمراء.
الخطوة الخامسة: الخطوة الأخيرة في بناء الروبوت: الزخرفة
الأجنحة والزعانف للزينة فقط.
الخطوة 6: الشفرة الزائفة للبرنامج
- انتظر 3 ثوان وقل "انطلق".
- ابدأ بتحريك الروبوت للأمام مباشرة.
- إذا كان من الممكن الانعطاف إلى اليسار (على سبيل المثال ، إذا لم يستشعر مستشعر الأشعة تحت الحمراء وجود جسم قريب) ، قل "يسارًا" واتجه يسارًا.
- تقدم للأمام بحوالي 6 بوصات (15 سم) لتجنب الانعطاف لليسار الكاذب. والسبب هو أنه بعد أن يدور الروبوت ، سيرى المستشعر المسافة الطويلة التي أتى منها للتو ، وسيعتقد الروبوت أنه يجب أن يستدير إلى اليسار ، وهذا ليس بالشيء المناسب. ارجع إلى الخطوة 2.
- إذا لم يكن من الممكن الانعطاف إلى اليسار ، فتحقق مما يراه مستشعر الألوان أمام الروبوت.
- إذا لم يكن هناك لون (أي لا يوجد كائن) ، فارجع إلى الخطوة 2.
- إذا كان اللون أحمر ، فهذا هو المخرج. أوقف الروبوت ، العب ضجة ، وأوقف البرنامج.
-
إذا كان اللون بني (مثل الورق المقوى البني في الأمام) ، فقم بإيقاف الروبوت.
- إذا كان من الممكن الانعطاف إلى اليمين (على سبيل المثال ، إذا لم يستشعر المستشعر بالموجات فوق الصوتية وجود جسم قريب) ، فقل "يمين" واتجه يمينًا. ارجع إلى الخطوة 2.
- إذا لم يكن من الممكن الانعطاف يمينًا ، قل "Uh-oh" ، وارجع للخلف حوالي 5 بوصات (12.5 سم) ، ثم استدر. ارجع إلى الخطوة 2.
الخطوة 7: البرنامج
تتميز LEGO Mindstorms EV3 بطريقة برمجة مريحة للغاية قائمة على الأيقونات. تظهر الكتل في الجزء السفلي من شاشة العرض على الكمبيوتر ويمكن سحبها وإفلاتها في نافذة البرمجة لإنشاء برنامج. تظهر لقطة الشاشة البرنامج الخاص بهذا المشروع. يتم وصف الكتل في الخطوة التالية.
لم أتمكن من معرفة كيفية إعداد تنزيل البرنامج لكم ، ولذا تم وصف الكتل في الخطوة التالية. كل كتلة لديها خيارات ومعلمات. إنه سهل للغاية ومتعدد الاستخدامات. لن يستغرق الأمر وقتًا طويلاً لتطوير البرنامج و / أو تغييره ليلائم احتياجاتك. كما هو الحال دائمًا ، من الجيد حفظ البرنامج بشكل دوري عند تطويره.
يمكن توصيل وحدة البناء EV3 بالكمبيوتر إما عن طريق كبل USB أو Wi-Fi أو Bluetooth. عند توصيله وتشغيله ، يُشار إلى ذلك في نافذة صغيرة في الركن الأيمن السفلي من نافذة EV3 على الكمبيوتر. يتحول لون "EV3" في أقصى الجانب الأيمن إلى اللون الأحمر. عند ضبط هذه الشاشة على Port View ، فإنها تظهر في الوقت الفعلي ما يكتشفه كل جهاز استشعار. هذا مفيد للتجربة.
عند إنشاء هذا البرنامج ، أقترح العمل من اليسار إلى اليمين ومن أعلى إلى أسفل ، ولتوسيع Loop و Switch Blocks قبل سحب الكتل الأخرى إلى الداخل. واجهت مشاكل فوضويّة أثناء محاولتي إدخال كتل إضافية بالداخل قبل التوسيع.
الخطوة 8: كتل البرنامج
- بدءًا من الجانب الأيسر من البرنامج ، يكون Start Block موجودًا تلقائيًا عند تطوير البرنامج.
- التالي هو Wait Block ، ليمنحنا 3 ثوانٍ لوضع الروبوت عند مدخل المتاهة ، بعد بدء البرنامج.
- كتلة الصوت تجعل الروبوت يقول "انطلق".
- يحتوي A Loop Block على معظم البرنامج. يجب تصغير الشاشة 4 أو 5 مرات ، ويجب تكبير حلقة Loop Block هذه تقريبًا إلى الحافة اليمنى من Programming Canvas قبل البدء في إدراج الكتل. يمكن تصغيرها بعد ذلك.
- أول كتلة داخل الحلقة عبارة عن كتلة توجيه متحركة مع ضبط التوجيه على الصفر والقوة مضبوطة على 20. يؤدي ذلك إلى بدء تشغيل المحركات للأمام بسرعة منخفضة. ستجعل السرعة الأعلى الروبوت يتحرك بعيدًا جدًا عندما يستمر في التقدم أثناء التحدث في الخطوات اللاحقة.
- تتحقق كتلة التبديل في وضع القرب من مستشعر الأشعة تحت الحمراء مما إذا كان هناك أي كائن أبعد من القيمة 30. وهذا يعادل حوالي 9 بوصات (23 سم) للورق المقوى البني. إذا كانت القيمة أكبر من 30 ، فسيتم تنفيذ المربعات 7 و 8 و 9 ، وإلا ينتقل البرنامج إلى الكتلة 10 أدناه.
- كتلة الصوت تجعل الروبوت يقول "يسار".
- كتلة توجيه الحركة مع مجموعة التوجيه إلى -45 ، وضبط الطاقة على 20 ، وضبط الدوران على 1.26 ، وضبط الفرامل في النهاية على صحيح. هذا يجعل الروبوت يستدير إلى اليسار.
- كتلة توجيه الحركة مع ضبط التوجيه على صفر ، وضبط الطاقة على 20 ، وضبط الدوران على 1.2 ، وضبط الفرامل في النهاية على صحيح. هذا يجعل الروبوت يتقدم حوالي 15 سم (6 بوصات) لتجنب الانعطاف يسارًا كاذبًا.
- تتحقق كتلة التبديل في وضع قياس مستشعر الألوان من اللون الذي يسبق الروبوت. إذا لم يكن هناك لون (أي لا يوجد كائن) ، فإن البرنامج ينتقل إلى نهاية الحلقة. إذا كان اللون أحمر ، فسيتم تنفيذ المربعات 11 و 12 و 13. إذا كان اللون بني ، ينتقل البرنامج إلى المربع 14 أدناه.
- A Move Steering Block في وضع إيقاف التشغيل لإيقاف المحركات.
- يلعب Sound Block ضجة.
- كتلة مقاطعة الحلقة تخرج من الحلقة.
- A Move Steering Block في وضع إيقاف التشغيل لإيقاف المحركات.
- تتحقق كتلة التبديل في المستشعر بالموجات فوق الصوتية من وضع مقارنة المسافة بالبوصة إذا كان هناك أي جسم أبعد من 8 بوصات (20 سم). إذا كان حجمه أكبر من 8 بوصات ، فسيتم تنفيذ Blocks16 و 17 ، وإلا ينتقل البرنامج إلى Block 18 أدناه.
- كتلة الصوت تجعل الروبوت يقول "صحيح".
- كتلة توجيه الحركة مع مجموعة التوجيه إلى -55 ، وضبط الطاقة على -20 ، وضبط الدوران على 1.1 ، وضبط الفرامل في النهاية على صحيح. هذا يجعل الروبوت يستدير لليمين.
- كتلة الصوت تجعل الروبوت يقول "أوه أوه".
- تم ضبط كتلة خزان الحركة مع وضع Power Left على -20 ، وضبط Power Right على -20 ، وضبط الدورات على 1 ، وضبط Brake at End على True. وهذا يجعل الروبوت يعود إلى الخلف حوالي 5 بوصات (12.5 سم) لإفساح المجال للالتفاف.
- تم ضبط كتلة خزان الحركة مع وضع Power Left على -20 ، وضبط Power Right على 20 ، وضبط الدورات على 1.14 ، وضبط Brake at End على True. هذا يجعل الروبوت يستدير.
- عند الخروج من الحلقة يوجد كتلة برنامج التوقف.
الخطوة 9: بناء متاهة
يجب أن يكون كرتان من الكرتون المضلع كافيين للمتاهة. لقد صنعت جدران المتاهة بارتفاع 5 بوصات (12.5 سم) ، لكن يجب أن تعمل 4 بوصات (10 سم) أيضًا إذا كنت تعاني من نقص الورق المقوى المموج.
أولاً ، قمت بقص جدران الكراتين على بعد 10 بوصات (25 سم) من الأسفل. ثم قطعت حول الجدران 5 بوصات من القاع. يوفر هذا عدة جدران بحجم 5 بوصات. أيضًا ، قمت بقص قيعان الكراتين ، وتركت حوالي 1 بوصة (2.5 سم) متصلة بالجدران من أجل الثبات.
يمكن قص القطع المختلفة ولصقها أو لصقها بالشريط اللاصق عند الحاجة لتشكيل المتاهة. يجب أن يكون هناك مسافة 12 بوصة (30 سم) بين الجدران في أي مسار مسدود. هذه المسافة ضرورية للروبوت لكي يستدير.
قد تحتاج بعض أركان المتاهة إلى التعزيز ، كما يجب الحفاظ على بعض الجدران المستقيمة من الانحناء إذا كانت تشتمل على زاوية كرتونية مستقيمة. يجب لصق قطع صغيرة من الورق المقوى الرقيق بالقاع في تلك الأماكن ، كما هو موضح.
يحتوي المخرج على حاجز أحمر يتكون من نصف ظرف أحمر لبطاقات المعايدة وقاعدة مصنوعة من قطعتين من الورق المقوى الرفيع ، كما هو موضح.
تحذير واحد هو أن المتاهة لا ينبغي أن تكون كبيرة. إذا كانت دوران الروبوت بزاوية طفيفة عن المنعطفات المناسبة ، فإن التناقضات تتراكم بعد بضع لفات. على سبيل المثال ، إذا كان الانعطاف لليسار متوقفًا عن 3 درجات ، فبعد 5 يدور لليسار ، ينطفئ الروبوت بمقدار 15 درجة. سيكون للمتاهة الكبيرة عدد دورات أكثر ومسار أطول من المتاهة الصغيرة ، ويمكن للروبوت أن يصطدم بالجدران. اضطررت إلى العبث عدة مرات بإعدادات الدورات الخاصة بالمنعطفات من أجل الحصول على محرك ناجح حتى في المتاهة الصغيرة التي صنعتها.
التحسينات المستقبلية
يتمثل أحد مشاريع المتابعة الواضحة في جعل الروبوت قادرًا على تحديد مسار مباشر عبر المتاهة أثناء التنقل فيه ، ثم قيادة هذا المسار المباشر (تجنب الطرق المسدودة) بعد ذلك مباشرة.
هذا أكثر تعقيدًا من المشروع الحالي. يجب أن يتذكر الروبوت المسار الذي سلكه ، وأن يزيل الطرق المسدودة ، ويخزن المسار الجديد ، ثم يتبع المسار الجديد. أخطط للعمل في هذا المشروع في المستقبل القريب. أتوقع أنه من الممكن تحقيق ذلك مع LEGO Mindstorms EV3 باستخدام Array Operations Blocks وبعض الكتل المتعلقة بالرياضيات.
ملاحظة ختامية
وكان هذا المشروع متعة. آمل أن تجده ممتعًا أيضًا.
موصى به:
Boe Bot يتنقل عبر متاهة: 4 خطوات
Boe Bot يتنقل عبر متاهة: ستساعدك هذه التعليمات على إنشاء مصدات ل bot bot وستزودك بالكود الذي سينقل الروبوت عبر المتاهة
الوامض يقود إلى الإيقاع: 4 خطوات
وميض يقود إلى الإيقاع!: تنبيه! قد يجعلك وميض LED بالموسيقى مجنونًا! هذه التعليمات تدور حول وميض بعض مصابيح LED وفقًا لإيقاع أي موسيقى! الفكرة وراء هذه العملية بسيطة حقًا ، والدائرة صغيرة حقًا. المفهوم الرئيسي هو: 1- منخفض pa
بث الفيديو عبر كاميرا ESP 32 عبر شبكة WiFi - البدء باستخدام لوحة ESP 32 CAM: 8 خطوات
ESP 32 Camera Streaming Video عبر WiFi | البدء باستخدام لوحة ESP 32 CAM: تعد ESP32-CAM وحدة كاميرا صغيرة جدًا مع شريحة ESP32-S تكلف حوالي 10 دولارات. إلى جانب كاميرا OV2640 والعديد من GPIOs لتوصيل الأجهزة الطرفية ، فإنها تتميز أيضًا بفتحة بطاقة microSD التي يمكن أن تكون مفيدة لتخزين الصور التي تم التقاطها باستخدام
أتمتة المنزل عبر البلوتوث عبر نظام Android: 3 خطوات
أتمتة المنزل عبر البلوتوث عبر نظام Android: العيش في القرن الحادي والعشرين يعيش في قرن من الأتمتة ، ومع ذلك ، لا يتمتع الجميع بهذه الرفاهية ، فلا داعي للقلق! سيخبرك هذا التوجيه بالضبط بكيفية أتمتة أجهزتك بحيث يمكنك تشغيلها أو إيقاف تشغيلها بمجرد النقر على
NODEMCU LUA ESP8266 يقود برنامج تشغيل شاشة M5450B7 LED IC: 5 خطوات (مع صور)
NODEMCU LUA ESP8266 يقود M5450B7 LED Display Driver IC: إن M5450B7 عبارة عن برنامج تشغيل IC لشاشة العرض 40 Pin DIP LED ، يبدو إلى حد ما وحشًا ، ولكن من السهل نسبيًا التحكم فيه وبرمجته. هناك 34 دبوس إخراج يمكن توصيل LED بها لكل واحد. يغرق الجهاز التيار بدلاً من تزويده ، لذا فإن ج