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

OAREE - طباعة ثلاثية الأبعاد - روبوت تجنب عقبة للتعليم الهندسي (OAREE) مع Arduino: 5 خطوات (بالصور)
OAREE - طباعة ثلاثية الأبعاد - روبوت تجنب عقبة للتعليم الهندسي (OAREE) مع Arduino: 5 خطوات (بالصور)

فيديو: OAREE - طباعة ثلاثية الأبعاد - روبوت تجنب عقبة للتعليم الهندسي (OAREE) مع Arduino: 5 خطوات (بالصور)

فيديو: OAREE - طباعة ثلاثية الأبعاد - روبوت تجنب عقبة للتعليم الهندسي (OAREE) مع Arduino: 5 خطوات (بالصور)
فيديو: أفضل طرق الغش في الامتحان 2024, يونيو
Anonim
Image
Image
OAREE - طباعة ثلاثية الأبعاد - روبوت تجنب عقبة للتعليم الهندسي (OAREE) مع Arduino
OAREE - طباعة ثلاثية الأبعاد - روبوت تجنب عقبة للتعليم الهندسي (OAREE) مع Arduino
OAREE - طباعة ثلاثية الأبعاد - روبوت تجنب عقبة للتعليم الهندسي (OAREE) مع Arduino
OAREE - طباعة ثلاثية الأبعاد - روبوت تجنب عقبة للتعليم الهندسي (OAREE) مع Arduino

OAREE (عقبة تجنب الروبوت للتعليم الهندسي)

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

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

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

اللوازم

  • 1x Arduino Uno -
  • 1x V5 Sensor Shield -
  • 1x 4xAA Battery Holder with On / Of Switch -
  • 1x SG90 Servo -
  • مضاعفات التدوير المستمر 2x -
  • كابل طاقة بطارية 1x 9 فولت لـ Arduino (اختياري) -
  • 1x HC-SR04 جهاز استشعار بالموجات فوق الصوتية -
  • 4x أسلاك توصيل أنثى أنثى -
  • 2x الأربطة المطاطية
  • بطارية 1 × 9 فولت (اختياري)
  • 4x بطاريات AA
  • 4x براغي صغيرة (4 × 1/2 أو أي شيء مشابه)
  • فيليبس مفك البراغي
  • غراء لتثبيت الأربطة المطاطية على العجلات

الخطوة 1: طباعة ثلاثية الأبعاد: الهيكل ، والعجلات ، والعجلة الرخامية ، ومسامير / صمولة 6 مم ، وحامل مستشعر بالموجات فوق الصوتية

طباعة ثلاثية الأبعاد: الهيكل ، والعجلات ، والعجلة الرخامية ، ومسامير / صمولة 6 مم ، وحامل مستشعر بالموجات فوق الصوتية
طباعة ثلاثية الأبعاد: الهيكل ، والعجلات ، والعجلة الرخامية ، ومسامير / صمولة 6 مم ، وحامل مستشعر بالموجات فوق الصوتية
طباعة ثلاثية الأبعاد: الهيكل ، والعجلات ، والعجلة الرخامية ، ومسامير / صمولة 6 مم ، وحامل مستشعر بالموجات فوق الصوتية
طباعة ثلاثية الأبعاد: الهيكل ، والعجلات ، والعجلة الرخامية ، ومسامير / صمولة 6 مم ، وحامل مستشعر بالموجات فوق الصوتية
طباعة ثلاثية الأبعاد: الهيكل ، والعجلات ، والعجلة الرخامية ، ومسامير / صمولة 6 مم ، وحامل مستشعر بالموجات فوق الصوتية
طباعة ثلاثية الأبعاد: الهيكل ، والعجلات ، والعجلة الرخامية ، ومسامير / صمولة 6 مم ، وحامل مستشعر بالموجات فوق الصوتية

هناك 5 أجزاء للطباعة ثلاثية الأبعاد.

  1. الجسم
  2. عجلات
  3. عجلات الرخام
  4. 6 مم بولت / صمولة (اختياري ، يمكن استبدال صمولة / مسمار معدني)
  5. جبل الاستشعار بالموجات فوق الصوتية

يتم تضمين جميع ملفات. STL المطلوبة في هذه التعليمات بالإضافة إلى ملفات Sketchup. يوصى بحشو 40٪.

الخطوة 2: برمجة Arduino

Image
Image
اجمع الروبوت
اجمع الروبوت

أرسل كود إلى Arduino UNO: باستخدام Arduino IDE ، أرسل الكود (في الملف المرفق) إلى وحدة Arduino الخاصة بك. ستحتاج إلى تنزيل مكتبات servo.h و newping.h وإدراجها في هذا الرسم التخطيطي.

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

// عقبة تجنب الروبوت // [email protected] ، [email protected] ، جامعة TN في Chattanooga ، الهندسة الكهربائية ، FALL 2019 // المواد المطلوبة: // 1) Arduiino UNO ، 2) Servo Sensor Shield v5.0 ، 3) مستشعر Ulrasonic HCSR04 ، 4) FS90 Servo (لمستشعر الموجات فوق الصوتية) // 5 و 6) 2x خدمة تدوير مستمرة للعجلات // 7) رخام 16 مم لمحور العجلة الخلفية ، 8 & 9) 2 شرائط مطاطية للعجلات // 10- 15) 1x (4xAA) حامل بطارية مع مفتاح تشغيل / إيقاف ، 16 و 17) بطارية 9V مع موصل لتشغيل Arduino UNO // 3D PRINT: // 18) ROBOT Body ، 19 & 20) 2x Wheels ، 21) Marble Caster ، 22) Ultrasonic Sensor جبل ، وبرغي 6 مم (انظر الملفات المرفقة) // -------------------------------------- -------------------------------------------------- ----------------------------------------- #include // Include Servo Library #include // Include Newping Library // ------------------------------------------- -------------------------------------------------- ------------------------------------ # تعريف TRIGGER_PIN 1 2 // US المشغل للدبوس 12 على Arduino #define ECHO_PIN 13 // US Echo to pin 13 on Arduino #define MAX_DISTANCE 250 // المسافة إلى ping (بحد أقصى 250) int مسافة = 100 ؛ // ------------------------------------------------ -------------------------------------------------- ------------------------------- أجهزة US_Servo ؛ // أجهزة الاستشعار بالموجات فوق الصوتية Left_Servo ؛ // يسار عجلة مضاعفات Right_Servo ؛ // Right Wheel Servo NewPing سونار (TRIGGER_PIN ، ECHO_PIN ، MAX_DISTANCE) ؛ // إعداد NewPing للدبابيس والمسافة القصوى. // ------------------------------------------------ -------------------------------------------------- ------------------------------- إعداد باطل () // INPUT / OUTPUTS ، حيث يتم إرفاقه ، قم بتعيين الوضع الأولي / الحركة {pinMode (12 ، الإخراج) ؛ // تعيين دبوس الزناد كإخراج pinMode (13 ، INPUT) ؛ // Echo pin set كمدخلات US_Servo.attach (11) ؛ // US Servo مضبوط على دبوس 11 US_Servo.write (90) ؛ // نظرة سيرفر أمريكية إلى الأمام

Left_Servo.attach (9) ، // مضاعفات العجلة اليسرى للدبوس 9

Left_Servo.write (90) ، // LEFT WHEEL SERVO مضبوط على STOP

Right_Servo.attach (10) ، // تم ضبط مؤازرة العجلة اليمنى على دبوس 10

Right_Servo.write (90) ، // RIGHT WHEEL SERVO مضبوط على إيقاف التأخير (2000) ؛ // انتظر مسافة ثانيتين = readPing () ؛ // احصل على مسافة بينغ بتأخير وضع مستقيم للأمام (100) ؛ // انتظر 100 مللي ثانية moveForward () ؛ // ROBOT MOVES FORWARD} // ------------------------------------------ -------------------------------------------------- ------------------------------------- حلقة فارغة () {int مسافة رايت = 0 ؛ // بدء المسافة الأمريكية إلى اليمين عند 0 int مسافة اليسار = 0 ؛ // بدء المسافة الأمريكية إلى اليسار عند 0 //US_Servo.write(90) ؛ // مركز أجهزة الولايات المتحدة // تأخير (50) ؛ // US_Servo.write (70) ؛ // انظر إلى اليمين قليلاً // تأخير (250) ؛ // US_Servo.write (110) ؛ // انظر قليلاً إلى اليسار // تأخير (250) ؛ // US_Servo.write (90) ؛ // مركز البحث

إذا كانت (مسافة <= 20) // الروبوت يتحرك للأمام {moveStop () ؛ // توقف الروبوت عند المسافة = مسافة اليسار) // حدد الاتجاه الذي تريد الانعطاف إليه {turnRight () ؛ // الجانب الأيمن لديه أكبر مسافة ، ROBOT TURNS RIGHT لـ 0.3 ثانية تأخير (500) ؛ // هذا التأخير يحدد طول الدوران moveStop () ؛ // Robot STOPS} else {turnLeft ()؛ // أكبر مسافة للجانب الأيسر ، ROBOT TURNS LEFT لتأخير 0.3 ثانية (500) ؛ // هذا التأخير يحدد طول الدوران moveStop () ؛ // Robot STOPS}} else {moveForward ()؛ // Robot MOVES FORWARD} مسافة = readPing () ؛ // US تقرأ PING الجديد للاتجاه الجديد للسفر} // ----------------------------------- -------------------------------------------------- -------------------------------------------- int lookRight () // وظيفة استشعار بالموجات فوق الصوتية تبدو مناسبة {US_Servo.write (30) ؛ // مؤازر الولايات المتحدة ينقل الحق في تأخير الزاوية (500) ؛ مسافة int = readPing () ؛ // تعيين قيمة ping للتأخير الصحيح (100) ؛ US_Servo.write (90) ، // تتحرك أجهزة الولايات المتحدة إلى مركز مسافة العودة ؛ // تم تعيين المسافة} // ------------------------------------------ -------------------------------------------------- ------------------------------------- int lookLeft () // مستشعر Ultrasonic LOOK LEFT FUNCTION {US_Servo.write (150) ؛ // مؤازر أمريكي يتحرك من اليسار إلى زاوية تأخير (500) ؛ مسافة int = readPing () ؛ // تعيين قيمة ping للتأخير الأيسر (100) ؛ US_Servo.write (90) ، // تتحرك أجهزة الولايات المتحدة إلى مركز مسافة العودة ؛ // تم تعيين المسافة} // ------------------------------------------ -------------------------------------------------- ------------------------------------- int readPing () // قراءة وظيفة Ping لمستشعر الموجات فوق الصوتية. {تأخير (100) ؛ // 100 مللي ثانية بين pings (min ping time = 0.29ms) int cm = sonar.ping_cm () ؛ // يتم تجميع مسافة PING وتعيينها بالسنتيمتر إذا (سم == 0) {سم = 250 ؛ } عودة سم؛ } // ----------------------------------------------- -------------------------------------------------- -------------------------------- void moveStop () // ROBOT STOP {Left_Servo.write (90)؛ // LeftServo 180 للأمام ، 0 للخلف Right_Servo.write (90) ؛ // RightServo 0 forward، 180 reverse} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveForward () // ROBOT FORWARD {Left_Servo.write (180) ؛ // LeftServo 180 للأمام ، 0 للخلف Right_Servo.write (0) ؛ // RightServo 0 forward، 180 reverse} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveBackward () // ROBOT BACKWARD {Left_Servo.write (0) ؛ // LeftServo 180 للأمام ، 0 للخلف Right_Servo.write (180) ؛ // RightServo 0 forward، 180 reverse} // --------------------------------------- -------------------------------------------------- ---------------------------------------- باطل turnRight () // ROBOT RIGHT {Left_Servo.write (180) ؛ // LeftServo 180 للأمام ، 0 للخلف Right_Servo.write (90) ؛ // RightServo 0 forward، 180 reverse} // --------------------------------------- -------------------------------------------------- ---------------------------------------- باطل انعطف لليسار () // روبوت يسار {يسار_سيرفو.write (90) ؛ // LeftServo 180 للأمام ، 0 للخلف Right_Servo.write (0) ؛ // RightServo 0 forward، 180 reverse} // --------------------------------------- -------------------------------------------------- ----------------------------------------

الخطوة الثالثة: قم بتجميع الروبوت

Image
Image
اجمع الروبوت
اجمع الروبوت
اجمع الروبوت
اجمع الروبوت

حان الوقت الآن لتجميع الروبوت الخاص بك. الخطوات مذكورة أدناه.

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

2) مرفق العجلات الرخامية: استخدم برغيين صغيرين لربط العجلة الرخامية بالمثلثين الموجودين في الخلف. العجلة الرخامية هي بديل بسيط للعجلة الخلفية وتوفر نقطة محورية خلفية.

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

4) وضع بطارية 9 فولت (اختياري): ضع بطارية 9 فولت + موصل طاقة اردوينو خلف المؤازرة الأمامية.

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

6) 4x علبة بطارية AA: ضع علبة بطارية AA في المنطقة المستطيلة الكبيرة ، بحيث يكون مفتاح التشغيل / الإيقاف متجهًا نحو الخلف.

7) Arduino Uno + V5 Sensor Shield: قم بتوصيل الدرع بـ Arduino وضعه على الحوامل فوق علبة البطارية. يجب أن يكون موصل الطاقة متجهًا إلى اليسار.

تم بناء الروبوت الخاص بك! ماذا تبقى؟ برمجة Arduino وتوصيل أسلاك التوصيل: أجهزة الاستشعار بالموجات فوق الصوتية ومزود الطاقة.

الخطوة 4: قم بتوصيل أسلاك الاستشعار

Image
Image
تم الانتهاء من!!! قم بتوصيل مصدر طاقة Arduino 9 فولت ، وقم بتشغيل حزمة البطارية ، وابدأ في تجنب العقبات باستخدام OAREE
تم الانتهاء من!!! قم بتوصيل مصدر طاقة Arduino 9 فولت ، وقم بتشغيل حزمة البطارية ، وابدأ في تجنب العقبات باستخدام OAREE

قم بتوصيل أسلاك المؤازرة بـ V5 Shield:

  1. مؤازر الدوران المستمر الأيسر يعلق على رقم التعريف الشخصي 9
  2. يتم إرفاق مضاعفات الدوران المستمر لليمين بـ PIN 10
  3. يتم إرفاق Front FS90 Servo برقم التعريف الشخصي 11

قم بتوصيل دبابيس المستشعر بالموجات فوق الصوتية (عبر 4x أنثى بأسلاك توصيل أنثى) بـ V5 Shield:

  1. الزناد إلى رقم التعريف الشخصي 12
  2. صدى لرقم التعريف الشخصي 13
  3. VCC إلى أي من المسامير المميزة بعلامة "V"
  4. ضع الأرض على أي من المسامير التي تحمل علامة "G"

قم بتوصيل علبة بطارية AA بجهاز V5 Shield:

  1. قم بتوصيل السلك الأحمر الموجب بموصل VCC
  2. قم بتوصيل السلك الأسود السالب بالاتصال الأرضي

الخطوة 5: انتهى !!! قم بتوصيل مصدر طاقة Arduino 9 فولت ، وقم بتشغيل حزمة البطارية ، وابدأ في تجنب العقبات باستخدام OAREE

Image
Image
تم الانتهاء من!!! قم بتوصيل مصدر طاقة Arduino 9 فولت ، وقم بتشغيل حزمة البطارية ، وابدأ في تجنب العقبات باستخدام OAREE
تم الانتهاء من!!! قم بتوصيل مصدر طاقة Arduino 9 فولت ، وقم بتشغيل حزمة البطارية ، وابدأ في تجنب العقبات باستخدام OAREE

تم الانتهاء من!

1) قم بتوصيل مصدر طاقة Arduino 9V (اختياري)

2) قم بتشغيل حزمة البطارية

3) ابدأ في تجنب العقبات مع OAREE !!!

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

مسابقة الروبوتات
مسابقة الروبوتات
مسابقة الروبوتات
مسابقة الروبوتات

الوصيف في مسابقة الروبوتات

موصى به: