- חומרים נדרשים:
- מושגים של עוקב אחר הקו
- תרשים והסבר על מעגל רובוטים של פטל פי.
- תכנות PI פטל שלך:
- עוקב אחר פטל פי פטל בפעולה:
כפי שכולנו יודעים Raspberry Pi היא פלטפורמת פיתוח נפלאה המבוססת על מעבד ARM. עם כוח החישוב הגבוה ואפשרויות הפיתוח שלה הוא יכול לחולל פלאים בידי חובבי אלקטרוניקה או סטודנטים. כדי ללמוד עוד על פטל פטל ואיך זה עובד, בואו ננסה לבנות רובוט עוקב קו באמצעות פטל פטל.
אם אתם מעוניינים ברובוטיקה, עליכם להכיר היטב את השם " Line Robot Follower ". רובוט זה מסוגל לעקוב אחר קו, פשוט באמצעות זוג חיישנים ומנועים. אולי זה לא נשמע יעיל להשתמש במעבד חזק כמו Raspberry Pi כדי לבנות רובוט פשוט. אבל, הרובוט הזה נותן לך מקום להתפתחות אינסופית ורובוטים כמו Kiva (רובוט מחסן אמזון) הם דוגמה לכך. אתה יכול גם לבדוק את הרובוטים האחרים שלנו שעוקבים אחר הקווים:
- רובוט עוקב קו באמצעות מיקרו-בקר 8051
- רובוט עוקב קו באמצעות ארדואינו
חומרים נדרשים:
- פטל פי 3 (כל דגם אמור לעבוד)
- חיישן IR (2Nos)
- מנוע הילוכים DC (2Nos)
- נהג מנוע L293D
- שזלולות (ניתן לבנות בעצמכם גם באמצעות קרטונים)
- בנק כוח (כל מקור כוח זמין)
מושגים של עוקב אחר הקו
רובוט עוקב הקו מסוגל לעקוב אחר קו בעזרת חיישן IR. לחיישן זה משדר IR ומקלט IR. משדר ה- IR (IR LED) משדר את האור והמקלט (פוטודיודה) ממתין שהאור המשודר יחזור חזרה. אור IR יחזור רק אם הוא מוחזר על ידי משטח. בעוד שכל המשטחים אינם מחזירים אור IR, רק משטח הצבע הלבן יכול לשקף אותם לחלוטין ומשטח הצבע השחור יתבונן בהם לחלוטין כפי שמוצג באיור למטה. למידע נוסף על מודול חיישני IR כאן.
כעת נשתמש בשני חיישני IR כדי לבדוק אם הרובוט נמצא במסלול עם הקו ובשני מנועים כדי לתקן את הרובוט אם הוא יוצא מחוץ למסלול. מנועים אלה דורשים זרם גבוה וצריכים להיות דו כיווניים; לפיכך אנו משתמשים במודול נהג מנוע כמו L293D. נצטרך גם מכשיר חישובי כמו Raspberry Pi כדי להנחות את המנועים על בסיס הערכים של חיישן ה- IR. דיאגרמת גוש פשוטה של אותה מוצגת להלן.
שני חיישני IR אלה יוצבו אחד משני צידי הקו. אם אף אחד מהחיישנים לא מזהה קו שחור אותם הם PI מורה לנועים להתקדם כפי שמוצג להלן
אם החיישן השמאלי מגיע לקו שחור אז ה- PI מורה לרובוט לפנות שמאלה על ידי סיבוב הגלגל הימני לבדו.
אם החיישן הימני מגיע על קו שחור אז ה- PI מורה לרובוט לפנות ימינה על ידי סיבוב הגלגל השמאלי לבדו.
אם שני החיישנים מגיעים על קו שחור, הרובוט עוצר.
בדרך זו הרובוט יוכל לעקוב אחר הקו מבלי לצאת מחוץ למסלול. עכשיו בואו נראה איך המעגל והקוד נראים.
תרשים והסבר על מעגל רובוטים של פטל פי.
תרשים המעגל השלם לרובוט העוקב של פטל פי זה מוצג להלן
כפי שאתה יכול לראות המעגל כולל שני חיישני IR וזוג מנועים המחוברים ל- Raspberry pi. המעגל השלם מופעל על ידי בנק כוח נייד (המיוצג על ידי סוללת AAA במעגל לעיל).
מכיוון שפרטי הפינים לא מוזכרים ב- Raspberry Pi, עלינו לאמת את הפינים באמצעות התמונה למטה
כפי שמוצג בתמונה סיכת הפינה השמאלית העליונה של ה- PI היא סיכה + 5V, אנו משתמשים בפין +5V זה להפעלת חיישני ה- IR כפי שמוצג בתרשים המעגל (חוטי אדום). לאחר מכן אנו מחברים את פינות הקרקע לקרקע של חיישן ה- IR ומודול דרייבר המנוע באמצעות חוט שחור. החוט הצהוב משמש לחיבור סיכת הפלט של החיישן 1 ו 2 את סיכות GPIO ו 3 בהתאמה.
כדי להניע את המנועים, אנו זקוקים לארבעה פינים (A, B, A, B). ארבעת הפינים הללו מחוברים מ- GPIO14,4,17 ו- 18 בהתאמה. החוט הכתום והלבן יחד מהווה את החיבור למנוע אחד. אז יש לנו שני זוגות כאלה לשני מנועים.
המנועים מחוברים למודול נהג המנוע L293D כמוצג בתמונה ומודול הנהג מופעל על ידי בנק כוח. וודאו שאדמת בנק הכוח מחוברת לאדמת ה- Raspberry Pi, רק אז החיבור שלכם יעבוד.
תכנות PI פטל שלך:
לאחר שתסיים עם ההרכבה והחיבורים שלך הרובוט שלך צריך להראות בערך ככה.
</s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s>עכשיו הגיע הזמן לתכנת את הבוט שלנו ולהפעיל אותו. הקוד השלם לבוט זה ניתן למצוא בתחתית הדרכה זו. למידע נוסף על תכנות והפעל קוד ב- Raspberry Pi כאן. השורות החשובות מוסברות להלן
אנו הולכים לייבא קובץ GPIO מהספרייה, הפונקציה הבאה מאפשרת לנו לתכנת סיכות GPIO של PI. אנו גם משנים את השם "GPIO" ל- "IO", ולכן בתוכנית בכל פעם שברצוננו להתייחס לסיכות GPIO נשתמש במילה 'IO'.
ייבא את RPi.GPIO כ- IO
לפעמים, כאשר סיכות ה- GPIO, בהן אנו מנסים להשתמש, עשויות לבצע פונקציות אחרות. במקרה כזה נקבל אזהרות בזמן ביצוע התוכנית. הפקודה למטה אומרת ל- PI להתעלם מהאזהרות ולהמשיך בתוכנית.
IO.setwarnings (שקר)
אנו יכולים להפנות את סיכות ה- GPIO של PI, על ידי מספר סיכה על הלוח או על ידי מספר הפונקציה שלהן. כמו 'PIN 29' על הלוח הוא 'GPIO5'. אז אנו אומרים כאן או שנציג את הסיכה כאן על ידי '29' או '5'.
IO.setmode (IO.BCM)
אנו מגדירים 6 פינים כסיכות קלט / פלט. שני הפינים הראשונים הם פינים הקלט לקריאת חיישן ה- IR. הארבעה הבאים הם סיכות המוצא שמתוכן שניים הראשונים משמשים לשליטה על המנוע הימני והשניים הבאים עבור המנוע השמאלי.
IO.setup (2, IO.IN) #GPIO 2 -> השאיר IR בחוץ IO.setup (3, IO.IN) #GPIO 3 -> IR ימין out IO.setup (4, IO.OUT) #GPIO 4 - > מסוף מנוע 1 A IO.setup (14, IO.OUT) #GPIO 14 -> מסוף מנוע 1 B IO. setup (17, IO.OUT) #GPIO 17 -> מסוף שמאלי מנוע A IO. Setup (18, IO.OUT) #GPIO 18 -> מסוף שמאלי מנוע B
חיישן ה- IR פולט "נכון" אם הוא נמצא מעל משטח לבן. אז כל עוד שני החיישן אומר נכון אנחנו יכולים להתקדם.
אם (IO.input (2) == True ו- IO.input (3) == True): שניהם לבנים להתקדם IO. output (4, True) # 1A + IO. output (14, False) # 1B- IO.פלט (17, נכון) # 2A + IO. פלט (18, שקר) # 2B-
עלינו לפנות ימינה אם חיישן ה- IR הראשון יעבור קו שחור. זה נעשה על ידי קריאת חיישן ה- IR ואם המצב מתקיים אנו עוצרים את המנוע הימני ומסובבים את המנוע השמאלי לבדו כמוצג בקוד להלן.
elif (IO. קלט (2) == False ו- IO. קלט (3) == True): # פנה ימינה IO. output (4, True) # 1A + IO. output (14, True) # 1B- IO. output (17, נכון) # 2A + IO. פלט (18, שקר) # 2B-
עלינו לפנות שמאלה אם חיישן ה- IR השני יעבור קו שחור. זה נעשה על ידי קריאת חיישן ה- IR ואם המצב מתקיים אנו עוצרים את המנוע השמאלי ומסובבים את המנוע הימני לבדו, כפי שמוצג בקוד להלן.
elif (IO. קלט (2) == נכון ו- IO. קלט (3) == שגוי): # הפעל שמאל IO.פלט (4, נכון) # 1A + IO. פלט (14, שקר) # 1B- IO. (17, נכון) # 2A + IO. פלט (18, נכון) # 2B-
אם שני החיישן עובר קו שחור, המשמעות היא שהרובוט צריך לעצור. ניתן לעשות זאת על ידי הפיכת שני מסופי המנוע לאמיתיים כפי שמוצג בקוד להלן
אחר: # הישאר עדיין IO. פלט (4, נכון) # 1A + IO. פלט (14, נכון) # 1B- IO. פלט (17, נכון) # 2A + IO. פלט (18, נכון) # 2B-
עוקב אחר פטל פי פטל בפעולה:
העלה את קוד הפיתון לעוקב השורה ל- Raspberry Pi שלך והפעל אותו. אנו זקוקים לספק כוח נייד, בנק כוח במקרה זה הופך להיות שימושי ולכן השתמשתי בו. זה שאני משתמש בו מגיע עם שתי יציאות USB ולכן השתמשתי בהפעלת ה- PI ואחר למנהל ההפעלה, כפי שמוצג בתמונה למטה.
כעת כל שעליכם לעשות הוא להקים מסלול צבעים שחור משלכם ולשחרר את הבוט שלכם מעליו. השתמשתי בקלטת בידוד בצבע שחור כדי ליצור את המסלול אתה יכול להשתמש בכל חומר בצבע שחור, אך וודא שצבע הקרקע שלך אינו כהה.
את העבודה המלאה של הבוט ניתן למצוא בסרטון הבא. מקווה שהבנתם את הפרויקט ונהניתם לבנות. אם יש לך שאלות פרסם אותן בקטע התגובה למטה.