תוכן עניינים:
- שלב 1:
- שלב 2: צור פרויקט רובוט חדש
- שלב 3: צור/מלא את RobotMap
- שלב 4: מחק פקודה לדוגמה ודוגמת מערכת משנה
- שלב 5: צור DriveTrainSubSystem
- שלב 6: צור את CommandTrainCommand
- שלב 7: קפוץ לרובוט
- שלב 8: חזור אל DriveTrainCommand
- שלב 9: עבור אל DriveTrainSub
- שלב 10: בשלב הבא ניצור את קוד ה- OI
- שלב 11: עבור אל DriveTrainCommand
- שלב 12: לבסוף הידור והעלאת הקוד לרובוט
וִידֵאוֹ: כיצד לכתוב כונן פשוט עבור FRC (Java): 12 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
זוהי הדרכה כיצד להכין מסלול הנעה פשוט עבור רובוט FRC. הדרכה זו מניחה כי אתה יודע כי יסודות Java, ליקוי חמה וכבר מותקנים ב- wpilib, כמו גם בספריות CTRE.
שלב 1:
פתח את Eclipse
שלב 2: צור פרויקט רובוט חדש
- לחץ לחיצה ימנית על סייר החבילות, לחץ על חדש ואז על אחר.
- גלול מטה עד שתראה פיתוח רובוט Java של WPILib (אם אינך רואה אותו אין לך את משאבי wpilib מותקנים.)
- לחץ על פרויקט רובוט ג'אווה
- לאחר מכן מלא את שם הפרויקט ולחץ על סוג הפרוייקט המבוסס על פקודות רובוט. (החבילה כבר אמורה להתמלא ואותו עולם עם סימולציה).
שלב 3: צור/מלא את RobotMap
צור משתנים אחרונים המכילים את מספר יציאות הטאלון השונות
שלב 4: מחק פקודה לדוגמה ודוגמת מערכת משנה
שלב 5: צור DriveTrainSubSystem
- צור קונסטרוקטור חדש בתת מערכת ההנעה החדשה שנוצרה. לאחר מכן צור אובייקטים של CANTalon המתאימים לטלקים במערכת ההנעה.
- צור RobotDrive בשם Drive
- סמן את האובייקטים האלה בבנאי (הקפד להשתמש בערכים עבור הטלקים שיצרנו במפת הרובוט). עבור רובוט דרייב נשתמש בבונה המשתמש 4 בקרי מנוע (RobotDrive (SpeedController frontLeftMotor, SpeedController rearLeftMotor, SpeedController frontRightMotor, SpeedController rearRightMotor))
- לאחר מכן צור שיטת arcadeDrive () עם שני משתני קלט כאשר x הוא קדימה ואחורה ו- y ימינה ושמאלה. בפנים תתקשר ל- drive.arcade עם הערכים קדימה וסובבים
- לאחר מכן שנה את initDefaultCommand () כך שיכיל את השורה setDefaultCommand (new DriveTrainCommand ());.
- עדיין אל תדאג מכל השגיאות.
שלב 6: צור את CommandTrainCommand
- ראשית התחל על ידי מעבר לתפריט בו השתמשנו ליצירת תת -המערכת והרובוט מקרין את עצמו (זו הפעם האחרונה שאני אראה את הצעד האמיתי הזה בשלבים הבאים אגיד רק כדי לבצע פקודה או לבצע תת -מערכת ואתה מניח שהיא נמצאת בתפריט זה.) לחץ על פקודה ומלא את שם המחלקה ב- DriveTrainCommand (אם אתה משנה את שמות הקבצים האלה לא יכול להיות שהם יהיו זהים).
- ב- DriveTrainCommand החדש תראה שיש 6 שיטות אחת היא הקונסטרוקטור וחמש האחרות הן חלקים מהקוד שהרובוט יקרא לו כשהפקודה פועלת. אנו יודעים מה עושה הקונסטרוקטור כדי להסביר אתחול, ביצוע, סיום, סיום והפרעה. אתחול נקרא פעם אחת בכל פעם שהפקודה נקראת, שיטת הביצוע נקראת ברציפות עד שהפקודה מסתיימת, הנגרמת על ידי סיום כאשר השיטה isFinished מחזירה true הפקודה תפסיק לפעול, שיטת הסיום נקראת פעם אחת לאחר סיום הפקודה שיטה נקראת, והנתק נקרא כאשר משאבי הפקודות משמשים פקודה אחרת והפקודה תסתיים (מבלי לקרוא לשיטת הסיום).
- ראשית ב- DriveTrainCommand בבנאי עליך להוסיף את השורה הדרושה (דורשת (Robot. DriveTrainSub)) הודעה כי ה- DriveTrainSub אינו זהה לשם מערכת המשנה וזה בכוונה.
שלב 7: קפוץ לרובוט
- לאחר מכן אנו הולכים לקפוץ לשיעור הרובוטים
- אז אנחנו הולכים לשנות את הקו (public static final exampleSubsystem exampleSubsystem = exampleSubsystem חדש ();) ל- (public static final DriveTrainSubsystem DriveTrainSub = new DriveTrainSubsystem ();) שימו לב שהשם הפרטי לאחר הסופי הוא זהה לשם תת המערכת והשם שם אחרי חדש שים לב גם ש- DriveTrainSub זהה לשם ששמנו בשלב האחרון שלנו ושאינו זהה לשם תת המערכת (עליך להיות בעל אובייקט (DriveTrainSub) שאינו זהה לתת המערכת שֵׁם).
- לאחר מכן ייבא את DriveTrainSubSystem שלנו.
- לאחר מכן נסיר את השורה (chooser.addDefault ("ברירת מחדל אוטומטית", דוגמא חדשה ());)
- לאחר מכן הסר את הייבוא שאינו בשימוש.
- לאחר מכן שמור.
שלב 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: לבסוף הידור והעלאת הקוד לרובוט
מוּמלָץ:
כיצד ליצור כונן הבזק מסוג USB באמצעות מחק - מארז כונן USB מסוג DIY: 4 שלבים
כיצד ליצור כונן הבזק מסוג USB באמצעות מחק | מארז כונן USB מסוג DIY: הבלוג עוסק ב " כיצד להכין כונן הבזק מסוג USB באמצעות מחק | מארז כונן USB DIY " אני מקווה שתאהב את זה
כיצד לכתוב את תוכנית הג'אווה הראשונה שלך: 5 שלבים
כיצד לכתוב את תוכנית הג'אווה הראשונה שלך: הדרכה זו מראה לך כיצד לכתוב את תוכנית הג'אווה הראשונה שלך צעד אחר צעד
מודול כרטיס SD עם Arduino: כיצד לקרוא/לכתוב נתונים: 14 שלבים
מודול כרטיס SD עם Arduino: כיצד לקרוא/לכתוב נתונים: סקירה נתוני אחסון הם אחד החלקים החשובים ביותר בכל פרויקט. ישנן מספר דרכים לאחסן נתונים בהתאם לסוג הנתונים וגודלם. כרטיסי SD ומיקרו SD הם אחד המעשיים ביותר מבין מכשירי האחסון, המשמשים ב
מערכת היגוי חכמה למכוניות רובוט באמצעות מנוע צעד של כונן תקליטונים/כונן תקליטורים ישן: 8 שלבים (עם תמונות)
מערכת היגוי חכמה למכוניות רובוט באמצעות מנוע צעד של כונן תקליטונים/כונן ישן: מערכת היגוי חכמה למכוניות רובוטיות האם אתה חושש להכין מערכת היגוי טובה לרכב הרובוט שלך? להלן פתרון מעולה רק באמצעות כונני התקליטונים/ CD/ DVD הישנים שלך. צפה בו וקבל מושג על זה בקר georgeraveen.blogspot.com
שכנע את עצמך פשוט להשתמש בממיר 12V-to-AC עבור מחרוזות אור LED במקום לחבר אותן מחדש עבור 12V: 3 שלבים
שכנע את עצמך פשוט להשתמש בממיר 12V-to-AC עבור מחרוזות אור LED במקום לחבר אותן מחדש עבור 12V: התוכנית שלי הייתה פשוטה. רציתי לחתוך מחרוזת נורת LED המופעלת על ידי קיר לחתיכות ולאחר מכן לחבר אותו מחדש כך שייגמר 12 וולט. האלטרנטיבה הייתה להשתמש בממיר חשמל, אבל כולנו יודעים שהם מאוד לא יעילים, נכון? ימין? או שהם כן?