جدول المحتويات:
- الخطوة 1:
- الخطوة الثانية: إنشاء مشروع روبوت جديد
- الخطوة 3: إنشاء / ملء خريطة RobotMap
- الخطوة 4: حذف مثال للنظام ومثال للنظام الفرعي
- الخطوة الخامسة: إنشاء نظام DriveTrainSubSub
- الخطوة 6: قم بإنشاء DriveTrainCommand
- الخطوة 7: انتقل إلى الروبوت
- الخطوة 8: العودة إلى DriveTrainCommand
- الخطوة 9: اذهب إلى DriveTrainSub
- الخطوة 10: بعد ذلك سننشئ كود OI
- الخطوة 11: اذهب إلى DriveTrainCommand
- الخطوة 12: أخيرًا قم بتجميع الكود وتحميله إلى الروبوت
فيديو: كيفية كتابة محرك بسيط لـ FRC (جافا): 12 خطوة (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
هذا برنامج تعليمي حول كيفية صنع مجموعة دفع بسيطة لروبوت FRC. يفترض هذا البرنامج التعليمي أنك تعرف أن أساسيات java و eclipse و wpilib مثبتة بالفعل ، بالإضافة إلى مكتبات CTRE.
الخطوة 1:
افتح الكسوف
الخطوة الثانية: إنشاء مشروع روبوت جديد
- انقر بزر الماوس الأيمن فوق مستكشف الحزمة ، وانقر فوق جديد ، ثم فوق آخر.
- قم بالتمرير لأسفل حتى ترى WPILib Robot Java Development (إذا لم تره ، فلن يكون لديك موارد wpilib مثبتة.)
- انقر فوق مشروع Robot Java Project
- ثم املأ اسم المشروع وانقر فوق نوع مشروع الروبوت المستند إلى الأوامر. (يجب ملء الحزمة بالفعل ونفس الشيء مع عالم المحاكاة.)
الخطوة 3: إنشاء / ملء خريطة RobotMap
قم بإنشاء متغيرات نهائية تحتوي على عدد منافذ تالون المختلفة
الخطوة 4: حذف مثال للنظام ومثال للنظام الفرعي
الخطوة الخامسة: إنشاء نظام DriveTrainSubSub
- أنشئ مُنشئًا جديدًا في النظام الفرعي لمجموعة القيادة الذي تم إنشاؤه حديثًا. ثم قم بإنشاء كائنات CANTalon التي تتوافق مع المخالب الموجودة على نظام الدفع.
- قم بإنشاء RobotDrive يسمى Drive
- إنشاء هذه الكائنات في المنشئ (تأكد من استخدام قيم المخالب التي أنشأناها في خريطة الروبوت). بالنسبة إلى Robot Drive ، سوف نستخدم المُنشئ الذي يستخدم 4 وحدات تحكم في المحركات (RobotDrive (SpeedController frontLeftMotor ، SpeedController rearLeftMotor ، SpeedController frontRightMotor ، SpeedController rearRightMotor))
- ثم أنشئ طريقة arcadeDrive () باستخدام متغيرين للإدخال هما x للأمام وللخلف و y لليمين واليسار. في الداخل سوف تستدعي drive.arcade بقيم الأمام والدوران
- ثم قم بتغيير initDefaultCommand () لاحتواء سطر setDefaultCommand (new DriveTrainCommand ()) ؛.
- لا تقلق بشأن كل الأخطاء حتى الآن.
الخطوة 6: قم بإنشاء DriveTrainCommand
- ابدأ أولاً بالذهاب إلى القائمة التي استخدمناها لإنشاء النظام الفرعي ومشروع الروبوت بنفسه (هذه هي المرة الأخيرة التي سأعرض فيها هذه الخطوة الفعلية في الخطوات المستقبلية التي سأقولها فقط لإصدار أمر أو لعمل النظام الفرعي وستفترض أنه موجود في هذه القائمة.) انقر فوق الأمر وقم بملء اسم الفئة بـ DriveTrainCommand (إذا قمت بتغيير أسماء هذه الملفات فلا يمكنك جعلها متطابقة).
- في DriveTrainCommand الجديد ، سترى أن هناك 6 طرق ، أحدها هو المُنشئ والآخر 5 أجزاء من الكود الذي سيستدعيه الروبوت عند تشغيل الأمر. نحن نعلم ما يفعله المُنشئ ، لذلك دعونا نشرح التهيئة والتنفيذ والانتهاء والانتهاء والمقاطعة. يتم استدعاء Initialize مرة واحدة في كل مرة يتم استدعاء الأمر ، يتم استدعاء طريقة التنفيذ بشكل مستمر حتى ينتهي الأمر ، والذي ينتج عن انتهاء الأمر عندما تعود طريقة isFinished إلى القيمة الصحيحة سيتوقف الأمر عن العمل ، ويتم استدعاء طريقة end مرة واحدة بعد isFinished يتم استدعاء الأسلوب ، ويتم استدعاء المقاطعة عندما يتم استخدام موارد الأوامر بواسطة أمر آخر وينتهي الأمر (بدون استدعاء طريقة النهاية).
- أولاً في DriveTrainCommand في المُنشئ ، تحتاج إلى إضافة سطر يتطلب (يتطلب (Robot. DriveTrainSub)) لاحظ أن DriveTrainSub ليس هو نفسه اسم النظام الفرعي وهذا عن قصد.
الخطوة 7: انتقل إلى الروبوت
- بعد ذلك ، سننتقل إلى فئة الروبوتات
- ثم سنقوم بتغيير الخط (النهائي العام الثابت ExampleSubsystem exampleSubsystem = new ExampleSubsystem () ؛) إلى (النهائي الثابت العام DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem () ؛) لاحظ أن الاسم الأول بعد النهائي هو نفس اسم النظام الفرعي و الاسم بعد الجديد لاحظ أيضًا أن DriveTrainSub هو نفس الاسم الذي وضعناه في خطوتنا الأخيرة وأنه ليس هو نفسه اسم النظام الفرعي (يجب أن يكون لديك اسم كائن (DriveTrainSub) يختلف عن النظام الفرعي اسم).
- ثم قم باستيراد DriveTrainSubSystem الخاص بنا.
- بعد ذلك سنقوم بإزالة السطر (chooser.addDefault ("Default Auto"، new ExampleCommand ())؛)
- ثم قم بإزالة عمليات الاستيراد غير المستخدمة.
- ثم احفظ.
الخطوة 8: العودة إلى DriveTrainCommand
- استيراد الروبوت (الثاني في الصورة)
- ثم احفظ
الخطوة 9: اذهب إلى DriveTrainSub
- استيراد DriveTrainCommand
- ثم احفظ.
الخطوة 10: بعد ذلك سننشئ كود OI
- اذهب إلى OI.
- قم بإنشاء كائن جويستيك عام جديد باستخدام المنفذ 0.
- وإزالة الواردات غير المستخدمة.
- يحفظ.
الخطوة 11: اذهب إلى DriveTrainCommand
- انتقل إلى DriveTrainCommand.
- الآن سنقوم بالجزء الذي يأخذ أذرع التحكم ونطبقها لتحريك الروبوت. داخل التنفيذ (لأنه يعمل باستمرار) أضف السطر (Robot. DriveTrainSub.arcadeDrive (Robot.oi. Driver.getRawAxis (1) ، Robot.oi. Driver.getRawAxis (4)) ؛) حيث نسمي ArcadeDrive في منطقتنا النظام الفرعي بقيم Robot.io. Driver.getRawAxis (1) الذي يُرجع قيمة عصا التحكم وحيث 1 هو محور المحور y الأيسر ونفس الشيء للقيمة الثانية باستثناء 4 هو المحور x الأيمن. لذا فإن هذا يعني أن العصا اليسرى ستتحرك للأمام والخلف وأن العصا اليمنى ستتحرك يمينًا ويسارًا. (إذا أردت ، يمكنك الرجوع إلى RobotMap وإنشاء قيم جديدة لمحور عصا التحكم ثم الاتصال بها باستخدام RobotMap. (اسم المحور) ولا تنس أن تجعلها نهائية إذا قمت بذلك بهذه الطريقة.)
- بعد ذلك ، قم بإزالة أي واردات غير مستخدمة من المشروع بأكمله.
الخطوة 12: أخيرًا قم بتجميع الكود وتحميله إلى الروبوت
موصى به:
2019 FRC كتابة قطار محرك بسيط (جافا): 5 خطوات
2019 FRC كتابة قطار محرك بسيط (Java): هذا البرنامج التعليمي انتهى تاريخه! يرجى متابعة التعليمات التالية الخاصة بي حول البرمجة الحالية لعام 2019. على الرغم من أنه قديم ، لا تزال هناك أشياء يمكنك التعرف عليها مثل كيفية إنشاء الفصول الدراسية وكتابة الكود
وحدة بطاقة SD مع Arduino: كيفية قراءة / كتابة البيانات: 14 خطوة
وحدة بطاقة SD مع Arduino: كيفية قراءة / كتابة البيانات: نظرة عامة يعد تخزين البيانات أحد أهم أجزاء كل مشروع. هناك عدة طرق لتخزين البيانات حسب نوع البيانات وحجمها. تعد بطاقات SD و micro SD واحدة من أكثر البطاقات العملية بين أجهزة التخزين ، والتي تُستخدم في
كيفية كتابة تعليمات باستخدام التعليمات: 14 خطوة
كيفية كتابة تعليمات باستخدام Instructables: يوضح هذا المستند كيفية استخدام التعليمات لكتابة التعليمات
كيفية تعديل محرك سيرفو للدوران المستمر (روبوت ذو محرك واحد): 8 خطوات (بالصور)
كيفية تعديل محرك سيرفو للدوران المستمر (واحد موتور ووكر روبوت): هذا التوجيه هو جزء من جهاز مشي واحد. https://www.instructables.com/id/How-to-build-the-one-motor- walker / هناك تريليونات من البرامج التعليمية مثل هذا ، وأنا أعلم :-) إنهم يأخذون في المدرسة أثناء استراحة الغداء باستخدام كاميرا Sony Mavica (بالتخبط
محرك الأقراص الثابت القديم لـ Xbox 360 + مجموعة نقل محرك الأقراص الثابتة = محرك الأقراص الثابتة USB المحمول: 4 خطوات
محرك الأقراص الثابتة القديم لـ Xbox 360 + مجموعة نقل محرك الأقراص الثابتة = محرك الأقراص الثابتة USB المحمول!: لذلك … قررت شراء محرك الأقراص الثابتة بسعة 120 جيجابايت لجهاز Xbox 360 الخاص بك. الآن لديك محرك أقراص ثابت قديم ربما لن تستخدمه استخدم بعد الآن ، بالإضافة إلى كبل عديم الفائدة. يمكنك بيعها أو التخلي عنها … أو استخدامها بشكل جيد