המאמר מראה יצירה של רובוט שנע לאורך קווים ויכול לעבור במבוכים, לאחר לימוד המבוך הוא יכול לעבור אותו בצורה הקצרה ביותר. הסופר במשך זמן רב יצר את הפרויקט הזה, המזל עקף אותו בפעם השלישית.
הדגמת המכונה:
חומרים וכלים:
- ארדואינו RBBB
- מיקרומוטורס 2 יח '
- סוגריים למנועי 2 יח '
- גלגלים 2 יח '
- גלגל כדור
- חיישן השתקפות אנלוגי
- אגוזים עם ברגים של 2 יח '.
- נהג מנוע
- בעל סוללה 4 יח 'AAA
- מצברים (סוללות נטענות) AAA 4 יח '
- מקרה
- אגוזים, ברגים, דסקיות
- חוטי חיבור
- הלחמה
- צבת
- הלחמה
- מברג
צעד ראשון. תיאוריה
המחבר היה זקוק הרובוט, שבעצמה תמצא דרך לצאת מבוך, ואחריה היא תוכל לייעל את הנסיעה חזרה. בעת יצירת מכונה למבוכים הם הונחו על ידי השיטה השמאלית. כדי להבהיר, כדאי לדמיין שהיית במבוך ולהשאיר תמיד את יד שמאל על הקיר. לאחר שעברת דרך מסוימת זה יעזור לך לצאת במבוך אם הוא לא סגור. הרובוט יכול לעבוד רק עם מבוכים פתוחים.
עקרונות השיטה השמאלית הם די פשוטים:
- אם אתה יכול לפנות שמאלה, פנה שמאלה.
- אם אפשר לנוע ישר, זוז ישר.
- אם אתה יכול לפנות ימינה, פנה ימינה.
- אם אתה נמצא במבוי סתום, הפוך 180 מעלות.
כמו כן, הרובוט צריך לקבל החלטות בצומת, אך אם הוא לא מכבה בפנייה, אז הוא ימשיך ישר. כדי לבנות מסלול חזרה טוב יותר, כל החלטה נכתבת לזיכרון.
L = פנייה שמאלה
R = פנייה ימינה
S = דלג על סיבוב
B = סובב 180 מעלות
שיטה זו מוצגת להלן בפעולה באמצעות מבוך פשוט כדוגמה. הרובוט כיסה את המרחק באמצעות פקודות LBLLBSR.
השביל יצא דרך ארוכה למדי: צריך להפוך אותו ל- SRR אופטימלי. לשם כך נקבע לאן הרובוט פנה בדרך הלא נכונה. בכל מקום בו משתמשים בפקודה "B", הנתיב לא יהיה נכון, מכיוון שהרובוט היה במבוי סתום, ולכן יש להחליף את "B" במשהו אחר. המהלך השגוי הראשון היה LBL, הרובוט הסתובב והסתובב, בזמן שהיה צריך פשוט לעקוב ישירות LBL = S. לפיכך, הנתיב האידיאלי LBL = S, LBS = R בנוי על סמך תחליפים כאלה, הרובוט בונה לעצמו מסלול קצר אידיאלי.
שלב שני השלדה של הרובוט.
אקריליק בעובי של 0.8 מ"מ הפך לבסיס לשלדת הרובוט; החיתוך בוצע באמצעות לייזר על פי הציור. בארכיון שמתחת למאמר יהיה קובץ ציור מ- AutoCAD. לא היה צורך להשתמש בחומר כזה, אך המחבר לקח את מה שהיה זמין.
בחלק התחתון מיוצרים חורים להתקנת מנועים, לוחות, גלגלים וחיישנים. בחלק העליון יש חור גדול לחוטים.
שלב שלישי התקנת גלגלים.
המחבר חיבר את שני המנועים עם ברגים. יתר על כן, הם פשוט הניחו גלגלים על הציר שלהם, וישרו את הפיר עם החור בגלגל.
הצעד הרביעי. ארדואינו
בשלב זה, המחבר פעל לראשונה אחר הוראות ההרכבה של ה- Arduino RBBB. יתר על כן, הוא כרת חלק מהלוח כדי לצמצם את גודלו. מחבר הכוח והמייצב נחתכו עם מספריים למתכת. לאחר מכן, הותלח מחבר בן 9 פינים לצד השמאלי של הלוח ליצירת קשרים מ- 5V ל- A0 כדי לחבר חיישן אליו. מחבר 4 פינים הוברח בצד ימין של הלוח ליצירת קשרים בין D5 ל- D8, ובקר מנוע יחובר אליו. כדי לספק כוח, מחבר הדו-פינים הוצח ל -5 וולט ול- GND.
שלב חמישי בקר מנוע.
הכותב עצמו פיתח לוח מעגלים מודפס לשלב זה, המעגל בפורמט Eagle מצורף בארכיון מתחת למאמר. המנוע הראשון היה מחובר לפינים M1-A ו- M1-B, השני ל- M2 ו- M2-B. הכניסה הראשונה של מנוע ה- 1A הראשון הייתה מחוברת לפין השביעי של הארדואינו. ב- 1B היה מחובר לסיכה 6 של הארדואינו. לכניסה הראשונה של המנוע השני, ב- 2A מחובר לסיכה החמישית של Arduino. Pin In 2B מתחבר לסיכה 8 של הארדואינו. כוח וקרקע מחוברים לכוח ארדואינו ואדמה.
שלב שישי חיישנים
אלמנט זה נמכר בצורת לוח חיישנים, בתחילה ישנם שמונה מהם, שני הקיצוניים שנמחקו על ידי המחבר. מחבר 9 פינים הוצלח ללוח, חוט המוביל לארדואינו יחובר אליהם. החיישן מגלה חלק לבן ושחור במבוך בעזרת השתקפות מפני השטח.
שלב שביעי. החלק העליון.
השלדה עם החלק העליון של הרובוט מחוברת באמצעות ברגים ומתלים. הסוללה הייתה מהודקת בחלקה העליון בעזרת סקוטש. חוטים ממנו הונחו דרך החור המוכן. בעת הצמדתו, המחבר החליט לא להשתמש בברגים, אלא להשאיר את הסוללה עם סקוטש כך שיהיה קל יותר להחליף את הסוללות. באמצעות המתג במארז הסוללה בוצעה בדיקת ביצועים.
שלב שמונה. התקנת חיישנים.
חיישנים נעקרו לתחתית המכונה. סיכת ה- GND מחוברת ל- GND Arduino. בשלב הבא, סיכת ה- Vcc מחוברת לארדואינו 5V. ה- ADCs Arduino 5-0 חיברו בין סיכות חיישני 6-1 האנלוגיים.
שלב תשע. אוכל.
ארדואינו רק הלחמה חוטים מהסוללה. הפעלת וכיבוי הרובוט תהיה מתג על הסוללה, ולכן הוחלט להשתמש בהלחמה. זה משלים את הרכבת הרובוט.
שלב עשר החלק בתוכנה.
לתוכנית מספר פונקציות האחראיות על אלגוריתם הפעולה. פונקציית "יד שמאל" מקבלת קריאות מחיישנים ושולטת ברובוט על פי כללים אלה. פונקציית הסיבוב מופעלת לפני שהרובוט מבחין בקו שחור, לאחר שהבחין שהוא נוסע ישר. פונקציה מיטוב נתיבים משולבת גם היא. ניתן להוריד את התוכנית תחת המאמר בארכיון.
סרטון רובוט: