תוכן עניינים:

בוט סומו מודפס בתלת -ממד: 6 שלבים
בוט סומו מודפס בתלת -ממד: 6 שלבים

וִידֵאוֹ: בוט סומו מודפס בתלת -ממד: 6 שלבים

וִידֵאוֹ: בוט סומו מודפס בתלת -ממד: 6 שלבים
וִידֵאוֹ: Survive 1 minute with a Sumo, WIN $1000! 2024, נוֹבֶמבֶּר
Anonim
Bot Sumo מודפס בתלת מימד
Bot Sumo מודפס בתלת מימד

אז היו לי חבורה של חלקים שהונחו מסביב לביתי. רציתי להשתתף בתחרות סומו שתעלה בעוד מספר חודשים אבל לא היה לי בוט. במקום לקנות בוט או להשתמש בעיצוב קיים שידרוש ממני רכישת דברים לפרויקט הלכתי והכנתי בוט משלי מהעיצוב שלי מהחלקים שלי שהיו לי. תצטרך את הדברים הבאים להדרכה זו.

  1. אחד מכל חלק המודפס בתלת מימד נמצא כאן.
  2. סוללה של 7.4 וולט או שתי סוללות 18650.
  3. מחזיק סוללה במידת הצורך.
  4. ארדואינו אונו.
  5. מגן פריצת ארנונו אונו.
  6. כבל USB עבור Arduino.
  7. אספקת חשמל לשולחן העבודה (אופציונלי).
  8. מטען (אופציונלי).
  9. חוטים והרבה מהם.
  10. סרוו סיבובי רציף מתכת בגודל סטנדרטי.
  11. שני חיישני ir switch.
  12. גלגלי סרוו 7 ס"מ.
  13. מתג הפעלה וכיבוי.

הקוד הזה משתנה כל הזמן. הקוד לרובוט הזה ניתן למצוא כאן. זוהי הגרסה המעודכנת ביותר של קוד הפרויקט הזה. תהנה!

שלב 1: הרכבה

הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
  1. הרובוט משתמש בשני סרוו של ציוד מתכת. תרצה לדפוק אותם באמצעות ברגים ואומים m3 כשהשרווסים בתוך השלדה פונים כלפי חוץ לשני הכיוונים. יש רק דרך אחת שבה הסרווסים יכולים להיכנס לרובוט אז זה יהיה די פשוט קדימה.
  2. חבר את גלגלי הסרוו.
  3. חבר את חיישני ה- ir כך שהם פונים כלפי מטה בחזית הרובוט. הם מחוברים בשני ברגים דרך חורי M3 בחזית הרובוט. בתחתית הרובוט יש חריצים שיוכלו להציץ דרכם. אתה רוצה להיות זהיר החיישנים אינם קולטים את השלדה ויכולים לראות לאורך כל החריצים. תוכלו ללמוד עוד על כך מאוחר יותר כאשר נבדוק את הרובוט כדי לראות אם העבודה הנוחה שלכם עבדה.
  4. הכנס את החיישן HC-SR04 בתוך שני החורים הפונים אל מחוץ לרובוט מבפנים. החורים ממוקמים בחזית השלדה.
  5. שים את ה- Arduino Uno בתוך המארז כשהמגן עליו.
  6. חברו הכל יחד לפי רשימת הכדורים להלן.

    1. כוח ממקור החשמל שבחרת למתג ההפעלה. אתה יוביל עופרת חיובית או שלילית למתג. אם בחרת את הליד השלילי זו תהיה הקרקע שלך ואילו אם תבחר את ההובלה החיובית שתהיה הפניה למקור הכוח שלך. החוט השני תלוי אם הוא חיובי או שלילי יהיה החיובי או השלילי שלך.
    2. חבר את ההובלה החיובית ל- vin ב- Arduino ואת ההובלות הפוסטטיביות בסרוווס.
    3. חבר קרקע לקרקע בסרוווס ובארדואינו.
    4. חבר 5v מהווסת 5 וולט בארדואינו לכל המסופים החיוביים בכל אחד מהחיישנים.
    5. חברו את החיישנים לקרקע על הארדואינו.
    6. לבסוף סיכה חוט 7 בחיישן ה- IR של Arduino לימין, סיכה 6 לחיישן ה- IR השמאלי, סיכה 8 לאחד הסרווואים, סיכה 9 לסרוו האחרון.

אזהרה: אי חיווט נכון של הרובוט עלול להוביל לעישון של הרובוט ולהרס האלקטרוניקה

שלב 2: סימני חיים ראשונים

אזהרה: אל תחבר את הרובוט למחשב שלך כשהוא מופעל או כאשר השירותים מחוברים. אם לא תעשה זאת עלול לגרום נזק למחשב שלך

int int = 3;

שורת קוד זו למעלה היא המשתנה המכריע עבור הרובוט. הוא עושה את הפעולות הבאות אם הוא שווה לכל מספר הרשום להלן.

  1. בעוד שהוא שווה לאפס הרובוט נע בתבנית מסוימת.
  2. אם המצב שווה לאחד הרובוט מדפיס פלט למחשב של כל אחת מחיימות החיישנים.
  3. כשהוא שווה לשניים הרובוט נמנע מקצוות ומכשולים אם הוא נתקל בהם.
  4. הרובוט נלחם בבוטים אחרים.

אלה הם המצבים השונים של הרובוט המשמש לבדיקה ועזרה לרובוט להתקדם. יהיה עליך לשנות את "3" זה לאפס עבור השלב הראשון של מדריך זה.

עכשיו העלה את הקוד לרובוט. אתה תראה אותו נע קדימה, אחורה, שמאלה וימינה בסדר הזה.

שלב 3: זה יכול לראות

int int = 0;

שנה את המשתנה הבא ל- "1" אם השלב הקודם הושלם. כעת כאשר הוא מחובר למסך הטורי שלך ב- Arduino הוא ידפיס מה הרובוט שלך רואה. "0" פירושו של חיישני הקצה שהוא רואה משהו. "1" פירושו שהוא לא רואה קצוות. אם אתה מבחין שההיגיון הפוך שים לב לכך לקראת הצעדים העתידיים.

אל תדאג לגבי חיישן הפינג. אני עדיין לא מצליח בזה. הרובוט הזה נמצא בפיתוח כבד.

שלב 4: זה יכול להימנע מקצה השולחן

void Avoid () {

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

עיכוב (50);

if (Ping.ping_cm ()> = 15 && sensorStateLeft == 0 && sensorStateRight == 0) {

left.write (0); right.write (90);

}

אם (Ping.ping_cm () <= 15 && Ping.ping_cm ()! = 0 || sensorStateLeft == 1 || sensorStateRight == 1) {

left.write (90);

right.write (0); }

}

הקוד הזה למעלה הוא הקוד שנקרא כאשר מצב שווה לשניים. אם השלב הקודם הושלם שנה מצב זהה ל -2.

אם החיישנים הפוכים אל תהסס להפוך "sensorStateLeft" ו- "sensorStateRight" בכל אחת מהצהרות "אם" כדי להיות שווה למספר שונה ממה שניתן לו שהוא "1" או "0".

כעת הרובוט יכול להימנע מקצה זירת סומו. הוא כמעט מוכן לקרב. אתה מוזמן לבדוק את זה כדי לראות אם זה עובד או לא.

שלב 5: קרב

הסומו שלך מוכן לקרב עכשיו עם כמה שינויי קוד. שנה את המצב להיות שווה ל- "3" והפוך את ההיגיון לפי הצורך במרחב "סומו". כעת הרובוט שלך אמור להימנע מקצה הזירה אך אינו יכול לזהות רובוטים אחרים. הוא בעצם נמנע מקצוות הזירה ונע במהירות מספיק כדי שיהיה אפשר לדחוף רובוט מקצה השולחן. תהנה!

שלב 6: מסקנה

הרובוט שלך מוכן כעת. אם יש בעיות או הערות לפרויקט זה אל תהסס ליידע אותי. אני מאוד בלתי נתפס ופתוח למשוב כי אין לי מושג אם זו הייתה הדרכה כלשהי או לא. תהנה!

מוּמלָץ: