שיעורי בית – מכונית ארדואינו עם שליטה ב-Bluetooth (אפליקציית Dabble)
רקע:
במשימות הקרובות נלמד כיצד לשלב רכיבים נוספים במכונית הארדואינו שלנו, ונבצע פעולות מתקדמות תוך שימוש ב-`millis()` כדי למנוע עצירות מיותרות בתוכנית.
חשוב לדעת:
- לרוב, לא משתמשים ב-`delay()` מכיוון שהוא עוצר לחלוטין את פעולת הארדואינו. במקום זאת, נשתמש בפונקציה `millis()` כדי לבצע פעולות במקביל.
- `millis()` מחזירה את מספר המילישניות (אלפיות שנייה) שעברו מאז שהארדואינו התחיל לפעול.
- יש לוודא שהתקשורת הסריאלית מוגדרת כראוי: `Serial.begin(115200);` כדי לוודא תיאום עם תצוגת הפלט.
---
משימות:
1️⃣ **הוספת צפצוף בנסיעה אחורה (ללא `delay()`)**
- כאשר המכונית נוסעת אחורה, יש להוסיף צפצוף באמצעות זמני `millis()` במקום `delay()`.
- המטרה היא לאפשר למכונית להמשיך לפעול בזמן שהצפצוף מתבצע.
2️⃣ **חיבור חיישן מרחק (אולטרסוניק) והתאמת הצפצופים**
- חברו את חיישן האולטרסוניק למכונית.
- קבעו כי תדירות הצפצופים תשתנה בהתאם למרחק מהמכשול (ככל שהמכונית קרובה יותר – הצפצופים יהיו תכופים יותר).
3️⃣ **הצגת המרחק על גבי המסך**
- הציגו את נתוני המרחק שמתקבל מהאולטרסוניק על גבי הצג הסריאלי (`Serial Monitor`).
4️⃣ **כיבוי הלדים בעת עצירה (`stop()`)**
- עדכנו את פונקציית `stop()` כך שכאשר המכונית עוצרת, כל הלדים (לד חיווי, לדי חיבור וכו') יכבו.
5️⃣ **מניעת התנגשות והתאמת כיוון התנועה**
- יש לגרום למכונית להימנע מהתנגשות:
- אם המכונית מזהה מכשול קרוב מדי, היא תסתובב ותמשיך לנסוע בכיוון אחר.
- יש לוודא שהתמרון יתרחש גם אם השליטה מה-Bluetooth מורה להמשיך קדימה.
6️⃣ **מצב אוטונומי בלחיצת כפתור**
- הוסיפו אפשרות ללחוץ על כפתור באפליקציה (באמצעות Dabble) ולהפעיל "מצב אוטונומי".
- במצב זה, המכונית תתנהל לבד – תיסע קדימה ותימנע מהתנגשויות על סמך חיישן האולטרסוניק.
---
**💡 טיפים:**
✅ בדקו כל שלב בנפרד וודאו שהוא עובד לפני המעבר למשימה הבאה.
✅ השתמשו ב-`Serial.print()` כדי לבדוק את הערכים שמתקבלים מהחיישנים.
✅ ודאו שהתוכנית מתוזמנת נכון כך שלא יהיו השהיות מיותרות.
בהצלחה! 🚗💨
נרצה לעשות - לצפצף אחורה, בלי הדילאי.
לרוב, לא משתמשים בדילאי, כי דילאי זה אומר שבאמת התוכנית עוצרת. אבל בעצם, אנחנו לא באמת רוצים שדברים אחרים יפסיקו לעבוד (נרצה רק שפונקציה אחת תפסיק בעוד האחרות ימשיכו).
נתשמש בפונקציה millis() היא מראה לנו כמה אלפיות השנייה עברו מאז שהארדואינו התחיל לקבל חשמל - upload.
תזכורת Serial.begin - 115200 כדי לתאם עם התצוגה של הפלט. לא משנה כלום בתוך הארדואינו.
שיעורי בית 1 - להכניס את הצפצוף בלי הדילאי לנסיעה אחורה.
שיעורי בית 2 - לחבר את האולטרסוניק ולעשות את הציפצופים על פי המרחק.
שיעורי בית 3 - להציג את המרחק במסך.
שיעורי בית 4 - לכבות את הלדים בstop().
שיעורי בית 5 - לחבר את האולטרסוניק ולעשות שלפני שמתנגשים המכונית תסתובב כדי לא להתנגש בקיר. לעשות את הסיבוב למרות שהבלוטוס מראה לנו להתקדם קדימה.
שיעורי בית 6 - ללחוץ על כפתור של הסימנים, ולהפוך את המכונית למכונית אוטונומית.