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

רובוט סרוו נשלט Arduino (SERB): 7 שלבים (עם תמונות)
רובוט סרוו נשלט Arduino (SERB): 7 שלבים (עם תמונות)

וִידֵאוֹ: רובוט סרוו נשלט Arduino (SERB): 7 שלבים (עם תמונות)

וִידֵאוֹ: רובוט סרוו נשלט Arduino (SERB): 7 שלבים (עם תמונות)
וִידֵאוֹ: ארדואינו רובוט arduino servo robot 2024, יולי
Anonim
רובוט סרוו נשלט על ידי Arduino (SERB)
רובוט סרוו נשלט על ידי Arduino (SERB)
רובוט סרוו נשלט על ידי Arduino (SERB)
רובוט סרוו נשלט על ידי Arduino (SERB)
רובוט סרוו נשלט על ידי Arduino (SERB)
רובוט סרוו נשלט על ידי Arduino (SERB)
רובוט סרוו נשלט על ידי Arduino (SERB)
רובוט סרוו נשלט על ידי Arduino (SERB)

איזו דרך טובה יותר להתחיל להתנסות עם מיקרו -בקרי קוד פתוח (Arduino) ואז לבנות רובוט קוד פתוח משלך (CC (SA -BY))? מה לעשות עם ה- SERB שלך?

  • (כאן) - כיצד לחבר את ה- SERB שלך לאינטרנט ולהניע אותו באמצעות שיחת וידאו של סקייפ.
  • (כאן) - כיצד לשלוט ב- SERB שלך באמצעות מד התאוצה של Wii nunchuck
  • (כאן) - כיצד להוסיף מכשירי זיהוי מכשולים לרובוט שלך
  • (כאן) - כיצד להכין 30 ערכות (ייצור פתוח)

מאפיינים:

  • ניתן לתכנות במלואו באמצעות בקר מיקרו Arduino Duemilanove (או מיקרו-בקר אחר לבחירתכם).
  • אין צורך בהלחמה.
  • מבחר אפשרויות חיתוך לחתיכות אקריליק. (מסור גלילה, גישה לחותך לייזר, רכישת חתיכות חתוכות מראש)
  • ניתן להרחבה ולשינוי בקלות עם חורי בורג נוספים וכלול לוח.
  • גלגל אחורי כפול כדורי.
  • הפעלה תוך 1-2 שעות. (מתוך ערכה)
  • עיצוב קוד פתוח (בנה כמה שאתה אוהב)

(תקע בלי בושה) בבריטניה ואוהבים דברים של ארדואינו? בדוק את חנות האינטרנט החדשה שלנו oomlout.co.uk סרטון מהיר של רובוט סרוו נשלט Arduino שהושלם - (SERB) המפעיל את תוכנית הבדיקה הכלולה (שלב 6) הערה: קבצי המקור זמינים במדריך מקביל (קבצי מקור) - כיצד להכין רובוט סרוו נשלט על ידי Arduino - (SERB)

שלב 1: חלקים וכלים

חלקים וכלים
חלקים וכלים

את כל הברגים ניתן למצוא בהום דיפו המקומי שלך. את החלקים האחרים ניתן למצוא באינטרנט (לכלול קישור למקור האהוב עלי לכל אחד). רשימת חלקים: ניתן לרכוש חבילה המכילה את כל פריטי החומרה בחנות oomlout.com (כאן) (120 $) אגוזים וברגים:

  • בורג 3 מ"מ x 15 מ"מ (x20)
  • בורג 3 מ"מ x 10 מ"מ (x12)
  • אגוז 3 מ"מ (x34)
  • מכונת כביסה 3 מ"מ (x12)
  • בורג 8 מ"מ על 25 מ"מ (x2)
  • אגוז 8 מ"מ (x2)
  • מיסבי גלגיליות (x2) (VXB) (אלה הם מיסבי גלגיליות סטנדרטיים כך שניתן להציל אותם מזוג רולר בליידס או סקייטבורד)

צמיגים

  • טבעת O גדולה (4.5 "מזהה 3/16" חרוז מקף #349) (x2) (מוצר McMaster-Carr #9452K407)
  • טבעת O קטנה (3/4 "מזהה 3/16" מקף חרוזים #314) (x1) (מוצר McMaster-Carr #9452K387)

מכשירי חשמל

  • Arduino Duemilanove (x1) (Maker Shed)
  • סרוו סיבוב רציף (x2) (פרלקסה)
  • 400 משטח לחם (x1) (כל האלקטרוניקה))
  • תיבת סוללות Quad AA (x1) (כל האלקטרוניקה)
  • קליפ לסוללה 9V (x1) (כל האלקטרוניקה)
  • תקע 2.1 מ"מ (x1) (כל האלקטרוניקה)
  • כותרת 3 פינים (x2) (כל האלקטרוניקה)
  • כבל USB A -B - סגנון מדפסת (x1) (כל האלקטרוניקה) (לא כלול בערכה)

סוללות:

  • סוללת AA (x4) (לא כלולה בערכה)
  • סוללת 9v (x1) (לא כלולה בערכה)

חוט: (כל החוט הוא 22 AWG מוצק אני רוכשת את שלי דרך מקמאסטר-קאר)

  • 15 ס"מ סגול (x2)
  • 15 ס"מ שחור (x1)
  • 5 ס"מ שחור (x2)
  • 5 ס"מ אדום (x2)

כלים

  • מברג (x1) (פיליפס)
  • צבת אף מחט (x1)

שלב 2: חיתוך חתיכות

חיתוך חתיכות
חיתוך חתיכות
חיתוך חתיכות
חיתוך חתיכות
חיתוך חתיכות
חיתוך חתיכות
חיתוך חתיכות
חיתוך חתיכות

אנא בחר באילו שלבים לפעול בהתאם לאפשרות החיתוך שבחרת. אפשרות 1 (רכישת חלקים חתוכים מראש)

רכשו מארז חתוך מראש מהחנות של oomlout.com (כאן) ($ 60 כולל משלוח לארה"ב וקנדה)

אפשרות 2 (ייצור דיגיטלי (כלומר. פונקו) / גישה לחותך לייזר)

  • הורד את פריסת חותך הלייזר ("פריסת חיתוך 03 SERB Ponoko P2.eps" או "03- (SERB) -Ponoko Cutting Layout (P2).cdr")
  • גזרו את הקבצים באמצעות פונוקו או בחותך לייזר משלכם (באמצעות 3 מ"מ,.118 "אקריליק (לפעמים נמכר כ.125")

אפשרות 3 (מסור גלילה וקידוח)

  • הורד והדפס את תבנית ה- PDF (אנא בחר את הקובץ המתאים לגודל הנייר שלך) 03- (SERB)-תבנית מסור גלילה (אות).pdf 03- (SERB)-תבנית גלילה (A4).pdf (חשוב לא להגדיל הציור בזמן ההדפסה)
  • מדוד את הסרגל בהדפסה מול סרגל שאתה סומך עליו, אם הם לא תואמים התבנית גודלה ואתה צריך להסתכל על הגדרות המדפסת שלך לפני ההדפסה מחדש. אם הם אכן תואמים, הלאה.
  • הדבק את התבנית ליריעה האקרילית (3 מ"מ,.118 אינץ '(נמכר לפעמים כ -125 ").
  • חורי קדיחה.
  • חיתוכים בעזרת מסור מגילה

שלב 3: הרכבה

הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה

ברכות על שהושגת עד כאן 90% מהתהליך הושלם פשוט הורד את הוראות ההרכבה בשלב זה (04- (SERB) -הרכבת מדריך. PDF) ולאחר הרכבה קטנה בסגנון לגו/מכאנו תהיה מוכן לחבר. לשעשע אותך בדרך הנה חלוף הזמן של האסיפה שלי:

שלב 4: חיווט

תִיוּל
תִיוּל
תִיוּל
תִיוּל

עם כל החלקים הגדולים ביחד הגיע הזמן להוסיף את הוורידים החשמליים הקטנים שיאפשרו שליטה ברובוט שלנו. לשם כך הורד והדפס את תרשים החיווט (05- (SERB) -Wiring Diagram.pdf). מבט ראשון על זה יכול להיראות די מרתיע, אולם אם אתה מבצע כל חיבור ברצף ולוקח את הזמן הוא מתחבר במהירות להפליא. החיווט פשוט למדי ואין שום נזק יכול להגיע למעגל שלך עד שתוסיף סוללות. אז חיבר הכל שוב, בדוק את זה ואז הוסף כוח.

שלב 5: בדיקה ופתרון בעיות

בדיקה ופתרון בעיות
בדיקה ופתרון בעיות

אם הזמנת ערכה הארדואינו שלך נטען מראש עם תוכנית בדיקה. פשוט הכנס 4 סוללות AA וחבר את סוללת 9V לארדואינו. ואם הכל בוצע כהלכה הרובוט שלך יתחיל לנוע (הוא יפנה לכיוון אקראי למשך זמן שבין 0.1 לשנייה לפני שהוא ימשיך קדימה לזמן אקראי בין 1 ל -2 שניות ואז ישהה במשך 2 שניות לפני שהוא מתחיל מחדש). אם לא רכשת ערכה יש צורך בצעד נוסף. הורד את קובץ ה- zip המצורף (07- (SERB)-SERB-Test Arduino Program.zip). לאחר מכן, פרקו אותו בספריית הסקיצות של Arduino (ברירת המחדל "המסמכים שלי / Arduino \") והורידו אותו ללוח הארדואינו שלכם. (אם אתה חדש בארדואינו קפץ קדימה שלב אחד שבו יש קישורים להדרכות נהדרות להתחלה) בעיות נפוצות: ה- SERB שלי זז לאט כאשר יש לעצור אותו. זוהי תוצאה מכך שהסרבים שלך לא מכוילים כמו שצריך, כדי לכייל את הסרווס שלך חכה עד שהתוכנית שלך תפסיק את הסרוו ואז מברג קטן מסובב את הפוטנציומטר בתוך הסרוו (הפתח הקטן במעטפת הסרוו ממש מעל המקום שבו נמצאים החוטים). סובב אותו שמאלה או ימינה עד שהסרוו יופסק באמת. הדברים לא עובדים כראוי. שלח לנו דוא"ל עם הסימפטומים שלך וננסה לעזור לך בזמן שאתה מחכה לתשובה בדוק שוב את כל החוטים שלך עם תרשים החיווט משלב 4. אם אתה נתקל בבעיה כלשהי אנא הוסף הערה למדריך זה או שלח דואר אלקטרוני ל [email protected] ואנו ננסה כמיטב יכולתנו לעזור לך לגרום ל- SERB שלך לפעול

שלב 6: תכנות

תִכנוּת
תִכנוּת

הרובוט הפיזי סיים את הזמן להתחיל לתת לו מוח. לפני שנכנס לפרטים של תכנות רובוט סרוו נשלט על ידי Arduino - (SERB) - כמה קישורים לכמה משאבי תכנות מצוינים של Arduino באינטרנט. מדריך למתחילים של Arduino - מדריך כדי לעזור לך להתחיל עם Arduinos, החל מהורדת סביבת התכנות ועד כתיבת התוכנית הראשונה שלך. התייחסות לתכנות ארדואינו - מדריך מלא להתייחסות לשפת התכנות של Arduino. כיצד פועלים סרווס - תחל מהיר לאופן עבודת מנועי סרוו. ספריית סרוו ארדואינו. - כיצד פועלת ספריית סרוו ארדואינו (כיצד אנו שולטים בסרוווס שלנו). בסדר עם הלמידה מהדרך אפשר לקבל תכנות. ישנן שלוש דרכים להתחיל לתכנת את רובוט הסרוו נשלט Arduino שלך - (SERB). אפשרות 1: (שינוי SERB_Test.pde) לפעמים כאשר מתכנת הדבר הכי קל לעשות הוא לקחת תוכנית עובדת ולהתחיל להוסיף לה קוד משלך. לשם כך הורד את התוכנית עם רוכסן SERB_Test (07- (SERB)-SERB-Test Arduino Program.zip). המשך לפתוח את התיק הזה בתיקיית הסקיצה של Arduino (ברירת המחדל "המסמכים שלי / Arduino \"). לבסוף פתח את סביבת התכנות של Arduino והורד אותה ל- Arduino שלך. הקוד מגיב היטב. (או העתק והדבק את הקוד מהנספח בשלב זה לסקיצה חדשה של Arduino) אפשרות 2: (הוספת שגרות SERB לתוכנית שלך) הוסף מספר שגרות פשוטות לתוכנית הקיימת שלך (כמו goForward (), setSpeed (int) וכו '). לשם כך הורד את השגרה בקובץ הטקסט (07- (SERB)- פשוט שגרות Text.txt). 1. העתק והדבק את חלק ההקדמה לתחילת התוכנית.2. העתק והדבק את החלק השגרתי בגוף התוכנית שלך. הוסף שיחה ל- serbSetup (); לשגרת ההתקנה () שלך. אפשרות 3: (יצירת תוכנית משלך מאפס) זה לא קשה מדי. כל מה שנדרש הוא להכיר את ספריית סרווו של ארדואינו. ואז הסרוו הימני מחובר לסיכה 9, והסרוו השמאלי לסיכה 10. הערה: תוכניות נוספות יתווספו כאן עם פיתוחן; או אם אתה מפתח משהו והיית רוצה שהוא יופיע, שלח לי הודעה פרטית וניתן להוסיף אותו. נספח: (קוד SERB_Test.pde)

/ * * רובוט סרוו נשלט על ידי Arduino (SERB) - תוכנית בדיקה * לפרטים נוספים בקר: https://www.oomlout.com/serb * * התנהגות: תוכנית בדיקה פשוטה הגורמת ל- SERB * להסתובב באקראי שמאלה או ימינה למשך * זמן אקראי בין 0.1 לשנייה. * ה- SERB יסע קדימה לתקופת זמן אקראית * בין 1 ל -2 שניות. לבסוף * השהיה למשך 2 שניות לפני שתתחיל מחדש. * * חיווט: אות סרוו ימין - סיכה 9 * אות סרוו שמאל - סיכה 10 * * רישיון: יצירה זו מורשית תחת Creative Commons * ייחוס -שיתוף זהה 3.0 רישיון לא מיובא. כדי * לצפות בעותק של רישיון זה, בקר * https://creativecommons.org/licenses/by-sa/3.0/ * או שלח מכתב ל- Creative Commons, רחוב 171 השני *, סוויטה 300, סן פרנסיסקו, קליפורניה 94105, * ארה"ב. * */// ---------------------------------------------------- ----------------------------- // תחילת מבוא SERVO ROBOT (SERB) נשלט על ידי ARDUINO #כלול #הגדר LEFTSERVOPIN 10 #הגדר RIGHTSERVOPIN 9 סרבו עזב סרבו; סרוו מימין סרבו; מהירות int = 100; // מגדיר את מהירות הרובוט (שני הסרווואים) // אחוז בין 0 ל -100 // סוף קדם SERBO SERVO (SERB) מבוקר ARDUINO // ---------------- -------------------------------------------------- --------/ * * קובע סיכות למצבים מתאימים ומצמיד סרווס. ואז מושהה * למשך שנייה אחת לפני שהתוכנית מתחילה */ הגדרת void () {serbSetup (); // קובע את מצב כל הסיכות הנדרשות // ומוסיף סרוו למערכון שלך randomSeed (analogRead (0)); // מגדיר את זרע המספר האקראי עם // משהו עיכוב אקראי מעט (1000);}/ * * מסובב את הרובוט שמאלה או ימינה (באופן אקראי) לתקופה שבין * 0.1 לשנייה. לפני ההמשך לפרק זמן אקראי * בין 1 ל -4 שניות. לפני שתשהה במשך שתי שניות ואז התחל * שוב. */לולאת void () {turnRandom (100, 1000); // מסתובב באקראי שמאלה או ימינה במשך // זמן אקראי בין.1 שנייה // לשנייה goForwardRandom (1000, 2000); // ממשיך קדימה לתקופה אקראית // בין // 1 ל -2 שניות goStop (); // עוצר את עיכוב הרובוט (2000); // מושהה למשך 2 שניות (תוך עצירה)}/ * * מסובב את הרובוט באופן אקראי שמאלה או ימינה לפרק זמן אקראי בין * minTime (מילי שניות) ל- maxTime (מילי שניות) */void turnRandom (int minTime, int maxTime) {int בחירה = אקראית (2); // מספר אקראי להחלטה // בין שמאל (1) וימין (0) int turnTime = random (minTime, maxTime); // מספר אקראי להשהיה // זמן אם (בחירה == 1) {goLeft ();} // אם מספר אקראי = 1 פנה // שמאלה אחר {goRight ();} // אם מספר אקראי = 0 אז פנייה // עיכוב ימינה (turnTime); // עיכוב לזמן אקראי}/ * * מתקדם לתקופה אקראית בין minTime (מילי שניות) * ו- maxTime (מילי שניות) */void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime); // לקבוע זמן אקראי ל // ללכת קדימה goForward (); // מגדיר את העיכוב קדימה של SERB (forwardTime); // עיכובים לפרק זמן אקראי} // ----------------------------------------- -------------------------------- // תחילת מסלול רובו SERVO (SERB) נשלט על ידי ARDUINO/ * * מגדיר את arduino כדי לפנות ל- SERB שלך באמצעות השגרות הכלולות*/void serbSetup () {setSpeed (speed); pinMode (LEFTSERVOPIN, OUTPUT); // מגדיר את סיכת אות סרוו השמאלית // לפלט pinMode (RIGHTSERVOPIN, OUTPUT); // מגדיר את סיכת אות הסרוו הימנית // לפלט leftServo.attach (LEFTSERVOPIN); // מצרף סרוו שמאל rightServo.attach (RIGHTSERVOPIN); // מצרף סרוו ימני goStop ();}/ * * קובע את מהירות הרובוט בין 0- (עצור) ל- 100- (מהירות מלאה) * הערה: המהירות לא תשנה את המהירות הנוכחית עליך לשנות מהירות * ואז להתקשר לאחת של שיטות ה- go לפני שהשינויים מתרחשים.*/void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // אם המהירות גדולה מ- 100 // הפוך אותו ל- 100 if (newSpeed <= 0) {newSpeed = 0;} // אם המהירות נמוכה מ- 0 יוצרים // זה 0 speed = newSpeed * 0.9; // מדרג את המהירות להיות // בין 0 ל- 90}/ * * שולח את הרובוט קדימה */void goForward () {leftServo.write (90 + מהירות); rightServo.write (90 - מהירות);}/ * * שולח את הרובוט לאחור */void goBackward () {leftServo.write (90 - מהירות); rightServo.write (90 + מהירות);} / * * שולח את הרובוט ימינה * /void goRight () {leftServo.write (90 + מהירות); rightServo.write (90 + מהירות);}/ * * שולח את הרובוט שמאלה */void goLeft () {leftServo.write (90 - מהירות); rightServo.write (מהירות 90);}/ * * עוצרת את הרובוט */void goStop () {leftServo.write (90); rightServo.write (90);} // סיום מסלולי רובו של SERVO (SERB) נשלטים על ידי ARDUINO // ---------------------------- -----------------------------------------------

שלב 7: סיימו, אחרים שסיימו והעתיד

סיימו, אחרים שסיימו והעתיד
סיימו, אחרים שסיימו והעתיד
סיימו, אחרים שסיימו והעתיד
סיימו, אחרים שסיימו והעתיד
סיימו, אחרים שסיימו והעתיד
סיימו, אחרים שסיימו והעתיד
סיימו, אחרים שסיימו והעתיד
סיימו, אחרים שסיימו והעתיד

כל הכבוד שהגעת עד לכאן ואני מקווה שאתה נהנה עם רובוט הסרוו הנשלט על ידי Arduino שלך - (SERB). SERB של מייקל בק - מיכאל מצא את התוכניות של ה- SERB ב- Thingiverse.com וחתך אותו מאקריליק צהוב ואדום. אני חושב שזה נראה מצוין. SERB של מייק - מייק (ממועדון הרובוטים של רובוט סנט לואיס ROBOMO) חיתך חבר בלייזר שלדה של SERB והשתמש בידע רובוטי משלו כדי להריץ אותו. אני חושב שזה נראה מדהים בצבע כחול. (בדוק את האתר שלו לפרטים על זה כמו גם על הרובוטים האחרים שלו (כאן) בסעיף זה יהיו פרטים על התפתחויות וקבצים מצורפים עתידיים (הם יוצגו כאן לפני שהם מתועדים כראוי). אבל אני גם רוצה להציג תמונות של אנשים אחרים של SERB. אז אם סיימת שלח לי הודעה פרטית עם תמונה וכמה מילים (יהיה זה תיאור או קישור לאתר שלך) ואני אוסיף אותו כאן. (תקע בלי בושה) אם אהבת בדוק את oomlout.com לפרויקטים אחרים מהנים של קוד פתוח.

פרס ראשון בתחרות SANYO eneloop המופעלת באמצעות סוללות

מוּמלָץ: