שיעור מכונית בלוטוס
נושא השיעור: שליטה במכונית ארדואינו באמצעות Bluetooth ואפליקציית Dabble
מטרות השיעור
במהלך השיעור התלמידים:
יבינו מה זה תקשורת Bluetooth בין טלפון לארדואינו
יידעו להתקין ולהשתמש באפליקציית Dabble
יחברו מודול Bluetooth לארדואינו (שימוש בפין 2)
יפעילו את המכונית באמצעות הג'ויסטיק או הכפתורים באפליקציה
חיבור החומרה
לחבר את מודול ה־Bluetooth כך:
VCC אל 5V
GND אל GND
TX של המודול אל פין 2 בארדואינו
קטע פתיחה
שיחה קצרה על איך אפשר לשלוט במכונית מהטלפון
הסבר כללי על Bluetooth ועל כך שהטלפון שולח פקודות וארדואינו מפענח
הסבר על אפליקציית Dabble
הצגת האפליקציה לתלמידים
הסבר על מודול ה־GamePad או ה־Joystick
הכנה לשימוש בספריית Dabble של ארדואינו
התקנת ספריית DABBLE לארדואינו דרך LIBRARY MANAGER
קוד ארדואינו
בעצם בשיעור הזה אנחנו מאחדים שני קבצים:
הקובץ הראשון הוא הקוד שכתבנו בשיעור האחרון, שמאפשר להניע את המכונית קדימה, אחורה, ימינה, שמאלה וגם לעצור – חמש פונקציות שמייצגות חמישה מצבי נהיגה.
הקובץ השני הוא קובץ לדוגמה מספריית Dabble, שמדגים כיצד לבצע תקשורת Bluetooth בין הארדואינו לבין הטלפון הסלולרי.
במהלך השיעור ניקח את שתי התוכניות האלו, ונדריך את התלמידים כיצד לשלב ולאחד ביניהן לקובץ אחד שמאפשר שליטה אלחוטית מלאה במכונית.
File → Examples → Dabble → Uno Nano Mega → 03.Gamepad
הצגת קוד שמכיל את include Dabble.h
חשוב: הגדרת תקשורת דרך פין 2
קריאת כפתורים ופקודות מהאפליקציה
תרגום הכפתורים לפעולות מכונית: קדימה, אחורה, ימין, שמאל, עצור
התלמידים מעלים את הקוד ובודקים תקינות
הרכיב שבו אנחנו משתמשים הוא מודול Bluetooth מסוג BLE. בניגוד למודולים ישנים יותר, הוא לא דורש סיסמה, ולא צריך לבצע Pairing דרך תפריט ה־Bluetooth הרגיל של הטלפון. במקום זאת, החיבור נעשה ישירות מתוך האפליקציה, בצורה פשוטה ומהירה, בלי שום הגדרה מוקדמת.
בדיקה עם הטלפון
התאמת Pairing לטלפון
פתיחת האפליקציה
בחירת מודול ה־Bluetooth
בדיקה האם המכונית מגיבה ללחיצות
משימת תרגול
הדלקת LED מהממשק שליטה ב-LED שהמודול מדליק או מכבה לפי כפתור מוגדר באפליקציה.
שני מצבי תאורה: אורות קדמיים בצבע כחול או שקוף, כאשר כל מצב מפעיל LED שונה, אורות אחוריים בצבע אדום, אורות איתות ימינה או שמאלה
צופר בלחיצה קצרה הפעלת בזר למשך שנייה אחת בלבד כאשר לוחצים על אחד מכפתורי Dabble.
חניה אוטומטית יצירת רצף קבוע מראש של תנועות: אחורה, ימינה, עצירה – כתהליך “חניה רובוטית”.
סיבוב מלא בלחיצה אחת הפעלה של סיבוב מלא של 360 מעלות, בלחיצה על כפתור ייעודי.
ריקוד רובוטי בניית סדרת תנועות קצרה שמתבצעת ברצף ויוצרת “ריקוד” שמשתתף ממציא.
נסיעה אוטונומית עם כפתור START בתרגיל זה התלמידים מוסיפים למכונית חיישן מרחק אולטרסוני ומאפשרים לה לנוע בצורה אוטונומית ברחבי הכיתה. לאחר לחיצה על כפתור START בממשק Dabble, המכונית עוברת למצב אוטונומי: היא נוסעת תמיד קדימה כל עוד אין מכשול לפניה. כאשר החיישן מזהה אובייקט במרחק של חמישים סנטימטרים או פחות, המכונית עוצרת, נוסעת לאחור למשך חצי שנייה, בוחרת בצורה רנדומלית אם לפנות ימינה או שמאלה, מבצעת חצי סיבוב לכיוון שנבחר ולאחר מכן חוזרת לנסיעה ישרה קדימה. בצורה זו המכונית “משייטת” במרחב, משנה כיוון רק כשצריך, ונמנעת מהתנגשויות בקירות ובמכשולים.
ניסוח מקוצר למדריך: נסיעה אוטונומית עם START בעת לחיצה על START המכונית עוברת למצב אוטונומי. היא נוסעת קדימה כל עוד אין מכשול. אם החיישן מזהה אובייקט במרחק של 50 ס״מ או פחות, המכונית עוצרת, חוזרת חצי שנייה לאחור, בוחרת רנדומלית פנייה ימינה או שמאלה, מבצעת חצי סיבוב וממשיכה קדימה. המטרה: שיוט עצמאי בחלל ללא התנגשויות.
למתקדמים:
זיהוי לחיצה ארוכה פונקציה שמזהה לחיצה מעל חצי שנייה ומפעילה פעולה אחרת מלחיצה קצרה.
צפצוף רוורס לסרוגין (כמו משאיות) בנסיעה אחורה ללא שימוש ב DELAY, אלא ב MILLIS()
סיכום השיעור
סקירה של מה נעשה: תקשורת Bluetooth, אפליקציית Dabble, שליטה במכונית
אפשרות להצגה של השלב הבא: שילוב חיישנים, מצבים אוטונומיים ועוד