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

אב טיפוס חכם לאופנוע HUD (ניווט מפורט ועוד כל כך הרבה): 9 שלבים
אב טיפוס חכם לאופנוע HUD (ניווט מפורט ועוד כל כך הרבה): 9 שלבים

וִידֵאוֹ: אב טיפוס חכם לאופנוע HUD (ניווט מפורט ועוד כל כך הרבה): 9 שלבים

וִידֵאוֹ: אב טיפוס חכם לאופנוע HUD (ניווט מפורט ועוד כל כך הרבה): 9 שלבים
וִידֵאוֹ: sumo magnetic power bike - סומו האופנוע המגנטי הראשון -אב טיפוס 2024, יולי
Anonim
אב טיפוס חכם לאופנועים מסוג HUD (ניווט מפורט אחר צעד ועוד כל כך הרבה)
אב טיפוס חכם לאופנועים מסוג HUD (ניווט מפורט אחר צעד ועוד כל כך הרבה)
אב טיפוס חכם לאופנועים מסוג HUD (ניווט מפורט אחר צעד ועוד כל כך הרבה)
אב טיפוס חכם לאופנועים מסוג HUD (ניווט מפורט אחר צעד ועוד כל כך הרבה)
אב טיפוס חכם לאופנועים מסוג HUD (ניווט מפורט אחר צעד ועוד כל כך הרבה)
אב טיפוס חכם לאופנועים מסוג HUD (ניווט מפורט אחר צעד ועוד כל כך הרבה)
אב טיפוס חכם לאופנועים מסוג HUD (ניווט מפורט ועוד כל כך הרבה)
אב טיפוס חכם לאופנועים מסוג HUD (ניווט מפורט ועוד כל כך הרבה)

היי !

מדריך זה הוא סיפור איך עיצבתי ובניתי פלטפורמת HUD (Heads-Up Display) שנועדה להתקנה על קסדות אופנוע. הוא נכתב במסגרת תחרות "המפות". למרבה הצער, לא הצלחתי לסיים את הפרויקט הזה בזמן עד לתאריך האחרון של התחרות, אך עדיין רציתי לשתף אותו בהתקדמות שלי, כמו גם לתעד את כל הניסוי והטעייה שעברתי במהלך ביצוע התחרות.

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

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

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

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

מה שעובד נכון לעכשיו

כאמור, הפרויקט הזה עדיין נמצא מאוד במצב פיתוח, וזה מה שעובד כרגע.

- תקשורת בין סמארטפון ללוח מבוסס ESP32 (טלפון ער)

- עיצוב אופטיקה נעשה (ייתכן שיהיה צורך בהתאמות קטנות בטווח הארוך)

- אפליקציית ניווט אנדרואיד באמצעות SDK ניווט Mapbox:

- מסוגל לחשב ולהציג את מיקומו של המשתמש במפה, וכן מסלול ממנה ליעד

- מסוגל להתחבר להתקן Bluetooth (כתובת ה- MAC של המכשיר מקודדת נכון לעכשיו)

- מסוגל לנווט בזמן אמת, כולל חילוץ ושליחת פרטי התמרון הקרוב באמצעות בלוטות 'טוריות (תומך רק בפניות לעת עתה)

מה צריך עבודה

רשימה זו מכילה פריטים הנחוצים בהחלט לשימוש המיועד ל- HUD, אך עדיין אינם מוכנים ליישום.

- עיצוב כולל (חיבור קסדה, מנגנון התאמת זווית המשקף,..)

- אפליקציית אנדרואיד:

- יישום זיהוי ותיקון מחוץ למסלול

- היכולת של המשתמש להזין את כתובת היעד

- נקודות ציון?

- ארגונומיה / אסתטיקה

אספקה:

יסודות

- לוח פיתוח מבוסס esp32

- כל סמארטפון אנדרואיד קצת חדש (מופעל Bluetooth)

- SSD1306 או מסך OLED מופעל אחר בגודל 96 אינץ '(שלי היה 128x64 פיקסלים, עיין בחלק "המוח: מיקרו -בקר ומסך")

- מחזיר אור (כל פיסת אקריליק/זכוכית/פרספקס תעשה)

- עדשת פרנל (שלי היה באורך F. כ 13 ס"מ, ראה חלק "בחירת עדשה")

כלים

- מלחם

- לוח לחם

- כמה כבלי מגשר

- שירות מדפסת תלת מימד / הדפסת תלת מימד

שלב 1: איך הכל עובד: בחירות עיצוב מוסברות

איך הכל עובד: בחירות עיצוב מוסברות
איך הכל עובד: בחירות עיצוב מוסברות
איך הכל עובד: בחירות עיצוב מוסברות
איך הכל עובד: בחירות עיצוב מוסברות
איך הכל עובד: בחירות עיצוב מוסברות
איך הכל עובד: בחירות עיצוב מוסברות

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

אוֹפְּטִיקָה

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

עם זאת, לגישה זו יש פגם עצום: המסך בפועל בדרך כלל קרוב יותר לעיני המשתמש מאשר מה שהמשתמש צריך בעצם להתמקד בו (למשל: הדרך לפניו). המשמעות היא שכדי לקרוא את מה שנמצא על המשטח הרפלקטיבי, עיני המשתמש יצטרכו להסתגל למרחק התצוגה מעיניו (נניח 20 ס מ), ואז יהיה צורך להסתגל שוב על מנת להתמקד בכביש קדימה. (~ 2/5 מטר). הזמן שכל הפעולה לוקחת הוא זמן יקר שיש להקדיש להסתכלות על הכביש, והתאמה לעיתים קרובות עשויה להיות לא נוחה למשתמש לאחר מספר דקות בלבד.

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

תפקידו של הסמארטפון

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

שלב 2: חלקים - המוח: מיקרו -בקר ומסך

חלקים - המוח: מיקרו -בקר ומסך
חלקים - המוח: מיקרו -בקר ומסך
חלקים - המוח: מיקרו -בקר ומסך
חלקים - המוח: מיקרו -בקר ומסך

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

כדי להקל על התקשורת בין הטלפון של המשתמש למודול, בחרתי להשתמש בלוח מבוסס ESP32 לפרויקט זה. בחירה זו נבעה מכך שמודול ספציפי זה כולל יכולות Bluetooth משולבות, כמו גם כמה מפרטים מעניינים נוספים (אחסון קל לשימוש לא נדיף, מעבד כפול ליבות, מספיק RAM בכדי להניע את תצוגת OLED באמצעות I2C, …). זה פשוט יחסית לעצב PCB מבוסס סביב ה- ESP32, שאכן לקחתי בחשבון. יש לי גם ניסיון מקצועי בשימוש ועיצוב מעגלים עם ESP32, מה שהשפיע בהחלט על הבחירה שלי.

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

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

שלב 3: חלקים - אופטיקה: מציאת פשרה

חלקים - אופטיקה: מציאת פשרה
חלקים - אופטיקה: מציאת פשרה
חלקים - אופטיקה: מציאת פשרה
חלקים - אופטיקה: מציאת פשרה
חלקים - אופטיקה: מציאת פשרה
חלקים - אופטיקה: מציאת פשרה

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

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

ביסודו של דבר, הטריק כאן היה כולו במציאת הפשרה הנכונה בין:

- בעל מרחק תמונה וירטואלי סביר (כלומר, כמה רחוק נראה ה- HUD למשתמש, או עד כמה המשתמש יצטרך להתאים את עיניו כדי לראות מה יש ב- HUD)

- שהטקסט על המסך לא יגדל מדי על ידי העדשה (שהיא בעצם זכוכית מגדלת)

- בעל מרחק סביר בין מסך ה- OLED לעדשה, שאחרת היה מוביל למודול מאוד מגושם

הזמנתי באופן אישי כמה עדשות שונות באמזון, וקבעתי את אורכי המוקד שלהן, לפני שבחרתי באחת באורך F. של כ -13 ס מ. מצאתי את אורך ה- F. הזה, עם מרחק עד 9 סנטימטרים של OLED, נתן לי תמונה מספקת על המחזיר שלי (ראו את התמונות האחרונות למעלה).

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

אתה יכול למצוא את קבצי התלת מימד עבור מחזיק העדשה כאן.

שלב 4: חלקים - מיכל לאחסון כולם

חלקים - מיכל שיחזיק את כולם
חלקים - מיכל שיחזיק את כולם
חלקים - מיכל שיחזיק את כולם
חלקים - מיכל שיחזיק את כולם

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

שלב 5: יצירת פרוטוקול למודול שלנו

על מנת לשלוח את הוראות הניווט מהטלפון ללוח הפיתוח, היה עלי להמציא פרוטוקול תקשורת משלי שיאפשר לי לשלוח בקלות את הנתונים הדרושים מהטלפון, תוך הקלת עיבודו לאחר שהתקבל.

בעת כתיבת מדריכים אלה, המידע שצריך היה להעביר מהטלפון כדי לנווט עם המודול היה:

- סוג התמרון הקרוב (סיבוב פשוט, כיכר, מיזוג לכביש אחר, …)

- ההנחיות המדויקות של התמרון הקרוב (תלוי בסוג התמרון: ימינה/שמאלה לסיבוב; אילו יציאות לקחת לסיבוב, …)

- המרחק שנותר לפני התמרון הקרוב (במטר לעת עתה)

החלטתי לארגן נתונים אלה באמצעות מבנה המסגרות הבא:

: סוג. הוראות, מרחק;

למרות שזה לא פתרון יפה, זה מאפשר לנו להפריד ולהבחין בקלות בין כל תחום בפרוטוקול שלנו, מה שהקל על הקידוד בצד ESP32.

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

שלב 6: הקוד: צד ESP32

הקוד: צד ESP32
הקוד: צד ESP32
הקוד: צד ESP32
הקוד: צד ESP32

הקוד ל- ESP32 כרגע די פשוט. הוא משתמש בספריית U8g2lib, המאפשרת שליטה קלה במסך OLED (תוך אפשרות שיקוף של התמונה המוצגת).

ביסודו של דבר, כל מה ש- ESP32 עושה הוא לקבל נתונים סדרתיים באמצעות Bluetooth כאשר האפליקציה שולחת אותם, לנתח אותם ולהציג נתונים או תמונות אלה המבוססים על נתונים אלה (כלומר הצגת חץ במקום המשפט "פנה שמאלה/ימינה"). הנה הקוד:

/*תכנית לשליטה ב- HUD מאפליקציית אנדרואיד באמצעות Bluetooth סידורי*/#כולל "BluetoothSerial.h" // קובץ כותרת עבור Bluetooth סידורי, יתווסף כברירת מחדל ל- Arduino#include #include #ifdef U8X8_HAVE_HW_SPI#include#endif# ifdef U8X8_HAVE_HW_I2C #כולל #endif // בונה ספריית OLED, צריך לשנות בהתאם למסך U8G2_SSD1306_128X64_ALT0_F_HW_I2C u8g2 (U8G2_MIRROR,/* אפס =*/U8X8_PIN_NONE;) // ערכי מכונת מדינה זוהו_שדה + משתנה#הגדר תמרון שדה 1#הגדר הוראות שדה 2#הגדר מרחק שדה 3#הגדר endOfFrame 4int detected_field = endOfFrame; BluetoothSerial serialBT; // אובייקט עבור Bluetoothchar incoming_char; תמרון חרוש [10]; הוראות חרוש [10]; מרחק חרוטה [10]; char tempManeuver [10]; char tempInstructions [10]; char tempDistance [10]; int nbr_char_maneuver = 0; int nbr_char_instructions = 0; int nbr_char_distance = 0; fullsentence בוליאני = false; הגדרת חלל () {Serial.begin (9600); // התחל צג סידורי ב- 9600 bauds u8g2.begin (); // בקרת OLED ראשונית serialBT.begin ("ESP32_BT"); // שם עיכוב אות Bluetooth (20); Serial.println ("מכשיר Bluetooth מוכן להתאמה");} לולאת void () {if (serialBT.available () &&! Fullsentence) // תווים המתקבלים באמצעות Bluetooth סידורי {incoming_char = serialBT.read (); Serial.print ("התקבל:"); Serial.println (incoming_char); } switch (detected_field) {case maneuverField: Serial.println ("שדה מזוהה: תמרון"); if (incoming_char == '.') // שדה הבא זוהה {detect_field = instructionsField; } אחר {// מלא את סוג מערך המידע תמרון מערך מידע [nbr_char_maneuver] = incoming_char; nbr_char_maneuver ++; } לשבור; instruction instructionsField: Serial.println ("שדה שהתגלה: הוראות"); if (incoming_char == ',') // השדה הבא זוהה {detect_field = distanceField; } אחר {// מלאו את הוראות מערך המידע [nbr_char_instructions] = incoming_char; nbr_char_instructions ++; } לשבור; case distanceField: Serial.println ("שדה מזוהה: מרחק"); if (incoming_char == ';') // סוף מסגרת זוהה {detect_field = endOfFrame; Serial.print ("תמרון:"); Serial.println (תמרון); Serial.print ("הוראות:"); Serial.println (הוראות); Serial.print ("מרחק:"); Serial.println (מרחק); גזר דין = נכון; update_Display (); // מסגרת מלאה התקבלה, ניתוחו והצגת נתונים מתקדמים} אחר {// מלא את מרחק מערך פרטי המרחק [nbr_char_distance] = incoming_char; nbr_char_distance ++; } לשבור; case endOfFrame: if (incoming_char == ':') detect_field = maneuverField; // שבירת מסגרת חדשה זוהתה; ברירת המחדל: // אל תשבר דבר; } עיכוב (20);} void update_Display () {// מטמון כל מערך צ'אר כדי למנוע התנגשויות אפשריות memcpy (tempManeuver, maneuver, nbr_char_maneuver); memcpy (tempInstructions, הוראות, nbr_char_instructions); memcpy (tempDistance, distance, nbr_char_distance); parseCache (); // מנתח ומעבד מערכי char מלא: false; // משפט מעובד, מוכן לפרק הבא} void parseCache () {u8g2.clearBuffer (); // נקה את הזיכרון הפנימי u8g2.setFont (u8g2_font_ncenB10_tr); // בחר גופן מתאים // מערכי char -> מחרוזת חובה להשתמש בפונקציה string () פונקציה String maneuverString = tempManeuver; String stringString = tempInstructions; // יישום פרוטוקול כאן. תומך בינתיים רק בסיבובים. if (maneuverString.substring (0, 4) == "turn") {// בדוק אם יש סוג תמרון Serial.print ("TURN DETECTED"); if (instructionsString.substring (0, 5) == "right") {// בדוק הוראות ספציפיות והצג בהתאם u8g2.drawStr (5, 15, "-"); } אחרת אם (instructionString.substring (0, 4) == "שמאל") {// בדוק הוראות ספציפיות והצג בהתאם u8g2.drawStr (5, 15, "<---"); } אחר u8g2.drawStr (5, 15, "שגיאה"); // שדה הוראות לא תקף}/ * יישום סוגי תמרון אחרים (כיכרות וכו ') * אחרת אם (tempManeuver == "rdbt") { * *] */ u8g2.drawStr (5, 30, tempDistance); // הצג מרחק שנותר u8g2.sendBuffer (); // העבר את הזיכרון הפנימי לתצוגה // אפס את כל מערכי הצ'אר לפני הקריאה הבאה memset (תמרון, 0, 10); memset (הוראות, 0, 10); memset (מרחק, 0, 10); memset (tempManeuver, 0, 10); memset (tempInstructions, 0, 10); memset (tempDistance, 0, 10); // אפס את מספר האלמנטים במערכים nbr_char_distance = 0; nbr_char_instructions = 0; nbr_char_maneuver = 0;}

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

הקוד: אנדרואיד סייד
הקוד: אנדרואיד סייד
הקוד: צד אנדרואיד
הקוד: צד אנדרואיד
הקוד: צד אנדרואיד
הקוד: צד אנדרואיד

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

אם אתה רוצה לבנות את האפליקציה הזו בבית, יהיה עליך לקבל אסימון גישה ל- Mapbox, שהוא בחינם עד למספר מסוים של בקשות בחודש. יהיה עליך להכניס את האסימון הזה לקוד ולבנות את האפליקציה בצד שלך. יהיה עליך גם לקודד את כתובת ה- MAC של Bluetooth של ה- ESP32 שלך.

כפי שהיא נראית, האפליקציה יכולה להוביל אותך מהמיקום הנוכחי שלך לכל מיקום עליו תוכל ללחוץ על המפה. עם זאת, כפי שהוזכר בהקדמה, הוא אינו תומך בתמרון אחר מאשר פניות, ואינו מטפל עדיין בנתיבי חוץ.

אתה יכול למצוא את כל קוד המקור ב- github שלי.

שלב 8: מה הלאה?

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

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

אם הכל ילך כשורה, המטרה לטווח הארוך שלי היא לעצב לוח PCB מותאם אישית לאלקטרוניקה המשובצת של הפרויקט הזה, מה שיחסוך הרבה מקום על המוצר הסופי.

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

שלב 9: סיכום ותודה מיוחדת

סיכום ותודה מיוחדת!
סיכום ותודה מיוחדת!

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

אני רוצה להגיד תודה ענקית לאוואל 99 ודנאל קווינטנה, שפרויקט המציאות המוגברת שלהם נתנה לי הרבה השראה ביצירת מודול זה.

תודה לכולם על תשומת הלב, אני בטוח שאפרסם עדכון כאשר הפרויקט הזה ישתפר בעתיד הקרוב. בינתיים נתראה אחר כך!

מוּמלָץ: