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

הפוך פגושים רובוטיים (עם קוד): 4 שלבים
הפוך פגושים רובוטיים (עם קוד): 4 שלבים

וִידֵאוֹ: הפוך פגושים רובוטיים (עם קוד): 4 שלבים

וִידֵאוֹ: הפוך פגושים רובוטיים (עם קוד): 4 שלבים
וִידֵאוֹ: אתגר - אל תדברו עם סירי ב-3 בלילה 2024, יולי
Anonim
צור פגושים רובוטיים (עם קוד)
צור פגושים רובוטיים (עם קוד)

מדריך זה ילווה את הקוראים כיצד ליצור ולקודד פגושים על Boe-bot שיוכל לנווט במבוך תוך זיהוי מכשולים. הקידוד לפרויקט נעשה באמצעות תוכנת תכנות BASIC Stamp ורובוט Boe-Bot, והבנה בסיסית של מעגלים ותכנות נדרשת כדי להצליח ליצור את הפגושים האלה.

אספקה

כדי ליצור פגושים אלה, תזדקק ל:

- רובוט בו-בוט

- תוכנת תכנות BASIC Stamp

- מקלות ארטיק

- ספוג

- נייר אלומיניום

- מהדקי נייר

- 8 חוטים ארוכים להפליא (לפחות 6 אינץ ')

- 2 נורות לד

-2 נגדים חומים-צהובים-שחורים

-2 נגדים אדומים-אדומים-חומים

- קלטת ודבק חם (או דבק דומה)

- סוללות עבור Boe-Bot שלך

שלב 1: שלב 1: יצירת המעגל

שלב 1: יצירת המעגל
שלב 1: יצירת המעגל
שלב 1: יצירת המעגל
שלב 1: יצירת המעגל

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

דברים שכדאי לזכור:

- וודא שהנורית נמצאת במיקום הנכון. המשמעות היא שהרגל השטוחה של ה- LED צריכה להיות בצד השלילי והרגל השנייה בצד החיובי.

- ה- Vss משמש כקרקע בלוח הלחם הזה, כלומר יש לו ערך של אפס ול- Vdd ערך של 1.

- למעגל פועל יש ערך 0. למעגל כבוי יש ערך 1.

שלב 2: שלב 2: תכנות עבור ה- Boe-bot

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

כמה תרגומי שפה בסיסיים:

- GOSUB = תת שגרה (יש לדרוש אחריה קוד בקוד)

- אם.. Else = מציין קבוצת קוד שיש לבצע, אם התנאים נכונים, ומבצע הוראות אם התנאים שקריים

הקוד:

'{$ STAMP BS2}

'{$ PBASIC 2.5}' ***************************************** ****************************** 'איפוס קוד הפעלה מחדש' השתמש בלחצן האיפוס כדי לעצור ולהפעיל את הרובוט '** ********************************************** ********************** temp VAR Byte 'variable store RunStatus DATA $ 00' משתנה המאוחסן ב- ROM READ RunStatus, temp 'קרא את המשתנה מ- temp ROM = ~ temp 'הפוך את הערך 0 ל -1 או 1 עד 0 WRITE RunStatus, temp' כתוב את המשתנה בחזרה ל- ROM IF (temp> 0) ואז סיים 'בדוק אם הערך הוא 1' אם כן סיים את התוכנית PAUSE 3000 'השהה כדי לאפשר עליך להזיז את 'ידך כאשר אתה לוחץ על איפוס' ************************************* ********************************* ************* ********************************************** *********** 'סיכות וקבועים' משמשים לפשט תכנות '***************************** ***************************************** PIN לרכב 15 PIN PIN לרכב 14 RFast CON 650 LFast CON 850 RSlow CON 700 LSlow CON 780 MStop CON 750 RFastRev CON 8 50 LFastRev CON 650 RSlowRev CON 800 LSlowRev CON 700 TurnLeft90 CON 90 TurnRight90 CON 90 '******************************** ************************************* ********* ********************************************** ************** 'משתנים' משמשים לפשט תכנות '**************************** ****************************************** MLoopC VAR Word 'For.. משתנה הבא עד 65000 צדדים ספירת VAR Byte turnAngle VAR Word '*********************************** *********************************** '----------- -------------------------------------------------- ------------- 'קוד ראשי' --------------------------------- ----------------------------------------- DO IF IN10 = 0 THEN 'If the חוט בסיכה 10 דולק ואז פנה שמאלה GOSUB שמאל 90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 ואז 'אם החוט בסיכה 11 מופעל, פנה ימינה GOSUB ימינה 90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB קדימה מהר' העבר קדימה דופק LOOP '- --------------------------------- ------------------------------------- '** סוף קוד עיקרי ****** ********************************* *********** -------------------------------------------------- --------------------- '*************************** ***************************************** ' / נוהל משנה / שיטות ******************************************* ********************************************** *********** '************************************ ****************************** '*************** ********************************************** ******* RightTurn90: 'תת -פרוצדורה לפנות 90 דק ימינה' ********************************** ********************************** HIGH 1 LOW 0 ל- MLoopC = 1 עד 22 מנוע אופנוע, Lfast 'להתקדם דופק אחד PULSOUT RMOTOR, RfastRev' באמצעות סיכות וקבועים PAUSE 20 '20mS מאפשר לרובוט לנוע NEXT' לפני הדופק הבא RETURN '******************** ********************************************** * LeftTurn90: 'הליך משנה לפנייה של 90 מעלות ימינה' ** ********************************************** ******************* HIGH 0 LOW 1 FOR MLoopC = 1 עד 22 PULSOUT LMOTOR, LfastRev 'התקדם דופק אחד PULSOUT RMOTOR, Rfast' באמצעות סיכות וקבועים PAUSE 20 ' 20mS מאפשר לרובוט לנוע הבא 'לפני הדופק הבא חזרה' ************************************** ******************************************************************************************************************************************************** ********************************************** *********************************************************************************************************************************************************** ********************************************** ****** ReverseTurnLeft: 'הליך משנה לביטול והפכת הרובוט שמאלה כאשר פוגעים בפגוש הימני' ************************** *** LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 חזרה הבאה '************************************* ****************************** ReverseTurnRight: 'תהליך משנה צריך לחזור לאחור ולסובב את הרובוט ימינה כאשר הפגוש השמאלי נפגע '********************************* ******************************** עבור MLoopC = 1 עד 55 PULSOUT MOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSE 20 החזרה הבאה '******************************************* ***** **** ********************************************** *

שלב 3: שלב 3: שימוש ברדיד אלומיניום ובמקלות ארטיק עבור פגמי תיל

שלב 3: שימוש ברדיד אלומיניום ובמקלות ארטיק עבור פגמי חוטים
שלב 3: שימוש ברדיד אלומיניום ובמקלות ארטיק עבור פגמי חוטים
שלב 3: שימוש ברדיד אלומיניום ובמקלות ארטיק עבור פגמי חוטים
שלב 3: שימוש ברדיד אלומיניום ובמקלות ארטיק עבור פגמי חוטים
שלב 3: שימוש ברדיד אלומיניום ובמקלות ארטיק עבור פגמי חוטים
שלב 3: שימוש ברדיד אלומיניום ובמקלות ארטיק עבור פגמי חוטים
שלב 3: שימוש ברדיד אלומיניום ובמקלות ארטיק עבור פגמי חוטים
שלב 3: שימוש ברדיד אלומיניום ובמקלות ארטיק עבור פגמי חוטים

לפני שתתחיל בשלב זה, ודא ש -4 החוטים מלוח הלחם (עיין בשלב 1) מחולקים לזוגות, כאשר כל זוג שולט בפגוש ימין או שמאלי. נוריות LED פועלות במצב זה כדי לבדוק שהקוד יעיל בפגושים הימניים והשמאליים. על מקלות הארטיק, חוט אחד מכל זוג חולק קצה אחד של מקל הארטיק (המשמעות היא שחוטים של אותו זוג לא יכולים להיות על אותו פגוש).

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

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

שלב 4: שלב 4: הרכבת שאר הפגושים

שלב 4: הרכבת שאר הפגושים
שלב 4: הרכבת שאר הפגושים
שלב 4: הרכבת שאר הפגושים
שלב 4: הרכבת שאר הפגושים
שלב 4: הרכבת שאר הפגושים
שלב 4: הרכבת שאר הפגושים
שלב 4: הרכבת שאר הפגושים
שלב 4: הרכבת שאר הפגושים

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

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

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

מוּמלָץ: