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

الروبوت المؤازر المتحكم فيه من Arduino (SERB): 7 خطوات (بالصور)
الروبوت المؤازر المتحكم فيه من Arduino (SERB): 7 خطوات (بالصور)

فيديو: الروبوت المؤازر المتحكم فيه من Arduino (SERB): 7 خطوات (بالصور)

فيديو: الروبوت المؤازر المتحكم فيه من Arduino (SERB): 7 خطوات (بالصور)
فيديو: Mini Robot Arm (With Arduino Code) 2024, يوليو
Anonim
روبوت أجهزة تحكم اردوينو (SERB)
روبوت أجهزة تحكم اردوينو (SERB)
روبوت أجهزة تحكم اردوينو (SERB)
روبوت أجهزة تحكم اردوينو (SERB)
روبوت أجهزة تحكم اردوينو (SERB)
روبوت أجهزة تحكم اردوينو (SERB)
الروبوت المؤازر المتحكم فيه من Arduino (SERB)
الروبوت المؤازر المتحكم فيه من Arduino (SERB)

ما هي أفضل طريقة لبدء تجربة وحدات التحكم الصغيرة مفتوحة المصدر (Arduino) ثم من خلال بناء روبوت مفتوح المصدر خاص بك (CC (SA -BY))؟

  • (هنا) - كيفية توصيل SERB بالإنترنت وقيادته عبر مكالمة فيديو Skype.
  • (هنا) - كيفية التحكم في SERB باستخدام مقاييس التسارع الخاصة بـ Wii nunchuck
  • (هنا) - كيفية إضافة شعيرات اكتشاف العوائق إلى الروبوت الخاص بك
  • (هنا) - كيف تصنع 30 مجموعة (تصنيع مفتوح)

سمات:

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

(قابس وقح) في المملكة المتحدة ومثل الاشياء اردوينو؟ تحقق من متجر الويب الذي تم افتتاحه حديثًا oomlout.co.uk مقطع فيديو سريع لروبوت مؤازر متحكم فيه من Arduino - (SERB) يقوم بتشغيل برنامج الاختبار المضمن (الخطوة 6) ملاحظة: ملفات المصدر متاحة على التوازي Instructable (Source Files For) - كيفية صنع روبوت مؤازر يتحكم فيه الأردوينو - (SERB)

الخطوة 1: الأجزاء والأدوات

قطع غيار وأدوات
قطع غيار وأدوات

يمكن العثور على جميع البراغي في Home Depot المحلي. يمكن العثور على الأجزاء الأخرى عبر الإنترنت (لقد قمت بتضمين رابط لمصدري المفضل لكل منها) قائمة الأجزاء: حزمة تحتوي على جميع عناصر الأجهزة يمكن شراؤها من متجر oomlout.com (هنا) (120 دولارًا) صواميل ومسامير:

  • برغي 3 مم × 15 مم (× 20)
  • برغي 3 مم × 10 مم (× 12)
  • صامولة 3 مم (× 34)
  • غسالة 3 مم (× 12)
  • برغي 8 مم × 25 مم (× 2)
  • صامولة 8 مم (× 2)
  • محامل تزلج (x2) (VXB) (هذه محامل تزلج قياسية بحيث يمكن إنقاذها من زوج من الشفرات الدوارة أو لوح تزلج)

الإطارات

  • حلقة O كبيرة (4.5 "ID 3/16" حبة داش # 349) (x2) (McMaster-Carr Product # 9452K407)
  • حلقة O صغيرة (3/4 "ID 3/16" حبة شرطة رقم 314) (x1) (منتج McMaster-Carr # 9452K387)

إلكترونيات

  • Arduino Duemilanove (x1) (Maker Shed)
  • مضاعفات الدوران المستمر (x2) (المنظر)
  • 400 Contact Breadboard (x1) (جميع الإلكترونيات))
  • صندوق بطارية رباعي AA (x1) (جميع الإلكترونيات)
  • مشبك بطارية 9 فولت (× 1) (جميع الإلكترونيات)
  • قابس 2.1 مم (× 1) (جميع الإلكترونيات)
  • رأس 3 سنون (x2) (جميع الإلكترونيات)
  • كبل USB A-B - نمط الطابعة (x1) (جميع الإلكترونيات) (غير مضمن في المجموعة)

البطاريات:

  • بطارية AA (x4) (غير مدرجة في المجموعة)
  • بطارية 9 فولت (× 1) (غير مدرجة في المجموعة)

الأسلاك: (كل الأسلاك 22 AWG صلبة أنا أشتريها من خلال McMaster-Carr)

  • 15 سم بنفسجي (x2)
  • 15 سم أسود (x1)
  • 5 سم أسود (x2)
  • 5 سم أحمر (× 2)

أدوات

  • مفك براغي (x1) (فيليبس)
  • كماشة إبرة الأنف (x1)

الخطوة الثانية: قطع القطع

قطع القطع
قطع القطع
قطع القطع
قطع القطع
قطع القطع
قطع القطع
قطع القطع
قطع القطع

يرجى اختيار الخطوات التي يجب اتباعها بناءً على خيار القطع الذي اخترته. الخيار 1 (شراء الأجزاء المقطوعة مسبقًا)

شراء هيكل مقطوع مسبقًا من متجر oomlout.com (هنا) (60 دولارًا شاملاً الشحن إلى الولايات المتحدة الأمريكية وكندا)

الخيار 2 (التصنيع الرقمي (مثل Ponoko) / الوصول إلى آلة القطع بالليزر)

  • قم بتنزيل تخطيط قاطع الليزر ("03 SERB Ponoko Cutting Layout P2.eps" أو "03- (SERB) -Ponoko Cutting Layout (P2).cdr")
  • قص الملفات باستخدام Ponoko أو باستخدام Laser Cutter الخاص بك (باستخدام 3 مم ،.118 "أكريليك (تباع أحيانًا كـ 125.")

الخيار 3 (منشار التمرير والحفر)

  • قم بتنزيل وطباعة نموذج PDF (يرجى اختيار الملف المقابل لحجم الورق الخاص بك) 03- (SERB) -نموذج التمرير (حرف). pdf 03- (SERB) -نموذج التمرير (A4).pdf (من المهم عدم القياس الرسم أثناء الطباعة)
  • قم بقياس المسطرة الموجودة على النسخة المطبوعة مقابل مسطرة تثق بها ، إذا لم تتطابق مع النمط الذي تم تحجيمه وتحتاج إلى إلقاء نظرة على إعدادات الطابعة قبل إعادة الطباعة. إذا كانا يتطابقان ، فصاعدًا.
  • الصق النموذج على لوح الأكريليك (3 مم ،.118 "(يُباع أحيانًا كـ 125").
  • حفر الثقوب.
  • قطع القطع باستخدام منشار التمرير

الخطوة 3: التجميع

المجسم
المجسم
المجسم
المجسم
المجسم
المجسم

تهانينا على إكمال 90٪ من العملية حتى الآن ، ما عليك سوى تنزيل إرشادات التجميع في هذه الخطوة (04- (SERB) -Assembly Guide.pdf) وبعد تجميع أسلوب lego / ميكانيكي صغير ، ستكون جاهزًا للتوصيل. للترفيه عنك على طول الطريق هنا هو فاصل زمني لمجموعتي:

الخطوة 4: الأسلاك

الأسلاك
الأسلاك
الأسلاك
الأسلاك

مع كل القطع الكبيرة معًا ، حان الوقت لإضافة الأوردة الكهربائية الصغيرة التي ستتيح التحكم في روبوتنا. للقيام بذلك ، قم بتنزيل وطباعة مخطط الأسلاك (05- (SERB) -Wiring Diagram.pdf). قد تبدو النظرة الأولى على هذا الأمر شاقًا للغاية ، ولكن إذا أجريت كل اتصال بشكل متسلسل واستغرقت وقتًا طويلاً ، فإنها تتجمع بسرعة ملحوظة. الأسلاك بسيطة للغاية ولا يمكن أن يلحق أي ضرر بدائرتك حتى تضيف البطاريات. لذا قم بتوصيل كل شيء مرتين ، ثم قم بإضافة الطاقة.

الخطوة 5: الاختبار واستكشاف الأخطاء وإصلاحها

الاختبار واستكشاف الأخطاء وإصلاحها
الاختبار واستكشاف الأخطاء وإصلاحها

إذا طلبت مجموعة ، فإن Arduino الخاص بك يأتي محملاً مسبقًا ببرنامج اختبار. فقط ضع 4 بطاريات AA وقم بتوصيل بطارية 9 فولت في Arduino. وإذا تم تنفيذ كل شيء بشكل صحيح ، فسيبدأ الروبوت في التحرك (سوف يدور في اتجاه عشوائي لفترة تتراوح بين 0.1 و 1 ثانية قبل المضي قدمًا لفترة عشوائية بين ثانية واحدة وثانيتين ثم توقف لمدة ثانيتين قبل البدء مرة أخرى). إذا لم تكن قد اشتريت مجموعة ، فسيلزم اتخاذ خطوة إضافية. قم بتنزيل الملف المضغوط المرفق (07- (SERB) - SERB-Test Arduino Program.zip). ثم قم بفك ضغطه في دليل رسم Arduino (الافتراضي "my Documents / Arduino \") وقم بتنزيله على لوحة Arduino. (إذا كنت جديدًا في Arduino ، فانتقل خطوة واحدة إلى الأمام حيث توجد روابط لبرامج تعليمية رائعة للبدء) المشكلات الشائعة: يتحرك My SERB ببطء عندما يجب إيقافه. هذا نتيجة لعدم معايرة الماكينات الخاصة بك بشكل صحيح تمامًا ، لمعايرة الماكينات الخاصة بك ، انتظر حتى يتوقف برنامجك عن الماكينات ، ثم باستخدام مفك براغي صغير ، أدر مقياس الجهد داخل المؤازرة (الفتحة الصغيرة في غلاف المؤازرة أعلى المكان الذي توجد فيه الأسلاك). قم بتدويرها إلى اليسار أو اليمين حتى يتم إيقاف المؤازرة حقًا. الأمور لا تعمل بشكل صحيح. أرسل إلينا بريدًا إلكترونيًا يحتوي على الأعراض الخاصة بك وسنحاول مساعدتك ، أثناء انتظار الرد ، تحقق جيدًا من جميع الأسلاك الخاصة بك باستخدام مخطط الأسلاك من الخطوة 4. إذا واجهت أي مشكلة ، فيرجى إضافة تعليق إما إلى هذا Instructable أو أرسل بريدًا إلكترونيًا إلى [email protected] وسنبذل قصارى جهدنا لمساعدتك في الحصول على عمل SERB الخاص بك

الخطوة السادسة: البرمجة

برمجة
برمجة

انتهى وقت الروبوت المادي لبدء إعطائه دماغًا. قبل أن ندخل في تفاصيل برمجة Arduino Controled Servo Robot - (SERB) - بعض الروابط لبعض موارد برمجة Arduino الممتازة على الإنترنت. لمساعدتك في البدء مع Arduinos ، من تنزيل بيئة البرمجة إلى كتابة برنامجك الأول. مرجع برمجة Arduino - دليل مرجعي كامل سهل للغة برمجة Arduino. كيف تعمل الماكينات - دليل سريع لكيفية عمل محركات المؤازرة. - كيف تعمل مكتبة Arduino Servo (كيف نتحكم في الماكينات الخاصة بنا). حسنًا مع التعلم بعيدًا عن الطريق يتيح الحصول على البرمجة. هناك ثلاث طرق لبدء برمجة روبوت Arduino Controlled Servo Robot الخاص بك - (SERB) الخيار الأول: (تعديل SERB_Test.pde) في بعض الأحيان عند البرمجة ، يكون أسهل شيء يمكنك القيام به هو استخدام برنامج يعمل والبدء في إضافة الكود الخاص بك إليه. للقيام بذلك ، قم بتنزيل SERB_Test برنامج مضغوط (07- (SERB) - SERB-Test Arduino Program.zip). تابع لفك ضغط هذا في مجلد رسم Arduino (الافتراضي "My Documents / Arduino \"). أخيرًا ، افتح بيئة برمجة Arduino وقم بتنزيلها على Arduino. تم التعليق جيدًا على الكود. (أو انسخ والصق الكود من الملحق في هذه الخطوة إلى رسم Arduino جديد) الخيار 2: (إضافة SERB Routines إلى برنامجك) أضف بعض الإجراءات البسيطة إلى برنامجك الموجود مسبقًا (مثل goForward () ، setSpeed (int) وما إلى ذلك). للقيام بذلك ، قم بتنزيل الإجراءات في ملف نصي (07- (SERB) - إجراءات بسيطة Text.txt). 1. انسخ والصق جزء التمهيد في بداية البرنامج. انسخ والصق الجزء الروتيني في جسم البرنامج. إضافة استدعاء إلى serbSetup () ؛ إلى روتين الإعداد الخاص بك. الخيار 3: (إنشاء برنامجك الخاص من البداية) هذا ليس صعبًا للغاية. كل ما هو مطلوب هو التعرف على مكتبة Arduino Servo. ثم يتم توصيل المؤازرة اليمنى بالرقم 9 ، والمؤازرة اليسرى برقم 10.ملاحظة: ستتم إضافة برامج إضافية هنا أثناء تطويرها ؛ أو إذا قمت بتطوير شيء ما وترغب في عرضه أرسل لي رسالة خاصة ويمكن إضافته. (SERB_Test.pde Code)

/ * * Arduino Controlled Servo Robot (SERB) - برنامج الاختبار * لمزيد من التفاصيل ، تفضل بزيارة: https://www.oomlout.com/serb * * السلوك: برنامج اختبار بسيط يتسبب في دوران SERB * بشكل عشوائي إما لليسار أو لليمين * لفترة زمنية عشوائية بين 0.1 و 1 ثانية. * سيتقدم SERB بعد ذلك لفترة زمنية عشوائية * بين ثانية واحدة وثانيتين. أخيرًا * الإيقاف المؤقت لمدة ثانيتين قبل البدء مرة أخرى. * * الأسلاك: إشارة المؤازرة اليمنى - رقم التعريف الشخصي 9 * إشارة المؤازرة اليسرى - رقم التعريف الشخصي 10 * * الترخيص: هذا العمل مرخص بموجب المشاع الإبداعي * الإسناد - المشاركة على حد سواء 3.0 رخصة غير محمولة. * لعرض نسخة من هذا الترخيص ، تفضل بزيارة * https://creativecommons.org/licenses/by-sa/3.0/ * أو أرسل رسالة إلى المشاع الإبداعي ، 171 Second * Street ، Suite 300 ، سان فرانسيسكو ، كاليفورنيا 94105 ، * الولايات المتحدة الأمريكية. * * / // --------------------------------------------- ----------------------------- // بدء تشغيل الروبوت المؤازر الذي يتحكم فيه أردوينو (SERB) # يتضمن #define LEFTSERVOPIN 10 #define RIGHTSERVOPIN 9Servo leftServo؛ مؤازرة صحيحة سرعة int = 100 ؛ // يعين سرعة الروبوت (كلا الماكينات) // نسبة مئوية بين 0 و 100 // نهاية روبوت ARDUINO المتحكم فيه (SERB) PREAMBLE // ---------------- -------------------------------------------------- -------- / * * يعين المسامير على الحالات المناسبة ويربط الماكينات. ثم يتوقف مؤقتًا * لمدة ثانية واحدة قبل بدء البرنامج * / void setup () {serbSetup ()؛ // يعين حالة جميع المسامير الضرورية ويضيف الماكينات إلى مخططك العشوائي العشوائي (analogRead (0)) ؛ // يعين بذرة الرقم العشوائي مع // شيء تأخير عشوائي معتدل (1000) ؛} / * * يدير الروبوت إما يسارًا أو يمينًا (عشوائيًا) لفترة تتراوح بين * 0.1 و 1 ثانية. قبل المضي قدمًا لفترة زمنية عشوائية * بين 1 و 4 ثوانٍ. قبل التوقف لمدة ثانيتين ثم البدء * مرة أخرى. * / حلقة باطلة () {turnRandom (100 ، 1000) ؛ // يستدير بشكل عشوائي لليسار أو لليمين لمدة // فترة زمنية عشوائية بين.1 ثانية // وثانية واحدة goForwardRandom (1000 ، 2000) ؛ // يتقدم لفترة زمنية عشوائية // بين // 1 و 2 ثانية goStop () ؛ // يوقف تأخير الروبوت (2000) ؛ // توقف مؤقتًا لمدة ثانيتين (أثناء التوقف)} / * * يدير الروبوت بشكل عشوائي إلى اليسار أو اليمين لفترة زمنية عشوائية بين * minTime (مللي ثانية) و maxTime (مللي ثانية) * / دوران باطل عشوائي (int minTime ، int maxTime) {int الاختيار = عشوائي (2) ؛ // رقم عشوائي لتحديده // بين اليسار (1) واليمين (0) int turnTime = عشوائي (minTime ، maxTime) ؛ // Random number for the pause // time if (choice == 1) {goLeft ()؛} // إذا كان الرقم العشوائي = 1 ثم استدر // يسارًا {goRight ()؛} // إذا كان الرقم العشوائي = 0 إذن انعطف // التأخير الصحيح (وقت التسليم) ؛ // تأخير للوقت العشوائي} / * * يتقدم لفترة زمنية عشوائية بين minTime (مللي ثانية) * و maxTime (مللي ثانية) * / باطل goForwardRandom (int minTime ، int maxTime) {int forwardTime = random (minTime، maxTime)؛ // تحديد وقت عشوائي // للمضي قدمًا goForward () ؛ // يعين تأخير SERB إلى الأمام (forwardTime) ؛ // تأخيرات لفترة زمنية عشوائية} // ---------------------------------------- -------------------------------- // START OF ARDUINO CONTROLLED SERVO ROBOT (SERB) ROUTINES / * * إعداد اردوينو لمعالجة SERB الخاص بك باستخدام الإجراءات المضمنة * / void serbSetup () {setSpeed (speed) ؛ pinMode (LEFTSERVOPIN ، الإخراج) ؛ // يعين دبوس إشارة المؤازرة الأيسر // لإخراج pinMode (RIGHTSERVOPIN ، الإخراج) ؛ // يعين دبوس إشارة المؤازرة الأيمن // لإخراج leftServo.attach (LEFTSERVOPIN) ؛ // يعلق المؤازرة اليسرى rightServo.attach (RIGHTSERVOPIN) ؛ // يعلق المؤازرة الصحيحة goStop () ؛} / * * يضبط سرعة الروبوت بين 0- (توقف) و 100- (السرعة الكاملة) * ملاحظة: السرعة لن تغير السرعة الحالية يجب عليك تغيير السرعة * ثم اتصل بأحد من طرق go قبل حدوث التغييرات. * / void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100؛} // إذا كانت السرعة أكبر من 100 // اجعلها 100 if (newSpeed <= 0) {newSpeed = 0؛} // إذا كانت السرعة أقل من 0 اجعلها 0 speed = newSpeed * 0.9؛ // يقيس السرعة لتكون // بين 0 و 90} / * * يرسل الروبوت إلى الأمام * / void goForward () {leftServo.write (90 + speed) ؛ rightServo.write (90 - speed)؛} / * * يرسل الروبوت للخلف * / void goBackward () {leftServo.write (90 - speed) ؛ rightServo.write (90 + speed) ؛} / * * يرسل الروبوت إلى اليمين * / void goRight () {leftServo.write (90 + speed) ؛ rightServo.write (90 + speed) ؛} / * * يرسل الروبوت يسارًا * / باطل goLeft () {leftServo.write (90 - speed) ؛ rightServo.write (90 - speed) ؛} / * * يوقف الروبوت * / void goStop () {leftServo.write (90) ؛ rightServo.write (90) ؛} // روبوت ARDUINO الخاضع للتحكم (SERB) // ---------------------------- -----------------------------------------------

الخطوة 7: انتهى الآخرون الذين أنهوا والمستقبل

انتهى الآخرون الذين أنهوا والمستقبل
انتهى الآخرون الذين أنهوا والمستقبل
انتهى الآخرون الذين أنهوا والمستقبل
انتهى الآخرون الذين أنهوا والمستقبل
انتهى الآخرون الذين أنهوا والمستقبل
انتهى الآخرون الذين أنهوا والمستقبل
انتهى الآخرون الذين أنهوا والمستقبل
انتهى الآخرون الذين أنهوا والمستقبل

تهانينا على الوصول إلى هذا الحد ، وآمل أن تستمتع بوقتك مع الروبوت المؤازر المتحكم في Arduino - (SERB). وجد مايكل بيك SERB -Michael خطط SERB في Thingiverse.com وقام بقصه من الأكريليك الأصفر والأحمر. أعتقد أنه يبدو رائعًا. مايك (SERB - Mike) من نادي الروبوتات في منطقة سانت لويس ROBOMO) قام بعمل قطع ليزر لهيكل SERB ، واستخدم خبرته الروبوتية في إعداده وتشغيله. أعتقد أنه يبدو رائعًا باللون الأزرق. (راجع موقع الويب الخاص به للحصول على تفاصيل حول هذا بالإضافة إلى الروبوتات الأخرى الخاصة به (هنا) سيحتوي هذا القسم على تفاصيل حول التطورات المستقبلية والمرفقات (سيتم عرضها هنا قبل توثيقها بشكل صحيح). ولكني أود أيضًا عرض الصور إذا كنت قد انتهيت من إرسال رسالة خاصة إليّ بها صورة وبضع كلمات (سواء كان وصفًا أو رابطًا لموقعك على الويب) وسأضيفها هنا (Shameless Plug) إذا كنت قد أحببت قم بزيارة موقع oomlout.com للتعرف على مشاريع مفتوحة المصدر ممتعة أخرى.

الجائزة الأولى في مسابقة SANYO eneloop تعمل بالبطارية

موصى به: