مجموعة روبوتية لسيارة روبوت ذات عجلتين. إنشاء روبوت متسابق على منصة الاردوينو

06.07.2019

متجر الروبوتات والروبوتات، الروبوتات المنزلية، المروحيات الرباعية، الألواح الحوامة، صانعو الروبوتات، أخبار الألعاب

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

هذه ليست مقالتي الأولى حول هذا الموضوع: لدي رغبة في كتابة واحدة مباشرة بعد قراءة العبارة حول الإمكانيات اللامحدودة للمنصة في موضوع DIY على حبري. لدي رغبة في الكتابة عن السعر الحقيقي للأجزاء بعد قراءة مقال حول شراء مجموعة بناء بمبلغ 200 دولار لا تحتوي على أي شيء تقريبًا (آسف، لقد نسيت أين رأيتها).

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

بفضل أردوينو، العديد من المشاريع التي كان الغبار يتراكم في بنوك الذاكرة الدماغية لمؤلفيها، رأت النور.

أعترف بصدق أنه في بعض الأحيان كنت أستخدم كودًا مكتوبًا لـ Arduino (على سبيل المثال، تنتج شركة InvenSense وحدة MPU6050، والتي تمكنت فقط من العمل بشكل صحيح).
أنا أحتقر هؤلاء الأشخاص الذين، بعد أن اكتشفوا عالم المتحكمات الدقيقة، لم يكلفوا أنفسهم عناء النظر حوله وأولئك الذين يستفيدون بوقاحة من هؤلاء الأشخاص.

جاء طالب من قسم تكنولوجيا المعلومات، من محبي الأردوينو، إلى مختبرنا (وعمل معنا). أنفق الرجل الكثير من المال لشراء الدوينز نفسها ووحدات لها. ليس من دون ندم، شاهدت كيف أن منشئ الأنظمة الروبوتية المستقبلي (ما زلت آمل) لم يتمكن من إطلاق PWM بالتردد المطلوب، على الرغم من أنه تراكمت لديه الكثير من ساعات "الطيران" من خلال العمل مع المنصة.

لذلك، أظهر لي هذا الطالب "مقياس مستوى البطارية"، أو شيء من هذا القبيل. لقد وجدته الآن على وجه التحديد على موقع ebay، حيث يسمى " وحدة استشعار الجهد العالي الحساسية - متوافقة مع اردوينو"ويباع بسعر 8.58 دولار. وهنا في الصورة:

بالمناسبة، السلك المركزي، وهو "+" - إنه معلق في الهواء - كل شيء يتم من أجل أقصى اتصال مناسب لمقسم جهد بسيط، سعره الأحمر هو 2 سنتًا للمقاومات و 20 سنتًا للمقاومات الموصل - هذا إذا قمت بشرائه من متاجر التجزئة.

ليست هذه هي حالة الخداع الوحيدة التي تعرض لها أخينا؛ وفيما يلي سأقدم المزيد منها. الآن، بالنسبة لأولئك الذين يحبون الهيكلة، سأكتب العيوب الرئيسية لاردوينو.


في Hobbyking، حيث يتم خداع عشاق مشاريع النمذجة المختلفة بنفس الطريقة كما هو الحال في المتاجر الأخرى لمحبي Arduino، تم بيع مكثف عادي تحت ستار نوع من المرشح. لم أتمكن من العثور عليه الآن. مع موصل ثلاثي الأطراف بالطبع. مقابل 3 دولارات فقط .

مستشعر عداد سرعة المحرك الصغير المتوافق مع Arduino AVR PIC- تم استبداله بمصباح LED وترانزستور ضوئي متصل بوحدة تحكم مركزية وعشرين سطرًا من التعليمات البرمجية. لا يستحق 7.98.

2*4 أزرار ضغط لوحة المفاتيح مصفوفة AVR ARM متوافقة مع Arduino- هذه مجرد أزرار يمكن شراؤها مقابل 10 قطع لكل دولار.

هناك جهاز واحد في العالم أكرهه أكثر من الاردوينو - mbed. أخذ مطوروها وحدة التحكم LPC1768 (المتوفرة أيضًا على LPC11U24)، وقاموا بلحامها على لوحة بها مثبتان (لن أتحدث عن جودة تخطيط اللوحة)، وحركوا نصف الأرجل للخارج (النصف الثاني غير متصل) في أي مكان، وهو أمر مزعج للغاية)، كتب IDE غير دقيق عبر الإنترنت (ومع ذلك، أفضل قليلاً من Arduino، على الرغم من أنه يتطلب اتصالاً بالإنترنت) وبيعه مقابل 64 دولارًا. آسف، ولكن هذا بالفعل تماما.

ماذا تفعل إذا قررت فجأة التوقف عن تحديد الوقت والبدء في دراسة وحدات التحكم الدقيقة؟

  1. كانت هناك سلسلة من المقالات عن حبري "STM32F1xx - علاج إدمان الأردوينو معًا" - المقالات جيدة ومفهومة تمامًا، ومن المؤسف أن المؤلف توقف عن كتابة مقالات جديدة.
  2. يتم إرسال جميع الوافدين الجدد إلى موقع easyelectronics.ru، حيث نشر زميل DIHALT دورة تدريبية حول وحدات التحكم الدقيقة AVR.
  3. « تصميم تطبيقات على المتحكمات الدقيقة من عائلة 68HC12/HCS12 باستخدام لغة C"S. F. Barrett، D. J. Park - كتاب رائع يساعدك على فهم أساسيات البرمجة في لغة C لوحدات التحكم الدقيقة. المشكلة الوحيدة هي أنه من غير المحتمل أن تحصل على وحدات تحكم دقيقة Freescale، لذلك سيتعين عليك نقل الأمثلة بنفسك إلى AVR أو PIC أو MSP430 أو أي وحدة تحكم أخرى.
  4. قبل شراء أي شيء لأجهزتك، اقرأ عنه على الأقل في ويكيبيديا - ربما يمكن شراء نفس الجزء بسعر أرخص إذا سميته بشكل مختلف.

هل تعرف فعلا ما هو الغريب؟ ومن بين مستخدمي الأردوينو، هناك من يحتقر شركة أبل بسبب "استهدافها للمستخدم ضيق الأفق المنشغل بمثل هذه التفاهات".

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

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

دعونا نبدأ في مكان ما؟ السؤال الرئيسي هو اختيار وحدة التحكم. هناك العديد من المراجعات لـ Arduino، بالإضافة إلى نسخ خارجية مبنية على هذه الإصدارات. ربما تكون هنا الفئتان الأكثر إثارة للاهتمام بالنسبة لنا:

  • Arduino Uno هو الخيار الأفضل للمبتدئين، وهو أبسط لوحة وأكثرها ميزانية ومشتركة. يعتمد على شريحة ATmega328 بتردد ساعة 16 ميجا هرتز و 32 كيلو بايت من ذاكرة الفلاش و 2 كيلو بايت من ذاكرة الوصول العشوائي و 1 كيلو بايت من EEPROM. يحتوي Uno على 14 مدخلاً/مخرجًا رقميًا يمكن استخدامها للتحكم في أجهزة الاستشعار والماكينات والأجهزة الأخرى؛
  • Arduino Mega / Mega 2560 هي لوحة مناسبة عندما تعلم مسبقًا أن المشروع سيكون معقدًا. والفرق الرئيسي هو العدد الأكبر من المدخلات/المخرجات (48 ميجا، 54 ميجا 2560). هناك أيضًا ذاكرة أكبر بكثير: 8 كيلو بايت من ذاكرة الوصول العشوائي، 4 كيلو بايت إيبروم، وذاكرة فلاش 128 و 256 كيلو بايت (في ميجا و ميجا 2560، على التوالي). تختلف اللوحات أيضًا عن بعضها البعض في الشريحة وسرعة USB وبعض الخصائص الأخرى.

بالطبع، هناك أيضًا Arduino Pro وArduino LilyPad وغيرها الكثير. لكن الآن دعونا نركز على النموذجين الأولين. في حالتنا، كل شيء بسيط للغاية: هناك حاجة إلى ميجا لروبوت به الكثير من الأرجل.

الكود الأول

أولاً، لنقم بتثبيت Arduino IDE (arduino.cc) - وهي بيئة تطوير مجانية عبر الأنظمة الأساسية. الآن، إذا قمنا بتوصيل Arduino الخاص بنا، فيمكننا محاولة كتابة الكود الأول بأبسط مثال: برنامج وميض LED. معظم وحدات التحكم في Arduino تمتلكها وهي متصلة بالطرف 13. بالمناسبة، في عالم Arduino، تسمى البرامج عادةً بالرسومات. وهذا نص الرسم مع التعليقات:

// لنعطي هذا الدبوس اسم LED: const int LED = 13; إعداد الفراغ () (/ تهيئة الدبوس الرقمي // للإخراج: pinMode (LED، OUTPUT)؛) حلقة باطلة () (/ تطبيق مستوى منطقي واحد // على الدبوس 13 (إضاءة مؤشر LED): الكتابة الرقمية (LED) ، عالي) ؛ // إيقاف تنفيذ الرسم مؤقتًا // لثانية واحدة: تأخير (1000)؛ // تطبيق مستوى الصفر المنطقي // على الدبوس 13 (إيقاف تشغيل مؤشر LED): الكتابة الرقمية (LED، LOW)؛ / إيقاف تنفيذ الرسم مؤقتًا // لثانية واحدة: تأخير (1000)؛

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

بعد انتهاء وظيفة الإعداد من عملها، يتم تشغيل حلقة مغلقة تلقائيًا، حيث سيتم استدعاء وظيفة الحلقة. نحن مطالبون بكتابة ما نريد القيام به هناك. ونريد تطبيق مستوى منطقي واحد (5 فولت) على الدبوس 13، أي إضاءة مؤشر LED، ثم الانتظار ثانية واحدة (1000 بالمللي ثانية)، ثم تطبيق مستوى الصفر المنطقي (0 فولت) والانتظار مرة أخرى لثانية واحدة. ستكرر المكالمة التالية للحلقة كل شيء.

الآن نقوم بتحميل رسمنا إلى وحدة التحكم. لا، لسنا بحاجة إلى مبرمج. تحتوي وحدات تحكم Arduino، بالإضافة إلى رسوماتنا، على برنامج خاص - أداة تحميل التشغيل، والتي، على وجه الخصوص، تتحكم في تحميل التعليمات البرمجية من الكمبيوتر. لذا، لتحميل المخطط، نحتاج فقط إلى كابل USB وعنصر القائمة File → Upload (Ctrl + U) في Arduino IDE.

السؤال الرئيسي

كم عدد الأرجل التي نحتاجها فعلا؟ دعونا نحدد العديد من تكوينات الروبوتات المشي. حسب عدد الأرجل:

  • ذو قدمين - ذو قدمين (النموذج الأولي - الإنسان)؛
  • رباعي الأرجل - رباعي الأرجل (النموذج الأولي - معظم الثدييات) ؛
  • سداسي الأرجل - ستة أرجل (النموذج الأولي - معظم الحشرات) ؛
  • الأخطبوط - ثمانية أرجل (النموذج الأولي - العناكب والعقارب وسرطان البحر والمفصليات الأخرى).

بالإضافة إلى عدد الأرجل، فإن تكوين كل منها مهم أيضًا. السمة الرئيسية للساق هي عدد درجات الحرية، أو أبعاد الحرية (DOF). درجة الحرية هي القدرة على الدوران أو الانحناء حول محور واحد (في كثير من الأحيان التحرك للأمام على طوله). من الواضح أنه إذا كانت هناك درجة واحدة فقط من الحرية، فلن تذهب بعيدًا بهذه الساق. تسمح درجتان من الحرية (2DOF) للروبوتات متعددة الأرجل بالتحرك، على الرغم من أن 2DOF تسمح فقط لطرف الساق بالتحرك بحرية في مستوى واحد. ويقوم ساق 3DOF بتحريك "القدم" في مساحة ثلاثية الأبعاد (ما لم تكن المحاور الثلاثة متوازية بالطبع). هناك أيضًا أرجل 4DOF، والتي تزيد ببساطة من مرونة ونطاق حركة الساق. غالبًا ما تحتوي الحشرات على أرجل 4DOF.

ماذا يعني هذا بالنسبة لنا؟ في روبوتات الهواة الرخيصة، يتم تحقيق كل درجة من الحرية بواسطة محرك واحد، وبشكل أكثر دقة، محرك سيرفو، أو خادم. يحدد تكوين الأرجل بشكل فريد عدد هذه الماكينات المطلوبة. لذلك، سيتطلب hexapod 3DOF 18 خدمة، وسيتطلب العنكبوت 4DOF 32. لا تخف من الكمية، فالماكينات الصغيرة المستخدمة في نماذج RC للهواة رخيصة جدًا. يمكنك العثور عليها في المتاجر عبر الإنترنت من خلال البحث عن أجهزة صغيرة.

لبرمجة الماكينات، يكفي معرفة أن لديهم بالفعل وحدة تحكم تقوم بالعمل الرئيسي. وكل ما هو مطلوب هو توفير الطاقة وإشارة رقمية تخبر وحدة التحكم بالوضع الذي نريد تدوير عمود الإدارة إليه. من السهل العثور على معلومات حول تصميمها. بروتوكولهم هو أبسط بروتوكولات الاتصالات الرقمية: تعديل عرض النبضة - PWM (PWM باللغة الإنجليزية). تحتوي جميع الماكينات البسيطة على موصل بثلاثة دبابيس: أرضي، +5 فولت (قد يختلف الجهد حسب الحجم والطاقة) وإدخال الإشارة. يمكن لوحدات تحكم Arduino توليد هذه الإشارة بطريقتين مختلفتين. الأول هو PWM للأجهزة، والتي يمكن للرقاقة نفسها إخراجها على العديد من منافذ الإدخال/الإخراج الرقمية الخاصة بها. والثاني هو البرمجيات. يتيح لك البرنامج استقبال إشارات PWM مختلفة أكثر من الأجهزة في نفس الوقت. يتم توفير غلاف مناسب له تحت Arduino - مكتبة Servo. يسمح لك باستخدام 12 سيرفو في وقت واحد على معظم وحدات التحكم صغيرة الحجم (Uno، Due، Nano) و48 سيرفو على Arduino Mega وما شابه. يتم توصيل دبوس إشارة المؤازرة بدبوس Arduino الرقمي. الأرض والقوة - من الواضح أن الأرض والقوة، يمكن أن تكون مشتركة بين جميع السيرفرات. في الحلقات المؤازرة ثلاثية الأسلاك، يكون اللون الأسود أو البني مطحونًا، وفي المنتصف عادة ما يكون أحمر +5 فولت، وأخيرًا يكون اللون الأبيض أو الأصفر إشارة. من وجهة نظر البرمجيات، التحكم بسيط للغاية:

سيرفو مايسيرفو؛ // مضاعفات على الطرف 9 من Arduino myservo.attach(9); // قم بالتدوير إلى موضع 90 درجة myservo.write(90);

يمكن لمعظم الماكينات تدوير العمود بمقدار 180 درجة، وبالنسبة لها فإن 90 درجة هي الموضع المتوسط. لتبسيط عملية ربط الماكينات بلوحة الاردوينو، هناك عدد من الحلول. الأكثر شيوعًا هو Sensors Shield. من خلال تثبيته على Uno وتزويد أطراف الماكينات بالطاقة، يمكنك توصيل موصلاتها به مباشرةً.

بطارية

قضية أخرى مهمة هي التغذية. إذا كان لديك لوحة متقدمة تسمح لك بتزويد النظام بأكمله عبر خط كهرباء واحد (ولن تتداخل المحركات المؤازرة مع تشغيل وحدة التحكم)، فيمكنك التعامل مع مصدر واحد. الاختيار ضخم، والأفضل بالطبع هي قوالب Li-Ion/Li-Po لنماذج الراديو. لكنهم يحتاجون أيضًا إلى أجهزة شحن مناسبة. إذا كان لديك وحدة تحكم أبسط (Uno/Due/Nano)، فيمكنك تشغيلها بشكل منفصل، على سبيل المثال باستخدام "Krona" بقدرة 9 فولت، وتوصيل الماكينات بالبطارية الرئيسية القوية. بهذه الطريقة سيكون لدى الماكينات بالتأكيد طاقة كافية. في حالة بطاريات الليثيوم، تحتاج إلى مراقبة الجهد بعناية أكبر من المعتاد حتى لا يكون هناك تفريغ زائد (يجب توضيح الفولتية المسموح بها لنوع معين من البطاريات). ولهذا الغرض، فإن روبوت سليبنير، الذي سيتم مناقشته بمزيد من التفصيل، لديه أيضًا مقياس فولتميتر رقمي صغير متصل به.

افعل ذلك بنفسك خنفساء الروبوت

عدة

  • وحدة تحكم Arduino Uno: 1,150 RUR
  • ثلاثة محركات سيرفو. لقد استخدمت HXT500، 200 فرك. قطعة
  • حجرة بطارية كرونا بمفتاح: 50 فرك.
  • بطارية "كرونا": 145 فرك.
  • جهاز استقبال الأشعة تحت الحمراء: 90 فرك.
  • سلك فولاذي يبلغ قطره حوالي 1.5 ملم. على سبيل المثال، استخدمت مضربًا مكسورًا لخفق البيض

المجموع: 2035 فرك.

ديمتريDzz:أريد أن أدعوك إلى صنع حشرة آلية صغيرة ذات ستة أرجل يتم التحكم فيها عن بعد استنادًا إلى وحدة التحكم Arduino Uno. ستتمتع الأرجل بدرجة واحدة من الحرية، وسيتم التحكم باستخدام جهاز التحكم عن بعد الخاص بالتلفزيون العادي.

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

أسهل طريقة هي أن تأخذ مجموعة منشئة، لأنه في الخطوات الأولى لن تكون وحدة تحكم واحدة كافية. الآن تقدم العديد من المتاجر مثل هذه المجموعات. على سبيل المثال، يوجد متجر إلكتروني رائع "Amperka". هنا سيتم عرض العديد من مجموعات البناء المماثلة، والتي تختلف في المحتوى، وبالطبع السعر. أبسطها كان كافياً بالنسبة لي - "ماتريوشكا إكس". يتضمن وحدة تحكم Arduino Uno وكابل USB للاتصال بجهاز كمبيوتر ولوحة نماذج أولية (شيء لا يمكن استبداله!) ومجموعة من وصلات العبور ومصابيح LED والمقاومات وغيرها من العناصر الصغيرة.

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

ما هي الأدوات التي سوف تحتاجها:

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

إذا كنت قد جمعت كل شيء، فلنبدأ!

يتحكم

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

في هذه المرحلة، ستحتاج أيضًا إلى جهاز استقبال الأشعة تحت الحمراء وسيكون من الجيد أن يكون لديك لوحة نماذج أولية. تعمل الغالبية العظمى من أجهزة التحكم عن بعد بالأشعة تحت الحمراء بترددات حاملة تبلغ 36 كيلو هرتز أو 38 كيلو هرتز أو 40 كيلو هرتز (باناسونيك وسوني). الاستثناءات هي أجهزة التحكم عن بعد من Sharp (56 كيلو هرتز)، Bang & Olufsen (455 كيلو هرتز) وربما شخص أكثر غرابة. ولذلك، فإن أي جهاز استقبال للأشعة تحت الحمراء بتردد 36 أو 38 أو 40 كيلو هرتز مناسب تمامًا لنا. قد لا يتطابق التردد تمامًا مع تردد الموجة الحاملة للإشارة. في هذه الحالة، ستنخفض حساسية جهاز الاستقبال، لكن عمليًا لم ألاحظ أي إزعاج عند استخدام جهاز استقبال TSOP2136 IR (36 كيلو هرتز - آخر رقمين هما التردد) وجهاز التحكم عن بعد من سوني (40 كيلو هرتز).

لذلك، فإن أجهزة استقبال الأشعة تحت الحمراء TSOP21xx، TSOP22xx، TSOP312xx مناسبة لمعظم أجهزة التحكم عن بعد. يمكن أن يكون الرقمان الأخيران 36 أو 37 أو 38 أو 40. قبل تشغيل جهاز استقبال الأشعة تحت الحمراء، تحقق من أسلاك جهات الاتصال الخاصة به - لا يوجد سوى ثلاثة: +5V (الطاقة)، ​​GND (الأرضي)، Vs (الإخراج). لنقم بتجميع الدائرة كما في الرسم التوضيحي (الأسلاك الخاصة بـ TSOP2136).

كما ترون، قمنا بتوصيل إخراج جهاز استقبال الأشعة تحت الحمراء إلى الإدخال التناظري لوحدة التحكم A0.

هذا ما يبدو عليه رمز الرسم:

#include "IRremote.h" // الإدخال التناظري لوحدة التحكم، // الذي يتصل به جهاز استقبال الأشعة تحت الحمراء: const int IR_PIN = A0; // إنشاء كائن مستقبل IR: IRrecv Irecv(IR_PIN); إعداد باطلة () ( Serial.begin (9600)؛ Serial.println ("جاهز")؛ // ابدأ الاستماع إلى إشارات الأشعة تحت الحمراء: Irecv.enableIRIn ()؛) حلقة باطلة () ( // وصف بنية النتائج، // حيث سيتم وضع أوامر IR التي تم استلامها وفك تشفيرها: نتائج decode_results؛ (irrecv.decode (&results)) ( Serial.println(results.value); Irecv.resume(); ) )

يستخدم الرسم مكتبة خاصة IRremote.h، والتي تقوم بفك تشفير الإشارات من مجموعة متنوعة من أجهزة التحكم عن بعد التي تعمل بالأشعة تحت الحمراء. هذه المكتبة عبارة عن مشروع مفتوح، يمكنك تنزيلها من https://github.com/shirriff/Arduino-IRremote. ومن أجل ربطه بمشروعنا، نحتاج إلى تنفيذ ثلاث خطوات:

  • انسخ دليل المكتبة إلى دليل المكتبات، والذي يقع بدوره في دليل تثبيت Arduino IDE؛
  • إعادة تشغيل IDE؛
  • أضف السطر #include "IRremote.h" إلى بداية رسمنا.

الآن سيكون للرسم وظائف فك تشفير إشارة الأشعة تحت الحمراء المتاحة. ولكن لرؤية الرموز المستلمة، سنستخدم أيضًا الكائن التسلسلي. بمساعدتها، سنقوم بنقل الرموز إلى الكمبيوتر عبر المنفذ التسلسلي (نفس كابل USB). في وظيفة الإعداد نقوم بتهيئة الكائن التسلسلي. "9600" هو 9600 باود - السرعة التي سيتم استخدامها لنقل البيانات. بعد التهيئة، يمكننا الكتابة إلى المنفذ التسلسلي باستخدام وظيفة println. لعرض نتيجة هذا الإخراج على جهاز الكمبيوتر الخاص بك في Arduino IDE، حدد عنصر القائمة Tools → Serial Monitor (Ctrl + Shift + M). فقط تأكد من ضبطه على 9600 باود.

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

نحتاج إلى 13 زرًا للتحكم عن بعد. لقد استخدمت ما يلي:

  • 1 - انعطاف سلس إلى اليسار؛
  • 2 - الحركة إلى الأمام.
  • 3 - انعطاف سلس إلى اليمين؛
  • 4 - انعطف يسارًا على الفور؛
  • 5 - توقف؛
  • 6 - انعطف يمينًا على الفور؛
  • 7 - التحرك للخلف مع الانعطاف لليمين.
  • 8 - الحركة إلى الوراء.
  • 9 - التحرك للخلف مع الانعطاف إلى اليسار.
  • الزر الأزرق - بطيء جدًا؛
  • أصفر - بطيء.
  • أخضر - سريع؛
  • أحمر - سريع جدًا.

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

خوارزمية الحركة

يتوفر مخطط التحكم في الروبوت على صفحة مشروعنا (bit.ly/1dEwNDC). لا تنس تغيير قيم الرموز الثابتة للأزرار المضغوطة في جهاز التحكم عن بعد إلى رموز جهاز التحكم عن بعد الخاص بك (الثوابت IR_COMMAND_XXX_CODES في الملف ir_command_codes.h).

لن ننظر إلى المخطط بالتفصيل، وأعتقد أن التعليقات الموجودة في الكود كافية، ولكن لا يزال هناك سؤال واحد يستحق النظر فيه.

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

تحتوي حشرتنا الآلية على ثلاثة محركات مؤازرة مرتبة في صف متعامد مع الحركة. بالنسبة للمحركات المؤازرة اليسرى واليمنى، يتم توجيه محور العمود لأعلى، وبالنسبة للمحرك المؤازر المركزي، يتم توجيهه للأمام. مهمة المؤازرة اليسرى، على سبيل المثال، هي ضخ قدمين في وقت واحد: الأمامية اليسرى والخلفية اليسرى. بالمناسبة، فهي متصلة ببعضها البعض بشكل صارم ويتم لصقها على الروك لهذه المؤازرة. مهمة المؤازرة المركزية هي رفع الجانب الأيسر من الخنفساء أو الجانب الأيمن. ولذلك، فإن الأرجل المركزية اليسرى واليمنى، والتي هي عبارة عن جزء واحد على شكل حرف U، متصلة بالهزاز لهذا المحرك.

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

تشير الدوائر الزرقاء إلى أرجل الخنفساء الآلية التي تقف على السطح، وتشير الدوائر البيضاء إلى تلك الموجودة في الهواء. يرجى ملاحظة أنه عند التحرك للأمام أو للخلف، يجب أن يتحرك محركا المؤازرة الأيمن والأيسر بنفس الطريقة تمامًا. وعند الدوران في مكانه، يجب أن تدور المحركات في اتجاهات مختلفة (بشكل متماثل). شيء آخر مثير للاهتمام هو أن الحركة الأمامية والخلفية تختلف فقط في مرحلة المحرك المركزي.

فكيف يتم تنفيذ هذا؟ نتذكر أن وحدة التحكم تستدعي وظيفة الحلقة باستمرار. هذا يعني أنه يجب علينا في هذه الوظيفة وضع كود يحدد الموقع الحالي للخوادم ويضبطها على هذا الموضع. يجب على كل محرك مؤازر أن يقوم بحركات تذبذبية. يمكننا حساب موضع المحرك المؤازر في الوقت t باستخدام الصيغة التالية:

X = خطيئة(2πt/T)،

حيث X هو الموضع المطلوب للمحرك المؤازر، A هو سعة التذبذبات، T هي فترة التذبذبات.

لذا، اعتمادًا على اللحظة الزمنية t، سنحصل على تغيير في قيمة X في النطاق من -A إلى +A. يمكن وضع المحركات المؤازرة من 0 إلى 180 درجة. ولذلك فمن الأفضل لنا أن نتأرجح حول موضع "الصفر" وهو 90 درجة. وإذا أردنا توفير اهتزازات بفترة 1 ثانية حول موضع 90° وسعة 30°، فإن الصيغة تتحول إلى الشكل التالي:

X = 90 + 30 خطيئة(2πt/1000)،

حيث t هو الوقت بالمللي ثانية الذي انقضى منذ بداية التذبذبات. للتحكم في سرعة الخنفساء الآلية، يمكننا تغيير فترة التذبذب. كلما كان أكبر، كلما انخفضت السرعة.

الآن دعونا نعود إلى الرسم البياني لدينا مرة أخرى، لأن الصيغة المكتوبة أعلاه لم تكتمل بعد. كيف يمكن ضمان الحركة المتزامنة أو المضادة للمحركات المؤازرة اليسرى واليمنى؟ كيفية تغيير مرحلة المحرك المركزي؟ يجب أن نضيف مرحلة التذبذب إلى صيغتنا. إن تحويل وسيطة الجيب بمقدار π، على سبيل المثال، المحرك الأيمن سيجعله يعمل في الطور المضاد إلى المحرك الأيسر، أي بالطريقة التي نريده أن يدور بها في مكانه. وهذا ما ستبدو عليه صيغتنا الآن:

X = 90 + 30 خطيئة(2πt/1000 + Φ)،

حيث Φ هي مرحلة التذبذب، والقيمة هي من 0 إلى 2π.

انظر إلى الجدول لفهم مراحل التذبذب للمحركات المؤازرة لكل نوع من أنواع الحركة.

حَشد

لنقم الآن بتجميع الروبوت على لوحة النماذج الأولية وتحميل رسم التحكم.

هذه خطوة مهمة جدًا قبل التجميع. حاول فصل كابل USB وتشغيل اللوحة باستخدام بطارية Krona. تحقق من جميع مراحل الحركة وتأكد من أن كل شيء يعمل. بعد تجميع الروبوت، سيكون تغيير أي شيء (على سبيل المثال، استبدال محرك مؤازر لا يعمل) أكثر صعوبة.

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

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

أسهل طريقة هي لصق وحدة التحكم في الحجرة، لكنني لا أحب هذا الخيار حقًا، حيث سيتعين عليّ إعطاء Arduino Uno للخطأ إلى الأبد. لذلك، يمكنك تعقيد حياتك واستخدام موصلات Arduino لتوصيل حجرة البطارية. في الجزء السفلي من الحجرة، ألصق موصل الدبوس بمسافة بين المسامير تبلغ 2.54 مم. يجب وضعه بحيث يتناسب مع مقبس وحدة التحكم في منطقة الأطراف الرقمية 8-11. لن نحتاجهم بعد على أية حال. إذا لم يكن لديك موصل في متناول اليد، فإن مشبك الورق على شكل حرف U سيفي بالغرض.

يجب توصيل الأسلاك القادمة من حجرة البطارية بدبابيس Vin وGND المجاورة. لا تخلط بين القطبية! بالإضافة إلى "التيجان" على Vin، ناقص GND. لضمان اتصال موثوق للأسلاك بموصلات Arduino، يمكنك ببساطة قص طرف السلك بشكل أكثر سمكًا، لكنني استخدمت قطعة قصيرة من مشبك الورق كقابس. وقمت بتغطية منطقة اللحام بأنبوب الانكماش الحراري.

يجب قطع الموصلات من كابلات محرك المؤازرة، ويجب دمج أسلاك الطاقة (+5 فولت - عادة حمراء وGND - أسود أو بني) وتوجيهها إلى مقابس 5 فولت وGND المجاورة على وحدة التحكم. سنقوم بالاتصال في وقت لاحق قليلا. يتم توصيل أسلاك إشارة التحكم (عادةً ما تكون صفراء) بالمخرجات الرقمية لوحدة التحكم: المحرك المؤازر الأيسر للطرف 2، والمحرك الأوسط للدبوس 4، والمحرك الأيمن للدبوس 7.

يمكن ببساطة توصيل "+" و"-" لمستقبل الأشعة تحت الحمراء بموصل Arduino (5V وGND المجاور). صحيح، ثنيهم في النصف، مضاعفة سمكهم. نقوم بلحام أسلاك الطاقة المتصلة مسبقًا للمحركات المؤازرة بنفس أرجل الطاقة لجهاز استقبال الأشعة تحت الحمراء. من غير المرجح أن يصل إخراج إشارة مستقبل الأشعة تحت الحمراء إلى الإدخال التناظري لوحدة التحكم A0، وسيتعين عليك زيادته باستخدام سلك.

بعض النصائح لصنع الساقين. قم أولاً بإعداد الأرجل "الأمامية الخلفية" اليسرى واليمنى. تأكد من أنها متناظرة (انتبه إلى الأطوال وزوايا الانحناء). ابدأ بلصق الأرجل فقط بعد التأكد من ضبط الماكينات على وضع "الصفر" (90 درجة).

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

ماذا بعد؟

Robozhuk عبارة عن منصة متنقلة جاهزة تعتمد على إحدى وحدات التحكم الأكثر شيوعًا والتي يمكن الوصول إليها. المشروع مفتوح: https://github.com/beetle-ringo/arduino. أنشئ شوكة (فرعًا) في GitHub وأضف وظائفك الخاصة. أطلق العنان لخيالك - أضف مصباح LED بالأشعة تحت الحمراء، وسيكون الروبوت جاهزًا لمعركة الروبوت. قم بتوصيل أجهزة تحديد المدى وأجهزة الاستشعار اللمسية والجيروسكوب... قم بتعليم الروبوت كيفية تجنب العوائق أو المشي على طول الخط، وحاول تثبيت كاميرا ويب عليه. يمكن أن يكون هناك مليون فكرة، ويمكنك دائمًا اختيار الفكرة الأكثر إثارة للاهتمام.

روبوت سليبنير

عدة

  • وحدة تحكم Arduino Uno Dagu Spider Robot: 2530 فرك.
  • محركات مؤازرة SG90 9g (16 قطعة) 1150 فرك.
  • البطارية حزمة بطارية ليبو، 7.4 فولت، 1800 مللي أمبير RUR 490
  • وحدة الراديو 4 دبوس بلوتوث جهاز إرسال واستقبال الترددات اللاسلكية RUR 270
  • مؤشر الجهد (اختياري) تيار مستمر 3.3-30 فولت عداد لوحة LED أحمر RUR 100
  • ركن المنيوم . في أقرب سوق البناء 135 روبل.
  • البراغي والصواميل. في أقرب سوق للسلع الرخيصة والمستعملة 35 روبل.

المجموع: 4710 فرك.

*تم شراء المكونات في أوقات مختلفة، ويمكن تحسين العديد من العناصر

بوكونوكو:دعونا نحاول تجميع تكوين غير قياسي - روبوت 2DOF ذو ثمانية أرجل. تعد أرجل 2DOF أسهل بكثير في البرمجة، ولدي مجموعة من الماكينات غير المستخدمة الموجودة حولي. والأهم من ذلك أنه سيكون من الممكن تسميته تكريما لحصان الإله أودين سليبنير ذو الثمانية أرجل (الذي طالما حلم به!).

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

الحل الأنيق والوظيفي، ولكنه ليس الحل الأرخص، هو استخدام لوحة تحكم مخصصة مُحسَّنة لتوصيل أعداد كبيرة من الماكينات. لقد صادفت Dagu Spider Robot Controller - وهو نفس Arduino Mega، ولكن على لوحة بها موصلات ذات 3 سنون ملحومة مسبقًا، حيث يمكنك توصيل تلك الماكينات الـ 48 على الفور دون أي دروع. مثالية للروبوتات متعددة الأرجل على اردوينو.

يتحكم

سيتم التحكم بنا عبر البلوتوث. هناك حلول الأجهزة المختلفة لهذا الغرض. هذه عبارة عن دروع وبطاقات منفصلة بواجهة تسلسلية UART (مثل منفذ COM العادي، فقط مع مستويات إشارة 5 فولت). بدا لي أن أصغر بطاقة بواجهة UART كانت الأكثر عملية. يتصل بدبابيس UART/Serial المقابلة لمنفذ Arduino. دعونا نلاحظ فروق دقيقة: في Uno/Due/Nano وما شابه ذلك، يوجد منفذ واحد فقط، ويتم استخدامه أيضًا للبرامج الثابتة عبر USB. لذلك، قد تحتاج إلى إيقاف تشغيل وحدة Bluetooth أثناء تحديث البرنامج الثابت. والفارق الدقيق الثاني - لا تنس أن طرف RX الخاص بالوحدة متصل بمنفذ TX الخاص بـ Arduino و TX إلى RX. تحدث مثل هذه الأشياء في UART.

برمجة البلوتوث ليست أكثر تعقيدًا من إمكانية قراءة البيانات بايتًا بايت، وهو ما سنستخدمه:

شار كمد؛ Serial.begin(9600); إذا (Serial.available()) cmd = Serial.read();

إذا تم استخدام Arduino Mega وتم توصيل Bluetooth بالمنفذ الثاني، فسيتم كتابة Serial1 بدلاً من Serial. ومن الجدير بالذكر أنه ليس من الضروري استخدام البلوتوث، بل يمكنك التحكم في الروبوت مباشرة عبر USB. ولن يتغير شيء في الكود أعلاه! يعمل هذا فقط مع منفذ تسلسلي، وما إذا كان هناك جهاز إرسال BT أو محول تسلسلي USB معلق هناك، فهذا ليس مهمًا بالنسبة لنا.

الوجه الآخر للبلوتوث

الطريقة الأكثر ملاءمة للاتصال هي من خلال أدوات Linux المساعدة القياسية. للعمل، سنحتاج إلى الأدوات المساعدة sdptool، وrfcomm (جزء من حزمة bluez في مستودعات Ubuntu)، بالإضافة إلى minicom (هذا هو اسم الحزمة). يمكن العثور على تعليمات العمل مع هذه الأدوات المساعدة على الإنترنت.

خوارزمية الحركة

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

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

دع الأصل المحلي للإحداثيات O لكل ساق هو عمود المؤازرة العلوية، أي الوركين. ولدينا إحداثيات النقطة (أ) حيث يجب أن تضرب القدم. بعد ذلك، من السهل أن ترى أنك بحاجة إلى حل مشكلة العثور على نقاط تقاطع دائرتين (انظر مخطط أرجل جانب واحد، وهذا موضح في أقصى اليمين). بعد العثور على نقطة التقاطع B للدوائر (باختيار أي منها)، يصبح من السهل حساب الزوايا المطلوبة باستخدام التحويل من الإحداثيات الديكارتية إلى الإحداثيات القطبية. في الكود، يبدو حل هذه المشكلة كما يلي:

تعويم أ = -2 * س؛ تعويم ب = -2 * ص؛ float C = sqr(x) + sqr(y) + sqr(hipLength) - sqr(shinLength); تعويم X0 = -A * C / (sqr(A) + sqr(B)); تعويم Y0 = -B * C / (sqr(A) + sqr(B)); float D = sqrt(sqr(hipLength) - (sqr(C) / (sqr(A) + sqr(B)))); float multi = sqrt(sqr(D) / (sqr(A) + sqr(B))); الفأس العائم، ay، bx، بواسطة؛ الفأس = X0 + ب * مولت؛ bx = X0 - B * multi; ay = Y0 - A * multi؛ بواسطة = Y0 + A * multi؛ // أو bx لنقطة تقاطع أخرى float JointLocalX = ax; // أو لنقطة تقاطع أخرى float JointLocalY = ay; float hipPrimaryAngle = PolarAngle(jointLocalX, JointLocalY); تعويم hipAngle = hipPrimaryAngle - hipStartAngle؛ تعويم shinPrimaryAngle = PolarAngle (x - JointLocalX، y - JointLocalY)؛ تعويم shinAngle = (shinPrimaryAngle - hipAngle) - shinStartAngle؛

حيث x وy هما إحداثيات النقطة التي تريد الوصول إليها بقدمك؛ hipStartAngle - الزاوية التي يتم عندها تدوير "الورك" في البداية (مع وجود المؤازرة في الموضع الأوسط)، وبالمثل - shinStartAngle. بالمناسبة، من الواضح أن الزوايا في هذه الحسابات تكون بالراديان، لكن يجب نقلها إلى كائنات مؤازرة بالدرجات. تم نشر رمز البرنامج الثابت الكامل للعمل، بما في ذلك هذه القطعة، على GitHub، راجع الرابط الموجود في نهاية المقالة. هذا جزء من IR، ولكن إلى جانب ذلك تحتاج إلى رمز أكثر بساطة إلى حد ما لاستخدام هذا IR على جميع الأرجل (انظر الوظائف LegsReachTo() وlegWrite()). ستحتاج أيضًا إلى كود ينفذ المشية فعليًا - تحريك مجموعة واحدة من الأرجل "للخلف" (بحيث يتحرك الروبوت للأمام)، بينما يتم رفع المجموعة الأخرى من الأرجل وتحريكها للأمام للخطوة التالية، راجع وظيفة stepForward(). يستغرق الأمر خطوة واحدة مع المعلمات المحددة. بالمناسبة، باستخدام هذه المعلمات، يمكنك التراجع، بغض النظر عن اسم الوظيفة. إذا تم استدعاء هذه الوظيفة في حلقة، فإن الروبوت سوف يتقدم للأمام.

الآن تلقي الأوامر وتفسيرها. دعنا نضيف حالة إلى البرنامج:

حالة التعداد (STOP، FORWARD، BACKWARD، FORWARD_RIGHT، FORWARD_LEFT)؛

وفي حلقة التنفيذ الرئيسية () سننظر إلى الحالة الحالية (متغير الحالة) ونسحب stepForward () إذا كنا نتحرك للأمام (مع أو بدون دوران)، ومرة ​​أخرى stepForward ()، ولكن مع وسيطة سلبية xamp، إذا كنا بحاجة إلى التحرك إلى الوراء. سيتم التعامل مع المنعطفات في LegWrite ()، وللاتجاه إلى اليمين، ستظل الأرجل الموجودة على الجانب الأيمن ثابتة (بينما صف الأرجل اليسرى). هنا مثل دبابة الحصان. وحشية، ولكن بسيطة جدا ويعمل. لا يمكن إجراء التدوير السلس إلا باستخدام أرجل 3DOF، ويمكن رؤية مثال على ذلك في مستودع buggybug.

التبديل (الحالة) ( الحالة FORWARD: الحالة FORWARD_RIGHT: الحالة FORWARD_LEFT: stepForward(h, dh, xamp, xshift); استراحة; الحالة BACKWARD: stepForward(h, dh, - xamp, xshift); استراحة; )

أمر شار؛ بينما (Serial1.available()) الأمر = Serial1.read(); التبديل (الأمر) (الحالة "w": الحالة = FORWARD؛ استراحة؛ الحالة "s": الحالة = BACKWARD؛ استراحة؛ الحالة "d": الحالة = FORWARD_RIGHT؛ استراحة؛ الحالة "a": الحالة = FORWARD_LEFT؛ استراحة؛ الافتراضي : الحالة = توقف؛

هذا هو المكان الذي انتهت فيه النقاط الرئيسية للبرنامج الثابت، والباقي هو كل أنواع الأشياء الصغيرة. على الرغم من وجود نقطة أخرى ربما تكون مهمة - القدرة على ضبط الماكينات. حتى مع التجميع الأكثر دقة، إذا أمرت جميع المؤازرات بالدوران بزاوية 90 درجة، فسينتهي الأمر ببعضها بزاوية معاكسة قليلاً. ولذلك، نحن بحاجة إلى القدرة على تعديله. يمكنك أن ترى كيف فعلت ذلك في أساليب hipsWrite() و shinsWrite() وفي صفائف الضبط الدقيق hipsTune و shinsTune.

حَشد

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

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

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

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


ماذا بعد؟

المشروع بأكمله متاح على https://github.com/poconoco/sleipnir. لقد وصفت أحد أكثر التكوينات غير العملية - الكثير من أرجل 2DOF، عالية وضيقة وسهلة السقوط على جانبها. حاول أن تصنع روبوتًا أفضل بأرجل ثلاثية الأبعاد. مع أرجل 4DOF. بمخالب أو فكين. كمثال على حركيات 3DOF العكسية، يمكنك الرجوع إلى مستودع buggybug - البرنامج الثابت لـ hexapod موجود. يمكنك أيضًا صنع روبوتات ذكية، بدلاً من الروبوتات التي يمكن التحكم فيها، وذلك عن طريق تثبيت أجهزة استشعار المسافة بدلاً من البلوتوث، وتعليم الروبوت تجنب الجدران والعقبات. إذا وضعت مثل هذا المستشعر على محرك سيرفو وقمت بتدويره، فيمكنك مسح المنطقة باستخدام السونار تقريبًا.

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

المواد والأدوات اللازمة لصنع الروبوت:
- متحكم دقيق (Arduino أو Iteaduino مشابه) ؛
- أجهزة الاستشعار بالموجات فوق الصوتية؛
- حامل البطارية؛
- الألعاب الصينية لإنشاء قاعدة العجلات (يمكنك شراء واحدة جاهزة)؛
- قواطع للاسلاك؛
- صمغ؛
- الأسلاك
- المحركات
- اللوح الليفي
- بانوراما.
- الترانزستورات (D882P).

عملية تصنيع الروبوت:

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

عند اختيار السيارات، من الأفضل أن تأخذ الألعاب ذات العجلات العادية، لأنه، وفقا للمؤلف، مع المسامير مثله، يقفز الروبوت كثيرا.

هناك لحظة أخرى عندما تخرج الأسلاك من المحركات؛ يجب أن تتذكر تغيير القطبية على أحدها.


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


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








يتم توصيل المحركات بوحدة التحكم باستخدام ترانزستورات من النوع D882 P، وقد تم سحبها من لوحة التحكم القديمة بالماكينة. من الأفضل، بالطبع، استخدام ترانزستورات الطاقة من النوع TIP120B، لكن المؤلف اختارها ببساطة بناءً على الخصائص المناسبة. يتم توصيل جميع الأجزاء الإلكترونية وفقًا للمخطط المحدد.

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

أما بالنسبة لأجهزة الاستشعار، فيجب توصيل جهاز الموجات فوق الصوتية بالمخرج الرقمي السابع لوحدة التحكم الدقيقة. يتم توصيل محرك سيرفو بالمدخل الرقمي الثالث، وقاعدة ترانزستور المحرك الأيسر متصلة بالطرف 11، وقاعدة اليمين متصلة بالعاشر.

إذا تم استخدام Krona كمصدر طاقة، فسيتم توصيل الناقص بـ GND، والعلامة الجمع بـ VIN. تحتاج أيضًا إلى توصيل باعث الترانزستور والاتصال السلبي من مصدر طاقة هيكل الروبوت إلى GND.

الوصف الببليوغرافي: Strakovsky D. A.، Simakov E. E. إنشاء متسابق روبوت على منصة Arduino // عالم شاب. 2016. رقم 3. ص120-124..03.2019).





الكلمات الدالة:

الهدف من العمل: دراسة مبادئ بناء الروبوتات على أساس لوحة ArduinoUno. إنشاء نموذج عمل لروبوت متسابق وتطوير خوارزمية لسلوكه.

أهداف الوظيفة:

  1. دراسة مميزات بناء الروبوتات بالاعتماد على لوحات الأردوينو ووحداتها.
  2. دراسة مميزات بيئة برمجة الروبوت بالاعتماد على منصة الاردوينو.
  3. إنشاء نموذج لروبوت متسابق. تطوير خوارزمية حركة الروبوت بناءً على تحليل المعلومات المدخلة.
  4. تحليل عمل الروبوت.

مقدمة. أساسيات منصة الروبوتاتاردوينو

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

أرز. 1. هيكل المتحكم الدقيق

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

المنصة الأكثر شعبية والأكثر تنوعًا في العائلة هي لوحة ArduinoUno. يعتمد على معالج بتردد ساعة يبلغ 16 ميجا هرتز، ويحتوي على 32 كيلو بايت من الذاكرة، اثنان منها مخصصان لمحمل التشغيل الذي يسمح لك بفلاش Arduino من كمبيوتر عادي عبر USB. يوجد أيضًا 2 كيلو بايت من ذاكرة SRAM، والتي تستخدم لتخزين البيانات المؤقتة (هذه هي ذاكرة الوصول العشوائي للنظام الأساسي) و1 كيلو بايت من ذاكرة EEPROM لتخزين البيانات على المدى الطويل (مماثلة لمحرك الأقراص الثابتة).

يوجد 14 سنًا على المنصة يمكن استخدامها للإدخال والإخراج الرقمي. يعتمد الدور الذي تلعبه كل جهة اتصال على البرنامج. بعض جهات الاتصال لها أدوار إضافية. على سبيل المثال، يتم استخدام Serial 0 و1 - لاستقبال ونقل البيانات عبر USB؛ LED الثالث عشر - يتم توصيل مؤشر LED المدمج في اللوحة بهذا الدبوس. يوجد أيضًا 6 دبابيس إدخال تناظرية ودبوس إعادة تعيين لإعادة التعيين.

أرز. 2. لوحة اردوينو أونو

من السمات المميزة لاردوينو وجود لوحات التوسعة المسماة "الدروع". وهي عبارة عن لوحات إضافية يتم وضعها على شكل "طبقات الساندويتش" أعلى الاردوينو لمنحه إمكانيات جديدة. تتصل الدروع بـ Arduino باستخدام رؤوس الدبوس المتوفرة عليها. دعونا نلقي نظرة فاحصة على الدروع التي تم استخدامها أثناء الدراسة:

- MotorShield - يوفر التحكم في محركات التيار المستمر. إن أطراف المتحكم الدقيق ذات تيار منخفض، وبالتالي فإن تيار المحرك، إذا تم توصيله مباشرة، سوف يؤدي إلى إتلافها. ما يسمى بالجسر H يحل هذه المشكلة. يسمح لك بالتحكم في سرعة واتجاه دوران المحرك.

- TroykaShield - يساعد على توصيل عدد كبير من الأجهزة الطرفية مثل أجهزة الاستشعار عبر كابلات قياسية ثلاثية الأسلاك. لاتخاذ قرار بشأن اتجاه مزيد من الحركة للروبوت الذي يتم تطويره، تم استخدام أجهزة استشعار الخط الرقمي المتصلة بهذا "الدرع". تتيح لك هذه المستشعرات تحديد لون السطح المحيط بها. الإخراج عبارة عن إشارة رقمية بسيطة: المنطق 0 أو 1 حسب اللون الذي يراه أمامه. واحد أسود أو فراغ، والصفر ليس أسود.

أرز. 3. درع المحرك ودرع الترويكا

يتم تطوير التطبيقات المعتمدة على لوحات Arduino في بيئة برمجة خاصة Arduino IDE. تم تصميم البيئة لكتابة وتحميل البرامج الخاصة بك إلى ذاكرة المتحكم الدقيق. تتكون بيئة تطوير Arduino من محرر الأكواد ومنطقة الرسائل ونافذة إخراج النص وشريط الأدوات وشريط القوائم.

يتكون الهيكل الأساسي لبرنامج Arduino من جزأين مطلوبين: وظائف الإعداد () والحلقة (). قبل الدالة setup() يوجد إعلان للمتغيرات وإدراج المكتبات المساعدة. تعمل وظيفة الإعداد () مرة واحدة بعد كل عملية تشغيل أو إعادة ضبط اللوحة. يتم استخدامه لتهيئة المتغيرات، وتعيين وضع تشغيل المنافذ، وما إلى ذلك. تقوم وظيفة ()loop بتنفيذ الأوامر الموصوفة بشكل تسلسلي في حلقة لا نهاية لها. للتفاعل مع الأجهزة المختلفة، يتم استخدام الإجراءات والوظائف المتخصصة لتوفير المدخلات والمخرجات.

تجميع متسابق الروبوت على منصةاردوينو

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

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

منصة ثانيا . تثبيت اللوحة اردوينو و ربط المحركات. لوحة ArduinoUno مثبتة في الخلف. سيضمن هذا الترتيب الوضع الصحيح للمنصة عند التحرك. يتم تثبيت MotorShield أعلى اللوحة التي تتصل بها المحركات.

منصة ثالثا . تثبيت ترويكا درع و اتصال أجهزة الاستشعار. يتم تثبيت "الدرع" التالي فوق الدرع السابق، مما يشكل نوعًا من "الساندويتش". يتم توصيل أجهزة استشعار الخط الرقمي بالدبابيس 8 و 9 للدرع

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

أرز. 4. تجميع متسابق الروبوت

تطوير خوارزمية سلوك الروبوت

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

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

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

أرز. 5. البحث عن اعتماد المسافة المقطوعة عند الرجوع للخلف في الوقت المحدد

أصبحت الأحكام المذكورة أعلاه الأساس لتطوير خوارزمية سلوك الروبوت المحسنة.

خاتمة

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

– يمكنك تجربة نظام الوزن وتحقيق التوازن المثالي.

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

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

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

الأدب:

  1. بلوم د. دراسة اردوينو. - سانت بطرسبرغ: بي إتش في- بطرسبورغ، 2015.
  2. Petin V. A. المشاريع باستخدام وحدة تحكم Arduino. - سانت بطرسبرغ: بي إتش في- بطرسبرغ، 2014.
  3. سومر دبليو. برمجة لوحات التحكم الدقيقة Arduino/Freeduino. - سانت بطرسبرغ: بي إتش في- بطرسبورغ، 2012.
  4. Terekhov S. A. محاضرات حول نظرية وتطبيقات الشبكات العصبية الاصطناعية. - سنيزينسك: VNIITF، 2003.
  5. واسرمان ف. تكنولوجيا الكمبيوتر العصبي: النظرية والتطبيق. - م: مير، 1992.
  6. أمبير. ويكي [مصدر إلكتروني].
  7. عنوان URL: http://wiki.amperka.ru/ (تاريخ الوصول: 3 أكتوبر 2015)
  8. بوابة المعلومات RoboCraft [مورد إلكتروني].
  9. عنوان URL: http://robocraft.ru/page/summary (تاريخ الوصول: 11/12/2015)
  10. بوابة المعلومات Arduino.ru [المورد الإلكتروني].
  11. عنوان URL: http://arduino.ru/ (تاريخ الوصول: 14 نوفمبر 2015)

الكلمات الدالة: الروبوتات، البرمجة، الذكاء الاصطناعي..

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

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

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

نحن نقدم لمحة بسيطة عن الروبوتات الجاهزة على لوحة Arduino.

آلة اردوينو يتم التحكم فيها عن طريق البلوتوث

التحكم بالسيارة عن طريق البلوتوث، بتكلفة أقل بقليل من 100 دولار. الموردة غير مجمعة. بالإضافة إلى العلبة والمحرك والعجلات وبطارية الليثيوم والشاحن، نحصل على لوحة Arduino UNO328 ووحدة التحكم في المحرك ومحول Bluetooth وجهاز التحكم عن بعد والمزيد.

فيديو يظهر هذا الروبوت وروبوت آخر:

وصف أكثر تفصيلاً للعبة وفرصة شرائها على الموقع الإلكتروني لمتجر DealExtreme عبر الإنترنت.

اردوينو السلحفاة روبوت

مجموعة تجميع السلاحف الروبوتيةتكلف حوالي 90 دولارا. الشيء الوحيد المفقود هو الغلاف، وكل شيء آخر ضروري لحياة هذا البطل متضمن: لوحة Arduino Uno، الماكينات، أجهزة الاستشعار، وحدات التتبع، جهاز استقبال الأشعة تحت الحمراء وجهاز التحكم عن بعد، البطارية.

يمكن شراء السلحفاة على موقع DealExtreme، ويوجد روبوت مماثل أرخص على Aliexpress.

اردوينو تتبع المركبات التي يتم التحكم فيها من الهاتف الخليوي

مركبة مجنزرة يتم التحكم بها عن طريق البلوتوث من الهاتف الخليوي، بتكلفة 94 دولارًا. بالإضافة إلى قاعدة المسار، نحصل على لوحة Arduino Uno ولوحة توسيع ولوحة Bluetooth وبطارية وشاحن.

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

سيارة اردوينو تسير عبر متاهات

قيادة السيارة عبر متاهات، بتكلفة 83 دولارًا. بالإضافة إلى المحركات ولوحة Arduino Uno وغيرها من العناصر الضرورية، فهي تحتوي على وحدات تتبع ووحدات تجنب العوائق.

روبوت جاهز أو إطار للروبوت

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

في أي مكان آخر يمكنك شراء الروبوتات الجاهزة؟

في المراجعة، اخترنا أرخص وأكثر إثارة للاهتمام، في رأينا، روبوتات Arduino الجاهزة من المتاجر الصينية عبر الإنترنت. إذا لم يكن لديك الوقت لانتظار الطرود من الصين، فهناك مجموعة كبيرة من الروبوتات الجاهزة في متاجر Amperka وDESSY عبر الإنترنت. يتم تقديم الأسعار المنخفضة والتسليم السريع من خلال متجر ROBstore عبر الإنترنت. قائمة المتاجر الموصى بها.

قد تكون مهتمًا أيضًا بمراجعتنا لمشاريع Arduino:


التدريب على الاردوينو

لا تعرف من أين تبدأ في تعلم الاردوينو؟ فكر فيما هو أقرب إليك - تجميع نماذجك البسيطة وتعقيدها تدريجيًا أو التعرف على حلول أكثر تعقيدًا ولكنها جاهزة؟