- רכיבים נדרשים:
- יצירת ממשק לרובוט באמצעות אפליקציית RemoteXY:
- תרשים מעגל והסבר:
- הסבר קוד:
- כיצד להפעיל אותו:
במאמר זה אנו הולכים לשלוט ברכב הרובוט דרך חיישן ה- G של הטלפון הנייד שלנו ותוכלו להזיז את הרובוט רק על ידי הטיית הטלפון. אנו נשתמש גם בארדואינו ובאפליקציית RemoteXY עבור רובוט מבוקר G זה. אפליקציית RemoteXY משמשת ליצירת הממשק בטלפון החכם לשליטה ברובוט. נוסיף את הג'ויסטיק בממשק כך שניתן לשלוט על הרובוט גם על ידי ג'ויסטיק וכן באמצעות הטיית הטלפון.
חיישן G או חיישן כוח הכבידה הוא בעצם תאוצה בטלפון חכם המשמש לבקרת כיוון המסך של הטלפון. מד התאוצה חש את כיווני X, Y, Z של כוח הכבידה ומסובב את המסך בהתאם ליישור הטלפון. בימים אלה, נעשה שימוש בחיישן גירוסקופ רגיש ומדויק יותר בניידים להחלטת כיוון המסך. בפרויקט שלנו, מכונית הרובוט תנוע, על פי כיוון הטלפון מוטה, כמו כאשר אנו מטים את הטלפון קדימה, ואז המכונית תנוע קדימה ואנחנו מטים אותה כלפי מטה ואז המכונית תנוע אחורה. זה כמו שכשאנחנו משחקים כמה משחקי מכוניות במובייל, הם גם משתמשים בחיישן G כדי להזיז את המכונית בהתאם. בדוק את הסרטון בסוף, בדוק גם את פרויקטים אחרים של רובוטיקה כאן.
רכיבים נדרשים:
- שלדת מכונית רובוט דו גלגל
- ארדואינו UNO
- בקר מנוע L298N
- HC-06 Bluetooth מודול (HC-05 יעבוד גם)
- ספק כוח או תאים
- חוטי חיבור
יצירת ממשק לרובוט באמצעות אפליקציית RemoteXY:
ליצירת ממשק לשליטה ברכב הרובוט באמצעות אפליקציית RemoteXY, יהיה עליכם לעבור לקישור הבא
remotexy.com/en/editor/ דף האינטרנט ייראה כך
ואז מהצד השמאלי של המסך, הרם את כפתור המתג ואת הג'ויסטיק והניח אותו בממשק הנייד. הכפתור ידליק את האור בסיכה 13 המחובר פנימה בארדואינו והג'ויסטיק יניע את מכונית הרובוט. דף האינטרנט לאחר הצבת המתג והג'ויסטיק ייראה כך.
אז נצטרך למקם את לחצן ההפעלה / השבתה של חיישן G יחד עם הג'ויסטיק, כדי שנוכל להזיז את מכונית הרובוט על ידי הטיית הטלפון בכיוון שמאל, ימינה, למעלה ולמטה. באמצעות לחצן זה אנו יכולים להפעיל ולהשבית חיישן G, כאשר חיישן G מושבת, ניתן לשלוט במכונית על ידי הזזת הג'ויסטיק. אז כדי למקם את לחצן הפעלה / השבתה של חיישן G, לחץ על הג'ויסטיק שהצבת בממשק ובצד שמאל יהיה קטע מאפיינים, בסופו של דבר תהיה אפשרות להצבת כפתור חיישן G ליד הג'ויסטיק, אז מקם את כפתור חיישן ה- G בכל מקום שתרצה. דף האינטרנט אחרי זה ייראה כך.
לאחר מכן לחץ על הכפתור "קבל קוד מקור" ושמור אותו במחשב שלך. הורד את הספרייה מכאן ושמור אותה בתיקיית הספריה של Arduino. הידר את הקוד שהורדת כדי לבדוק שאין שגיאות. זה לא הקוד שיפעיל את הרובוט אבל זה יעזור בשימוש באפליקציה עם הארדואינו. הורד את האפליקציה מכאן או עבור לחנות Play והורד משם את אפליקציית RemoteXY עבורך טלפון חכם אנדרואיד.
תרשים מעגל והסבר:
קודם כל, נתממשק את בקר המנוע L298N עם ה- Arduino. חבר את סיכת ENA ו- ENB של בקר המנוע לסיכה Arduino 12 ו- 11 בהתאמה. שני פינים אלה מיועדים לשליטה ב- PWM במנוע. באמצעות סיכות תזות נוכל להגדיל או להקטין את מהירות המכונית. ואז חבר את IN1, IN2, IN3 ו- IN4 לסיכות הארדואינו 10, 9, 8 ו- 7 בהתאמה. פינים אלה יסובבו את המנועים לשני הכיוונים (בכיוון השעון ובנגד כיוון השעון).
להפעלת המנוע, חבר את החיובי והשלילי של הסוללה ל- 12V ולאדמה של בקר המנוע. ואז חבר את 5V ואת האדמה מבקר המנוע לארדואינו וין ולאדמה.
ואז נחבר את מודול ה- Bluetooth HC-06 עם הארדואינו. אם יש לך HC-05, אז זה גם יעבוד. חבר את ה- VCC ואת האדמה של מודול ה- Bluetooth ל- 5V ואת הקרקע של ה- Arduino. ואז חבר את סיכת TX של מודול Bluetooth לסיכה 2 של Arduino וסיכת RX לסיכה 3 של Arduino. בדוק גם במכונית צעצוע נשלטת באמצעות Bluetooth באמצעות Arduino למידע נוסף על שימוש ב- Bluetooth עם Arduino.
הסבר קוד:
קוד ארדואינו מלא לרכב הרובוט הנשלט הנייד הזה מופיע להלן בסעיף הקוד, כאן נבין כיצד קוד זה עובד.
קודם כל, כללנו את הספריות לסידורי תוכנה ו- RemoteXY. ספריית RemoteXY תעזור לנו בהגדרת האפליקציה עם Arduino, דרכה נשלוט על מכונית הרובוט. לאחר מכן הגדרנו את הפינים למודול ה- Bluetooth, TX ממודול ה- Bluetooth מחובר לסיכה 2 של Arduino שהוא סיכת RX של Arduino ו- RX ממודול ה- Bluetooth מחובר לסיכה 3 של Arduino אשר הוא סיכת ה- TX של Arduino והגדר את קצב השידור של מודול ה- Bluetooth על 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL # כלול
הקוד הבא יגדיל או יקטין את מהירות המנוע. כאשר הג'ויסטיק יהיה במרכז המהירות תהיה אפס וכשהוא יהיה בכיוון קדימה אז המהירות תעלה מאפס למאה. המהירות תפחת מ -0 ל -100 כאשר המכונית תנוע בכביש כיוון הפוך. ניתן להזיז את המכונית גם במהירות ספציפית, ניתן לעשות זאת על ידי מתן אות ה- PWM. אות ה- pwm יינתן למנועים בהתאם לסיבוב הג'ויסטיק.
אם (מנוע מהירות> 100) מנוע מהירות = 100; אם (מנוע מהירות <-100) מנוע מהירות = -100; אם (motor_speed> 0) {digitalWrite (מצביע, HIGH); digitalWrite (מצביע, LOW); analogWrite (מצביע, מנוע_מהירות * 2.55); } אחרת אם (motor_speed <0) {digitalWrite (מצביע, LOW); digitalWrite (מצביע, HIGH); analogWrite (מצביע, (-מהירות_מהירות) * 2.55); } אחר {digitalWrite (מצביע, LOW); digitalWrite (מצביע, LOW); analogWrite (מצביע, 0); }
בקוד הבא הגדרנו את הפונקציה שתיקרא בכל פעם שנעביר את הג'ויסטיק באפליקציה. כאשר נפעיל את המתג באפליקציה אז ההיגיון 1 יינתן לסיכה 13 של הארדואינו שמדליקה את סיכת הלד. תוך כדי הנעת מכונית הרובוט בכיוון קדימה ואחורה, פונקציית המהירות תיקרא.
לולאה בטלה () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); מהירות (first_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); מהירות (second_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
כיצד להפעיל אותו:
הוסף את ספריית ה- RemoteXY לספריות Arduino והעלה את הקוד ל- IDE של Arduino. לאחר מכן הורד את האפליקציה בטלפון הנייד שלך ואז הפעל את ה- Bluetooth. ממשק האפליקציה ייראה כך
ואז עבור אל Bluetooth והפעל את ה- Bluetooth שם. לאחר הפעלתו, הוא יראה לכם את מכשירי ה- Bluetooth. בחר משם את מודול Bluetooth ה- HC-06 שלך, זה ייקח אותך לממשק, ממנו תוכל לשלוט ברכב הרובוט.
כך אנו יכולים להשתמש בחיישן הכבידה בתוך הטלפון הנייד שלנו כדי להזיז את הרובוט. אתה יכול להמשיך להתנסות ולמצוא שימוש מעניין יותר בחיישן G כדי לשלוט בדברים החיצוניים על ידי ממשק מיקרו-קבלן בין לבין (כמו Arduino).