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

רובוט מרובה DIY עם ארדואינו: 13 שלבים (עם תמונות)
רובוט מרובה DIY עם ארדואינו: 13 שלבים (עם תמונות)

וִידֵאוֹ: רובוט מרובה DIY עם ארדואינו: 13 שלבים (עם תמונות)

וִידֵאוֹ: רובוט מרובה DIY עם ארדואינו: 13 שלבים (עם תמונות)
וִידֵאוֹ: בניית מכונית בסיסית 2024, יולי
Anonim
רובוט מובחר DIY עם ארדואינו
רובוט מובחר DIY עם ארדואינו
רובוט מובחר DIY עם ארדואינו
רובוט מובחר DIY עם ארדואינו
רובוט מובחר DIY עם ארדואינו
רובוט מובחר DIY עם ארדואינו

רובוט זה נבנה בעיקר להבנת Arduino ושילוב פרויקטים שונים של Arduino ליצירת רובוט Arduino רב תכליתי. ועוד, מי לא רוצה שיהיה רובוט לחיות מחמד? אז קראתי לו BLUE ROVIER 316. יכולתי לקנות מארז עם מסלול יפה אבל הכנתו מאפס מלמדת אותך יותר ונותנת לך יותר גאווה לאחר שסיימת אותו. הרובוט מסוגל להבין פקודות קוליות, לענות על שאלות פשוטות, לשלוט כמו מכונית RC ואפילו הימנעות ממכשולים תוך כדי תנועה. הוא נשלט בעיקר באמצעות טלפון אנדרואיד המחובר אליו באמצעות בלוטות '. בהתבסס על תכונות אנדרואיד כגון זיהוי קולי של Google וחישת הטיה, הוא יכול להתנהג ממש כמו רובוט חמוד וחכם. הוספתי את BLUE בשמו מכיוון שהוא מבוסס בעיקר על בלוטות '. זה היה למעשה הפרויקט הראשון שלי של ארדואינו ורציתי שהוא יהיה ייחודי. אם אתה אוהב את הפרויקט, אנא הצביע עבורי בתחרות הרובוטיקה!

שלב 1: סרטון הדגמה

Image
Image
סיפורו של ROVIER
סיפורו של ROVIER

אתה יכול לצפות בהדגמה של הרובוט באתר זה:

שלב 2: סיפורו של ROVIER

סיפורו של ROVIER
סיפורו של ROVIER

אתה יכול לקפוץ לשלב הבא אם אינך רוצה לעבור על הסיפור הקטן והחמוד של בלו רובייר 316. לפני כשנה אחורה, קיבלתי מתנת ארדואינו UNO במתנה מאבי. מכיוון שזה היה הצעד הראשון שלי בתחום Arduino, רציתי ליצור משהו שונה וייחודי מפרויקטים כלליים של Arduino. זה היה צריך להיות רובוט חמוד וחכם שיכול להבין פקודות קוליות ולעשות הרבה יותר דברים חכמים כמו שלט רחוק, קווים עוקבים, הימנעות ממכשולים וכן הלאה. השאלה הייתה איך לשלב אותם יחד. ואחרי שגלשתי ברשת ממש יפה, הגעתי למסקנה שבלוטות 'יהיה המצב הזול ביותר. וכך, BLUE ROVIER יצא לדרך, אך נוצר מצב שבו הייתי צריך להוציא תכונות רבות של הרובוט שציפיתי שיהיה לו, בעיקר בגלל היעדר הזיכרון ב- Arduino UNO (אפילו מספר קטן יותר של ה- סיכות דיגיטליות ב- UNO). לא משנה, המשכתי. לקח לי זמן טוב ליצור את הגרסה הסופית של הרובוט. וכך לאחר ניסיונות וכישלונות רבים, סוף סוף נוצר BLUE ROVIER. וכך הלאה נוכל לעבור לייצור הרובוט.

שלב 3: רכיבים וחלקים

רכיבים וחלקים
רכיבים וחלקים
רכיבים וחלקים
רכיבים וחלקים
רכיבים וחלקים
רכיבים וחלקים

תזדקק רק לרכיבים הבאים: 1. מערכת אנדרואיד 2. מודול Arduino Uno 3. wtv020-sd-16p ורמקול 8ohm4. 2x מעגל בקר מנוע L293d 5. מנועים וגלגלים 4x bo6. חיישן קולי HC SR04 7. סרוו 9 גרם. 8 מחזיק סוללות AA וסוללות 9. כרטיס מיקרו SD 1GB 10. תיבת מתג קטנה לשלדה.11. מודול בלוטות 'HC 05 אני יודע שזה נראה יקר! אבל אל דאגה, זה יעלה רק כאלפיים או שלושת אלפים רופי. אם מדברים על אנדרואיד, זה לא יהיה בעיה מצוינת להחזיק אחד כי רוב זה קיים בימינו. אבל אם גרסאות חדשות יותר (מעל 5.0) עשויות לשפר את הביצועים. נסה לקנות מנועים בעלי סל"ד מתון (60 עד 100). זה יעזור לשמור על מהירות הרובוט תחת שליטה, מכיוון שלא מותקן מעגל בקרת מהירות אחר. ו -8 סוללות aa מספיקות כדי להניע את הרובוט לזמן טוב. ובהתחשב ב- Bluetooth, HC 05 מתאים לרובוט מכיוון שהוא זול מספיק וגם הביצועים יוצאים מן הכלל. כרטיס המיקרו SD של 1 GB נחוץ לאחסון קבצי קול המופעלים כאשר נשאלת שאלה כלשהי לרובוט [נדון בהרחבה בחלקו המאוחר יותר של המאמר]. שאר המרכיבים נדונים בפירוט בשלב שלהם.

כעת נעבור לכמה "תיאוריות" פשוטות המשמשות ברובוט זה.

שלב 4: תורת השליטה הקולית

תורת בקרת הקול
תורת בקרת הקול
תורת בקרת הקול
תורת בקרת הקול
תורת בקרת הקול
תורת בקרת הקול
תורת בקרת הקול
תורת בקרת הקול

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

שלב 5: תורת בקרת מחוות

תורת בקרת מחוות
תורת בקרת מחוות
תורת בקרת מחוות
תורת בקרת מחוות

מצב בקרת המחוות או בקרת התנועה מתבצע גם באמצעות האנדרואיד. במצב זה ניתן לשלוט ברובוט כמכונית RC באמצעות האנדרואיד כהגה. יש חיישן בשם "תאוצה" בכל האנדרואידים המשמש במצב זה. מד תאוצה זה יכול לקבוע את הזווית שבה כותרת הטלפון על ידי מדידת כוחות התאוצה הפועלים על האנדרואיד. החיישן הזה הוא שגורם לאנדרואיד לסובב את המסך שלו כשאנחנו מטים את הטלפון. האפליקציה כאן משתמשת במד התאוצה של הטלפון כדי לקבוע את הזווית שבה הטלפון מוטה. לאחר מכן תו (A, B…) נשלח לרובוט באמצעות בלוטות '. הארדואינו מתוכנת לעבוד על פי הנתונים שהתקבלו. אם הטלפון מוטה קדימה, תו A נשלח והרובוט נע קדימה. כשהוא מוטה לאחור, תו B נשלח והרובוט נע אחורה וכן הלאה לשמאל וימין. כאשר האנדרואיד ממוקם בצורה אופקית, הדמות E נשלחת והרובוט מפסיק לזוז.

שלב 6: תורת השליטה ב- Bluetooth

תורת בקרת בלוטות '
תורת בקרת בלוטות '
תורת בקרת בלוטות '
תורת בקרת בלוטות '

במצב זה, הרובוט עובד כמכונית RC כללית. אין דבר חדש במצב זה, זה בדיוק כמו מכונית כללית בשלט רחוק הקיימת בשוק, ההבדל היחיד הוא שאנחנו משתמשים באפליקציית אנדרואיד לשליטה ברובוט. יש אפליקציות שונות באפליקציה, שלכל אחת מהן יש תווים שונים קשור אליו. כאשר נוגעים במקש כלשהו, תו נשלח אל הרובוט באמצעות בלוטות ', בדיוק כמו מצב בקרת המחוות. יתר על כן, אותן תווים נשלחים כאשר נוגעים במקשים המתאימים, והרובוט עוקב אחר התווים הנכנסים. השתמשתי בכפתורי 360 ו -360 מעלות באפליקציה כדי לגרום לרובוט להיראות ימינה ושמאלה. אתה יכול לשנות את זה בקוד אם אתה רוצה לגרום לרובוט לעשות דברים אחרים.

שלב 7: תורת ההימנעות ממכשולים

תורת הימנעות ממכשולים
תורת הימנעות ממכשולים
תורת הימנעות ממכשולים
תורת הימנעות ממכשולים

במצב זה, הרובוט פועל כרובוט הימנעות ממכשולים, ומונע מעצמו להתנגש בכל אובייקט. זה נעשה עם חיישן HC SR04. אני מניח שאתה יודע על SONAR (ניווט וקול). חיישן HC SR04 פולט ללא הרף גלי קול קולי. גלים אלה חוזרים אחורה לאחר שפגעו במשטח מוצק וחוזרים לחיישן. הזמן שלוקח לגלים לחזור לחיישן מתועד. מכיוון שהצליל עובר במהירות של 340 מ 'ושנייה ואנו יודעים ש- SPEED × TIME = DISTANCE, נוכל לקבוע את המרחק קדימה. לדוגמה, אם הצליל לוקח 2 שניות כדי לחזור, נוכל לקבוע את המרחק באמצעות הנוסחה הנ"ל כלומר 340 × 2 = 680 מ '. כך יכול הרובוט למדוד את המרחק לפניו באמצעות החיישן. בזמן הזזת הרובוט מודד את המרחק קדימה דרך החיישן. אם הוא מרגיש שהמרווח הבהיר שלפניו פחות מ -30 ס"מ, הוא מפסיק לזוז. ואז הוא נראה ימינה ושמאלה ומשווה את המרחק של כל צד. אם לצד השמאלי יש מרחק גדול יותר, הרובוט פונה שמאלה. אחרת אם הצד הימני גדול יותר, הרובוט פונה ימינה. אם לשני הצדדים יש מרחקים שווים, הרובוט מסתובב לאחור. מנגנון פשוט זה מסייע לרובוט להימנע מהמכשולים.

שלב 8: הרכבת המארז

הרכבת המארז
הרכבת המארז
הרכבת המארז
הרכבת המארז
הרכבת המארז
הרכבת המארז
הרכבת המארז
הרכבת המארז

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

שלב 9: הכנת מודול הקול

הכנת מודול הקול
הכנת מודול הקול
הכנת מודול הקול
הכנת מודול הקול
הכנת מודול הקול
הכנת מודול הקול

מצב הדיבור של הרובוט מתקיים על ידי מודול WTV 020 SD. המודול משמש להפעלת קבצי קול עבור הרובוט. כאשר נשאלת כל שאלה, הארדואינו יגרום למודול לנגן את קובץ הקול המתאים בכרטיס ה- SD. במודול ישנם ארבעה קווי נתונים סדרתיים לתקשורת עם הארדואינו, האיפוס, השעון, הנתונים והסיכות העמוסות. זכור ששמות הקבצים צריכים להיות עשרוניים (0001, 0002 …). ושהקבצים צריכים להיות בפורמט AD4 או WAV. יתר על כן, המודול עובד רק על כרטיס מיקרו SD של 1 ג'יגה -בתים. חלק מהמודולים אפילו עובדים על כרטיסי 2GB והכרטיס יכול להכיל 504 קבצי קול לכל היותר. אז אתה יכול לכלול מספר טוב של קבצי קול להפעלה למספר לא מבוטל של שאלות. אתה יכול אפילו ליצור קבצי AD4 משלך (אתה יכול לדלג על חלק זה אם אתה יכול להתאים עם קבצי הקול המסופקים יחד עם זה בלתי ניתן להבנה)., עליך להיות בעל שתי תוכנות, תוכנת עריכת סאונד ותוכנה בשם 4D SOMO TOOL אשר תמיר את הקבצים לפורמט AD4. שנית, עליך להכין את קולות הרובוט. אתה יכול להמיר טקסט לדיבור או אפילו להקליט את הקול שלך ולהשמיע את קולות הרובוט. את שניהם ניתן לבצע בתוכנת עריכת סאונד. אבל אין ספק שרובוטים לא נראים טוב אם הם מדברים קולות אנושיים. אז עדיף להמיר טקסט לדיבור. ישנם מנועים שונים כמו Microsoft Anna ו- Microsoft Sam your Computer שיעזרו לעשות זאת. לאחר הכנת קבצי הקול, עליך לשמור אותו ב 32000 הרץ ובפורמט WAV. הסיבה לכך היא שהמודול יכול להפעיל קבצי קול עד 32000 הרץ. לאחר מכן השתמש בכלי SOMO 4D כדי להמיר את הקבצים לתבנית AD4. לשם כך, פשוט פתח את SOMO TOOL, בחר את הקבצים ולחץ על קוד AD4 וקבצי הקול שלך מוכנים. אתה יכול לבדוק את התמונה למעלה לעיון. אם אתה רוצה פרטים נוספים בקבלת קולות רובוטיים, אתה יכול ללכת לכאן:

[יצירת קולות רובוטיים] להלן קבצי הקול המקוריים והתוכנה:

שלב 10: יצירת החיבורים

יצירת החיבורים
יצירת החיבורים
יצירת החיבורים
יצירת החיבורים
יצירת החיבורים
יצירת החיבורים

קצר את כל סיכות ה- Vcc של המודולים המתאימים יחד וחבר אותו לסיכת 5V בארדואינו. לעשות את אותו הדבר עבור סיכות gnd. להלן החיבורים של המודולים השונים. מודול HC 05: סיכת RX לסיכה לחפירת ארדואינו פין 0. TX לחבילה ארדואינו 1. חיישן SR04 SR: הדק פין לסיכת חפירת ארדואינו 6. פין טריג לסיכה לחפירת ארדואינו 7WTV020-SD מודול: pin1 (איפוס סיכה) ל- arduino dig pin2.pin4 לרמקול +pin5 לרמקול -pin7 (שעון) ל- arduino dig pin3.pin8 ל- gnd.pin10 (נתונים) ל- arduino dig pin4.pin15 (תפוס) ל- arduino dig pin5.pin16 עד 3.3v לאחר מכן, חבר את חוט אות הסרוו (צהוב) וכדי לחפור את פין 12. L293d בקר המנוע: סיכה A1 לסיכה לחפירת ארדואינו 8. פין A2 לסיכת חפירת ארדואינו 9. פין B1 לסיכה לחפירת ארדואינו 10. פין B2 ל- arduino dig pin 11. זכור כי ברובוט זה אנו משתמשים בשני מודולים L293d. הסיבה לכך היא שלמודול אחד יש יכולת להניע עד שני מנועים. על מנת לשלוט בארבעה מנועים, אנו משתמשים בשני נהגים מנועים. אז זכרו לבצע חיבורים כפולים על שני המודולים של בקר המנוע. לדוגמא חבר את סיכת Arduino 8 לסיכה A1 של שני מודולי הנהג. אל תשכח לחבר את הפלט של מודול אחד על שני מנועים ואת המודול השני לשני המנועים האחרים. בדוק את התרשים לעיון נוסף.

שלב 11: קוד הארדואינו

קוד הארדואינו
קוד הארדואינו
קוד הארדואינו
קוד הארדואינו

זו הייתה תקופה מרגשת בהכנת הקוד. זה לא קוד מסובך כלל, הוא פשוט משתמש בכמה ספריות כדי לתקשר עם האנדרואיד ומודול הקול. חלק עיקרי מהעבודה מתבצע באנדרואיד ולא בארדואינו. הקוד מבוסס על תקשורת בלוטות 'והנתונים הנכנסים מהבלוטות'. הקוד עשוי בצורה כזו שעלינו לתת לפקודות קוליות לרובוט כדי לבצע את המצבים השונים והארדואינו בודק ללא הרף אם יש אותות Bluetooth נכנסים. כדי לעצור כל מצב, עלינו רק לומר "עצור". הבעיה היחידה עם הקוד היא שעלינו לכבות את הרובוט באופן ידני כשהוא במצב הימנעות ממכשולים. איננו יכולים להשתמש בפקודה "עצור" במצב זה. הסיבה לכך היא שהגדרת תכונה זו משפיעה על מהירות הסריקה של מרחק האובייקטים. הארדואינו יצטרך לקרוא בו זמנית גם את מרחק האובייקט וגם את אותות ה- Bluetooth הנכנסים. זה מפריע למצב והרובוט לא מצליח להגן על עצמו לחלוטין ממכשולים. הרובוט עלול להיכשל לעצור באופן מיידי גם אם המרחק קדימה הוא פחות מ -30 ס"מ. אז זה יהיה טוב לא לכלול תכונה זו במצב זה פשוט הורד את הספריות ואת הקוד והעלה אותו ל- Arduino. אך אל תשכח להוציא את סיכות TX ו- RX (0, 1) מהארדואינו לפני העלאה. סיכות אלה משמשות לתקשורת סדרתית והן בשימוש במהלך העלאת הקוד. וברובוט זה, סיכות אלה משמשות לחיבור מודול ה- Bluetooth. אז זכור להסיר אותם אחרת זה עלול לפגוע במודול ה- Bluetooth שלך. להלן הקוד והספריות:

שלב 12: מיון בעיות וביצוע שיפורים

מיון בעיות וביצוע שיפורים
מיון בעיות וביצוע שיפורים

אתה יכול לדלג על שלב זה מכיוון שהוא עוסק רק בשיפורים של הרובוט. בעיות רבות מתעוררות במודול WTV-020-SD-16p, בנוגע לקיבולת כרטיס הזיכרון. הסיבה לכך היא שחלק מהמודולים עובדים על כרטיסי 2 GB בעוד שחלקם לא. אז עדיף להשתמש בכרטיס מיקרו SD של 1 GB. לא תהיה בעיה גדולה בשימוש בגירסאות שונות של הרכיבים. ניתן להזכיר את הגרסאות השונות של מודול wtv 020 sd. הסיבה לכך היא שקיים רק הבדלי אריזה בין המודולים, בעוד שרוב הדברים הפנימיים האחרים נשארים זהים. דבר חשוב נוסף, שימוש במחשב הלוח עבור הרובוט יעזור להפחית את הצריכה הנוכחית במידה רבה. אם אתה מחבר את הרכיבים השונים בדיוק כמוני, זה יעלה לך קצת זרם כי כמות טובה שלו תאבד בחוטים, עם עמידות גבוהה. הסיבה לכך היא שהמעגל די גדול. זה בלתי ניתן להבנה אינו כולל תכנון של PCB (כי לא יצרתי אותו) אך הוא יכול להגביר את יעילות ההספק של הרובוט. אבל BLUE ROVIER 316 עדיין לא נעשה! חשבתי לכלול עוד כמה תכונות כגון שורות הבאות, פתרון מבוכים ודברים רבים אחרים. אבל זה נשאר חלום בגלל היעדר סיכות ב- Arduino UNO (BLUE ROVIER באמת אוכל סיכות רבות של הארדואינו). אז אני חושב לשפר את כל התכונות של הרובוט הזה ולשלב אותן יחד כדי ליצור רובוט ארדואינו מתוחכם ושימושי יותר. אז תהיו מוכנים לראות את התצוגה המשונה של ROVIER בעוד כמה חודשים !!! אני אפילו רוצה לראות גרסאות אחרות של הרובוט על ידי אנשים אחרים שיש להם יותר יצירתיות משלי !!!!

שלב 13: משחק עם הרובוט

משחק עם הרובוט
משחק עם הרובוט

הפעל את הרובוט וראה כיצד הוא מברך אותך, משחק איתך. שאל כל שאלה (לא טיפשות!) וצפה בתשובה שלה. אתה יכול להגיד לעקוב אחרי השורות או להמשיך הלאה. פשוט אמור 'עצור' כשאתה רוצה לעצור את הרובוט.

תחרות רובוטיקה 2017
תחרות רובוטיקה 2017
תחרות רובוטיקה 2017
תחרות רובוטיקה 2017

סגנית בתחרות הרובוטיקה 2017

מוּמלָץ: