- חומרים נדרשים:
- הדפסת תלת ממד את החלקים הנדרשים:
- חומרה וסכימות:
- הרכבת הרובוט:
- תכנות את הארדואינו לרובוט דו-כיווני:
- יישום Android מבוסס עיבוד:
- עבודה של רובוט דו-כיווני מבוקר:
ברוך הבא לפרויקט נוסף בו נבנה רובוט קטן שיוכל ללכת ולרקוד. הפרויקט נועד ללמד אותך כיצד לייצר רובוטים מתחביב קטנים באמצעות Arduino וכיצד לתכנת את מנועי סרוו שלך ליישומים כאלה. בסוף הפרויקט תוכלו לבצע את הרובוט ההולך והריקוד הזה שלוקח פיקוד מטלפון נייד אנדרואיד לבצע כמה פעולות שהוגדרו מראש. אתה יכול גם להשתמש בתוכנית (שניתנה בסוף ההדרכה) כדי לתפעל בקלות את פעולות הרובוט שלך על ידי שליטה במיקום מנועי הסרוו באמצעות הצג הסידורי. בעל מדפסת תלת ממד יהפוך את הפרויקט הזה למעניין יותר וייראה מגניב. אבל אם אין לך אחד, תוכל להשתמש בשירותים מקוונים או פשוט להשתמש בקרטון כלשהו כדי לבנות אותו.
חומרים נדרשים:
להלן החומרים הנדרשים לבניית רובוט זה:
- ארדואינו ננו
- סרוו SG90 - 4Nos
- מקלות ברג זכר
- מודול בלוטות 'HC-05 / HC-06
- מדפסת תלת מימד
כפי שאתה יכול לראות, רובוט מודפס בתלת מימד זה דורש חלקי אלקטרוניקה מינימליים מאוד כדי לבנות את עלות הפרויקט נמוכה ככל האפשר. פרויקט זה מיועד למטרות רעיוניות ומהנות בלבד ואין לו יישום בזמן אמת עד כה.
הדפסת תלת ממד את החלקים הנדרשים:
הדפסת תלת מימד היא כלי מדהים שיכול לתרום רבות בבניית פרויקטים של אב טיפוס או התנסות בעיצובים מכניים חדשים. אם עדיין לא גיליתם את היתרונות של מדפסת תלת מימד או איך היא עובדת, תוכלו לקרוא את המדריך למתחילים להדפסת תלת מימד.
בפרויקט זה גוף הרובוט המוצג לעיל מודפס בתלת מימד לחלוטין. תוכלו להוריד את קבצי ה- STL מכאן. טען קבצים אלה בתוכנת הדפסת התלת ממד שלך כמו Cura והדפס אותם ישירות. השתמשתי במדפסת בסיסית מאוד שלי להדפסת כל החלקים. המדפסת היא FABX v1 מבית 3ding אשר במחיר משתלם עם נפח הדפסה של 10 ס"מ מעוקב. המחיר הזול מגיע עם תמורה עם רזולוציית הדפסה נמוכה וללא כרטיס SD או פונקצית חידוש הדפסה. אני משתמש בתוכנה בשם Cura כדי להדפיס את קבצי ה- STL. ההגדרות בהן השתמשתי להדפסת החומרים ניתנות להלן, אתה יכול להשתמש בהן או לשנות אותן בהתבסס על המדפסת שלך.
לאחר שתדפיסו את כל החלקים נקו את התומכים (אם בכלל) ואז וודאו כי החורים ברגל ובחלק הבטן גדולים מספיק כדי להתאים לבורג. אם לא, השתמש במחט כדי להפוך את החור לגדול מעט. החלקים המודפסים בתלת מימד שלך ייראו כמו משהו למטה.
חומרה וסכימות:
החומרה עבור רובוט Arduino מבוקר דו-כיווני זה היא ממש פשוטה. התרשימים המלאים מוצגים בתמונה למטה
השתמשתי בלוח Perf כדי ליצור את החיבורים לעיל. ודא שהמעגל שלך ישתלב גם בראש הרובוט. ברגע שלוח Perf שלך מוכן, הוא אמור להיראות כמו למטה.
הרכבת הרובוט:
לאחר שהחומרה והחלקים המודפסים בתלת מימד מוכנים אנו יכולים להרכיב את הרובוט. לפני תיקון המנועים וודא שאתה מציב את המנועים בזוויות שלמטה כך שהתוכנית תפעל ללא דופי.
מספר מנוע |
מקום מוטורי |
מיקום מוטורי |
1 |
מנוע הירך השמאלי |
110 |
2 |
מנוע היפ ימני |
100 |
4 |
מנוע בקרסול ימני |
90 |
5 |
מנוע היפ ימני |
80 |
ניתן להגדיר זוויות אלה באמצעות התוכנית שניתנה בסוף ההדרכה. כל שעליך לעשות הוא להעלות את התוכנית לארדואינו לאחר ביצוע החיבורים שלמעלה ולהקליד את המסך הבא בצג הסדרתי (הערה: קצב השידור הוא 57600).
1, 100, 110
2,90,100
4,80,90
5,70,80
הצג הסידורי שלך צריך להיראות בערך ככה לאחר הצבת כל המנועים שלך במצב.
לאחר שהמנועים מוגדרים בזוויות המתאימות, הרכיב אותם כפי שמוצג באיור לעיל.
אם אתה מבולבל כיצד להרכיב את המנועים עקוב אחר הסרטון בסוף הדרכה זו. לאחר הרכבת הרובוט הגיע הזמן לתכנת את הרובוט הרוקד שלנו
תכנות את הארדואינו לרובוט דו-כיווני:
תכנות הרובוט BBB ( Bluetooth Biped Bob ) הוא החלק המעניין והמהנה ביותר במדריך זה. אם אתה טוב מאוד בתכנות מנועי סרוו עם Arduino, הייתי ממליץ לך להכין את התוכנית שלך. Bt, אם אתה רוצה ללמוד כיצד להשתמש במנועי סרוו ליישומים רובוטיים כאלה, אז תוכנית זו תועיל מאוד עבור. תוכלו ללמוד עוד על תכנות ארדואינו בקטגוריית פרויקטים של ארדואינו.
התוכנית המלאה ניתנת בסוף הדרכה זו, או שתוכל להוריד את הקוד המלא מכאן. אני אסביר את הקטעים של אותו להלן. התוכנית מסוגלת לשלוט בפעולות הרובוטים באמצעות צג סדרתי או Bluetooth. אתה יכול גם לבצע מהלכים משלך על ידי שליטה על כל מנוע בודד באמצעות הצג הסדרתי.
סרוו 1. לצרף (3); סרוו 2. לצרף (5); סרוו 4. לצרף (9); סרוו 5. לצרף (10);
שורות הקוד שלעיל היא משתמשת כדי להזכיר איזה מנוע סרוו מחובר לאיזה סיכה של הארדואינו. כאן במקרה שלנו סרוו 1,2,4 ו- 5 מחוברים לסיכות 3,5,9 ו- 10 בהתאמה.
Bot_BT.begin (9600); // התחל את תקשורת ה- Bluetooth ב 9600 baudrate Serial.begin (57600);
כפי שנאמר קודם לכן הרובוט ההולך שלנו יכול לעבוד על פקודות Bluetooth וגם על פי פקודות מהצג הטורי. מכאן שהתקשורת הסדרתית של בלוטות 'עובדת עם קצב שידור של 9600 והתקשורת הסדרתית עובדת עם קצב שידור של 57600. שמו של אובייקט ה- Bluetooth שלנו כאן הוא "Bot_BT".
מתג (מנוע) {מקרה 1: // עבור מנוע אחד {Serial.println ("ביצוע מנוע אחד"); אם (מספר 1
מארז המתגים המוצג לעיל משמש לשליטה במנועי הסרוו בנפרד. זה יעזור בקבלת מהלכים יצירתיים משלך עם הרובוט שלך. בעזרת קטע קוד זה תוכלו פשוט להגיד את מספר המנוע, מזווית וזווית כדי לגרום למנוע מסוים לנוע למיקום הרצוי.
לדוגמא אם אנו רוצים להזיז את המנוע מספר 1 שהוא מנוע הירך השמאלי ממיקום ברירת המחדל שלו 110 מעלות ל 60 מעלות. אנו יכולים פשוט לכתוב "1,110,60" בצג הסדרתי של ארדואינו וללחוץ על Enter. זה יהיה שימושי כדי לבצע מהלכים מורכבים משלך עם הרובוט שלך. ברגע שאתה מתנסה בכל המלאכים ועד לזווית, תוכל לבצע את המהלכים שלך ולחזור עליהם על ידי הפיכתו לפונקציה.
אם (Serial.available ()> 0) // קרא מה נכנס דרך Serial {gmotor = Serial.parseInt (); Serial.print ("מספר נבחר->"); Serial.print (gmotor); Serial.print (","); gnum1 = Serial.parseInt (); Serial.print (gnum1); Serial.print ("תואר"); gnum2 = Serial.parseInt (); Serial.print (gnum2); Serial.println ("תואר"); דגל = 1; }
אם נתונים סידוריים זמינים המספר לפני "," הראשון נחשב כמנוע, ואז המספר שלפני השני, "נחשב ל- gnum1 והמספר אחרי", "השני נחשב ל- gnum2.
אם (Bot_BT.available ()) // קרא מה נכנס דרך Bluetooth {BluetoothData = Bot_BT.read (); Serial.print ("נכנס מ- BT:"); Serial.println (BluetoothData); }
אם ה- Bluetooth מקבל מידע כלשהו, המידע שהתקבל נשמר במשתנה "BluetoothData". לאחר מכן משווים משתנה זה לערכים שהוגדרו מראש בכדי לבצע פעולה מסוימת.
אם (דגל == 1) קוראים (gmotor, gnum1, gnum2); // התקשר למנוע המתאים לפעולה // בצע את הפונקציות לפי הפקודה שהתקבלה דרך צג סידורי או Bluetooth // אם (gmotor == 10) left_leg_up (); אם (gmotor == 11) right_leg_up (); אם (gmotor == 12) move_left_front (); אם (gmotor == 13) move_right_front (); אם (BluetoothData == 49 - gmotor == 49) say_hi (); אם (BluetoothData == 50 - gmotor == 50) walk1 (); אם (BluetoothData == 51 - gmotor == 51) walk2 (); אם (BluetoothData == 52 - gmotor == 52) dance1 (); אם (BluetoothData == 53 - gmotor == 53) dance2 (); אם (BluetoothData == 54 - gmotor == 54) {test (); test (); test ();}
כאן נקראות הפונקציות על סמך הערכים שהתקבלו מהצג הטורי או מה- Bluetooth. כפי שמוצג לעיל gmotor המשתנה יהיה בעל ערך של צג סדרתי ו- BluetoothData יהיה בעל ערך ממכשיר Bluetooth. המספרים 10,11,12 עד 53,54 הם מספרים שהוגדרו מראש.
למשל אם תזין את המספר 49 בצג הסדרתי. הפונקציה say_hi () תבוצע במקום בו הרובוט יניף לך היי.
כל הפונקציות מוגדרות בתוך העמוד "Bot_Functions". אתה יכול לפתוח אותו ולראות מה קורה בפועל בתוך כל פונקציה. כל הפונקציות הללו נוצרו על ידי ניסוי ממלאך למלאך של כל מנוע באמצעות מקרה המתג שהוסבר לעיל. אם יש לך ספק תוכל להשתמש בסעיף ההערות כדי לפרסם אותם ואשמח לעזור לך.
יישום Android מבוסס עיבוד:
אפליקציית Android לשליטה ברובוט נבנתה באמצעות מצב Android Processing. אם ברצונך לבצע כמה שינויים ביישום תוכל להוריד מכאן את תוכנית העיבוד המלאה.
אם אתה פשוט רוצה להשתמש ביישום אתה יכול להוריד אותו מכאן כקובץ APK ולהתקין אותו ישירות בטלפון הנייד שלך.
הערה: יש לקרוא למודול ה- Bluetooth שלך HC-06 אחרת היישום לא יוכל להתחבר למודול ה- Bluetooth שלך.
לאחר התקנת היישום, באפשרותך להתאים את מודול ה- Bluetooth לטלפון שלך ואז להפעיל את היישום. זה צריך להראות בערך ככה למטה.
אם אתה רוצה להפוך את האפליקציה שלך לאטרקטיבית יותר או להתחבר לכל מכשיר אחר שאינו Hc-06. אתה יכול להשתמש בקוד העיבוד ולבצע בו כמה שינויים ואז להעלות את הקוד ישירות לטלפון שלך.
עבודה של רובוט דו-כיווני מבוקר:
ברגע שהחומרה, אפליקציית Android ו- Arduino Sketch מוכנים הגיע הזמן ליהנות עם הרובוט שלנו. באפשרותך לשלוט על הרובוט מיישום Bluetooth באמצעות הלחצנים ביישום או ישירות מהצג הסידורי באמצעות הפקודות הבאות, כפי שמוצג בתמונה למטה.
כל פקודה תגרום לרובוט לבצע כמה משימות מוזרות ותוכלו להוסיף על פעולות נוספות על סמך היצירתיות שלכם.
הרובוט יכול להיות מופעל גם על ידי מתאם 12V או יכול גם להיות מופעל באמצעות סוללה 9V. ניתן למקם את הסוללה בקלות מתחת ללוח Perf וניתן לכסות אותה גם עם ראש הרובוט.
את העבודה המלאה של הרובוט הנשלט באמצעות הטלפון החכם תוכלו למצוא בסרטון שלהלן.