نهائي أوتو دي كلاس: 4 خطوات
نهائي أوتو دي كلاس: 4 خطوات
Anonim
نهائي أوتو دي كلاس
نهائي أوتو دي كلاس

هذا المشروع كان ممكنا من قبل كلية أوتو وأثينا التقنية.

للبدء ، يجب عليك أولاً شراء المجموعة من:

ثم اتبع الخطوات على:

الخطوة 1: الخطوة الأولى: تجميع الروبوت من التعليمات

الخطوة الأولى: تجميع الروبوت من التعليمات
الخطوة الأولى: تجميع الروبوت من التعليمات
الخطوة الأولى: تجميع الروبوت من التعليمات
الخطوة الأولى: تجميع الروبوت من التعليمات

wikifactory.com/+OttoDIY/otto-diy

هذا الموقع هو المكان الذي ستجد فيه تعليمات التجميع والرمز لروبوت Otto الخاص بك.

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

تم تركيب مكبر الصوت الخاص بي في المقدمة لسهولة السمع وسيف متصل بالجانب الأيمن للزينة.

الخطوة 2: الخطوة الثانية: التوصيل والكود

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

بعد تجميع الروبوت الخاص بك ، قم بتحميل Arduino IDE على جهاز الكمبيوتر الخاص بك وقم بتوصيل الروبوت الخاص بك.

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

سيسمح لك ذلك باستخدام الكود الذي قدمه لك Otto.

الخطوة 3: الخطوة الثالثة: إنهاء الترميز

الخطوة الثالثة: إنهاء الترميز
الخطوة الثالثة: إنهاء الترميز

بمجرد استخراج مكتباتك ، ستحتاج إلى الانتقال إلى Arduino IDE والتأكد من تحديث محمل الإقلاع.

اضبط اللوحة الخاصة بك على Arduino Nano ، ومعالجك على ATmega328P (أداة تحميل التشغيل القديمة) ، و COM الخاص بك إلى أي منفذ قمت بتوصيل الروبوت به.

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

الخطوة 4: الخطوة الرابعة: شاهد

شاهد حركات الروبوت المريضة وصوت الغناء المنشط.

اعتمادًا على الكود الذي استخدمته ، يمكنك جعل الروبوت يغني أو يرقص أو يتجنب العوائق.

تمت كتابة هذا المشروع برمز التجنب:

// ------------------------------------------------ -------------------------------------------------- -------------------------------------------------- ----------------- // رسم عينة Otto_avoid // -------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------- // - الإصدار 9 من البرنامج الثابت لتطبيق Otto DIY PLUS (V9) // - Otto DIY تستثمر الوقت والموارد لتوفير كود مفتوح المصدر والأجهزة ، يرجى الدعم عن طريق شراء مجموعات من (https://www.ottodiy.com) // ------------ -------------------------------------------------- --- // - إذا كنت ترغب في استخدام هذا البرنامج بموجب ترخيص مفتوح المصدر ، فيجب عليك المساهمة بكل كود المصدر الخاص بك في المجتمع ويجب تضمين كل النص أعلاه في أي إعادة توزيع // - وفقًا لإصدار GPL 2 عندما يتم توزيع التطبيق الخاص بك. انظر https://www.gnu.org/copyleft/gpl.html // -------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------- #include // - Otto Library version 9 Otto9 Otto؛ // هذا أوتو!

//---------------------------------------------------------

// - الخطوة الأولى: قم بتكوين المسامير حيث يتم إرفاق الماكينات / * --------------- | يا يا | | --------------- | 3 ريال ==> | | ----- ------ <== RL 4 | ----- ------ | * / // أرقام PIN SERVO //////////////////////////////////////////////// /////////////////////////////////// #define PIN_YL 2 // servo [0] الساق اليسرى # تعريف PIN_YR 3 // servo [1] الساق اليمنى # تعريف PIN_RL 4 // servo [2] القدم اليسرى # تعريف PIN_RR 5 // servo [3] القدم اليمنى // ULTRASONIC PINs ////////////// ////////////////////////////////////////////////////// ///////// #define PIN_Trigger 8 // TRIGGER pin (8) #define PIN_Echo 9 // ECHO pin (9) // BUZZER PIN /////////////// ////////////////////////////////////////////////////// ///////////// #define PIN_Buzzer 13 // BUZZER pin (13) // SERVO ASSEMBLY PIN /////////////////////// //////////////////////////////////////////////////// // للمساعدة في تجميع أقدام أوتو وأرجلها - رابط سلكي بين الدبوس 7 و GND # تعريف PIN_ASSEMBLY 7 // ASSEMBLY pin (7) LOW = التجميع HIGH = التشغيل العادي ///////////////// ////////////////////////////////////////////////////// //-- المتغيرات العالمية -------------------------------------------/ / ///////////////////////////////////////////////////// //////////////////// مسافة كثافة العمليات // متغير لتخزين مسافة القراءة من عقبة وحدة البحث عن النطاق بالموجات فوق الصوتية التي تم اكتشافها = خطأ ؛ // الحالة المنطقية عند اكتشاف الكائن على المسافة التي حددناها //////////////////////////////////////// /////////////////////////////// //-- اقامة -------------- ---------------------------------------- // //////// ////////////////////////////////////////////////////// ///////// void setup () {Otto.init (PIN_YL، PIN_YR، PIN_RL، PIN_RR، true، A6، PIN_Buzzer، PIN_Trigger، PIN_Echo) ؛ // اضبط دبابيس المؤازرة ودبابيس الموجات فوق الصوتية ووضع دبوس الطنان (PIN_ASSEMBLY ، INPUT_PULLUP) ؛ // - دبوس التجميع السهل - LOW هو وضع التجميع // Otto wake up! Otto.sing (S_connection) ؛ // أوتو يصدر صوتًا Otto.home () ؛ // ينتقل أوتو إلى تأخير موضعه الجاهز (500) ؛ // انتظر 500 مللي ثانية للسماح لـ Otto بالتوقف // إذا كان Pin 7 منخفضًا ، فضع أجهزة OTTO في الوضع المنزلي لتمكين التجميع السهل ، // عند الانتهاء من تجميع Otto ، قم بإزالة الرابط بين الدبوس 7 و GND أثناء (قراءة رقمية (PIN_ASSEMBLY) == LOW) {Otto.home ()؛ // ينتقل Otto إلى موقعها الجاهز Otto.sing (S_happy_short)؛ // يغني كل 5 ثوانٍ حتى نعرف أن OTTO لا يزال يعمل تأخيرًا (5000) ؛ // انتظر 5 ثوان}

}

////////////////////////////////////////////////////// ///////////////// // - الحلقة الرئيسية --------------------------- ------------------ // //////////////////////////////// ///////////////////////////////////// void loop () {if (blockleDetected) {// if يوجد جسم أقرب من 15 سم ثم نقوم بعمل Otto.sing التالي (S_surprise) ؛ // صوت مفاجأة Otto.jump (5 ، 500) ؛ // يقفز Otto إلى Otto.sing (S_cuddly) ؛ // sound a // يأخذ Otto ثلاث خطوات للخلف لـ (int i = 0؛ i <3؛ i ++) Otto.walk (1، 1300، -1)؛ // كرر ثلاث مرات تأخير أمر المشي (500) ؛ // تأخير صغير 1/2 ثانية للسماح لأوتو بالاستقرار // يتحول أوتو إلى اليسار 3 خطوات لـ (int i = 0 ؛ i <3 ؛ i ++) {// كرر ثلاث مرات Otto.turn (1 ، 1000 ، 1) ؛ // تأخير أمر المشي لليسار (500) ؛ // تأخير صغير 1/2 ثانية للسماح لأوتو بالتسوية}} آخر {// إذا لم يكن هناك شيء في المقدمة ، فامشي إلى الأمام Otto.walk (1، 1000، 1)؛ // أوتو يمشي عقبة مستقيمة () ؛ // استدعاء الوظيفة للتحقق من مكتشف النطاق بالموجات فوق الصوتية لكائن أقرب من 15 سم}} ///////////////////////////////// //////////////////////////////////// //-- المهام --------- ----------------------------------------- // /////// ////////////////////////////////////////////////////// /////////

/ - وظيفة لقراءة مستشعر المسافة ولتحقيق متغير عقبة تم اكتشافه

void objectleDetector () {int مسافة = Otto.getDistance () ؛ // احصل على المسافة من مكتشف النطاق بالموجات فوق الصوتية إذا كانت (مسافة <15) تم اكتشاف عقبة = صحيح ؛ // تحقق لمعرفة ما إذا كانت هذه المسافة أقرب من 15 سم ، وصحيح إذا كانت أخرى عقبة اكتشاف = خطأ ؛ // خطأ إذا لم تكن كذلك}