Mündəricat:

Ağıllı Motosiklet HUD Prototipi (növbə ilə naviqasiya və daha çoxu): 9 addım
Ağıllı Motosiklet HUD Prototipi (növbə ilə naviqasiya və daha çoxu): 9 addım

Video: Ağıllı Motosiklet HUD Prototipi (növbə ilə naviqasiya və daha çoxu): 9 addım

Video: Ağıllı Motosiklet HUD Prototipi (növbə ilə naviqasiya və daha çoxu): 9 addım
Video: TOUTES les cartes Multicolores, Incolores et Terrains Kamigawa, la Dynastie Néon, MTG 2024, Iyul
Anonim
Ağıllı Motosiklet HUD Prototipi (növbə ilə naviqasiya və daha çox)
Ağıllı Motosiklet HUD Prototipi (növbə ilə naviqasiya və daha çox)
Ağıllı Motosiklet HUD Prototipi (növbə ilə naviqasiya və daha çox)
Ağıllı Motosiklet HUD Prototipi (növbə ilə naviqasiya və daha çox)
Ağıllı Motosiklet HUD Prototipi (növbə ilə naviqasiya və daha çox)
Ağıllı Motosiklet HUD Prototipi (növbə ilə naviqasiya və daha çox)
Ağıllı Motosiklet HUD Prototipi (növbə ilə naviqasiya və daha çox)
Ağıllı Motosiklet HUD Prototipi (növbə ilə naviqasiya və daha çox)

Salam!

Bu Təlimatlar, motosiklet dəbilqələrinə quraşdırılmaq üçün nəzərdə tutulmuş HUD (Heads-Up Display) platformasını necə hazırladığımın hekayəsidir. "Xəritələr" yarışması kontekstində yazılıb. Təəssüf ki, bu layihəni yarışmanın sona çatması üçün vaxtında tamamlaya bilmədim, amma yenə də bununla bağlı irəliləyişlərimi bölüşmək, həmçinin əldə etdiyim bütün sınaq və səhvləri sənədləşdirmək istədim.

Bu layihənin ideyası ilk dəfə bir neçə il əvvəl, motosikletə girəndə gəldi və gəzintilərimi daha zövqlü etmək üçün hansı vasitələr almalı olduğumu araşdırmağa başladım. O vaxt, gəzinti zamanı əsas GPS naviqasiyasını əldə etməyin ən yaxşı yolunun, əsasən, smartfonunuzu velosipedinizin sükanlarına bağlamaq olduğunu düşündüm. Şübhəsiz ki, bu cür məlumatları anında əldə etməyin daha yaxşı bir yolu ola bilər.

Mənə elə gəldi: başımı qaldıran bir ekran, telefonunuzun batareyasını boşaltmadan və elementlərə məruz qoymadan gəzinti zamanı naviqasiya əldə etməyin yolu ola bilər.

Vaxt keçdikcə bu fikir beynimdə yetişdi və baxmayaraq ki, hər zaman qarşımda HUD -un olması sadə naviqasiyadan daha çox istifadəyə imkan verərdi. Bu səbəbdən planım platformanı açıq və modul etməkdir, buna görə hər kəs ehtiyac duyduğu məlumatı öz HUD -da göstərən bir modul yarada bilər.

Bu vəzifəni yerinə yetirən satışda olan məhsullar olsa da, mənim platformam qədər modul olanlar yoxdur və onlar da bir az bahalı olmağa meyllidirlər. Hər halda bu layihəyə xoş gəldiniz.

İndiyə qədər nə işləyir

Bildirildiyi kimi, bu layihə hələ çox inkişaf vəziyyətindədir və hazırda işləyən budur.

- Smartfon və ESP32 əsaslı lövhə arasında əlaqə (telefon oyaq)

- Optika dizaynı tamamlandı (uzun müddətdə kiçik düzəlişlərə ehtiyac ola bilər)

- Mapbox naviqasiya SDK -nı istifadə edərək Android naviqasiya proqramı:

- İstifadəçinin mövqeyini xəritədə hesablamaq və göstərmək, habelə oradan təyinat yerinə gedən marşrut

- Bluetooth cihazına qoşulma qabiliyyəti (cihazın MAC ünvanı indiyə qədər kodlaşdırılmışdır)

- Qarşıdakı manevr məlumatlarını serial Bluetooth vasitəsilə çıxarmaq və göndərmək də daxil olmaqla real vaxt naviqasiyasına qadirdir (yalnız hələlik dönüşləri dəstəkləyir)

Nə iş lazımdır

Bu siyahıda HUD -un istifadəsi üçün tamamilə zəruri olan, lakin hələ tətbiq olunmağa hazır olmayan maddələr var.

- Ümumi dizayn (Kask əlavə, reflektorun bucaq tənzimləmə mexanizmi,..)

- Android tətbiqi:

- Marşrutdan kənar aşkarlama və düzəlişlərin həyata keçirilməsi

- İstifadəçinin təyinat ünvanını daxil etmə bacarığı

- Yol nöqtələri?

- Erqonomika / Estetika

Təchizat:

Əsaslar

- esp32 əsaslı inkişaf lövhəsi

- Hər hansı bir qədər yeni android smartfonu (Bluetooth aktivdir)

- SSD1306 və ya digər effektiv 96 "OLED ekran (mənimki 128x64 piksel idi," Beyinlər: Mikrokontrolör və Ekran "hissəsinə baxın)

- Yansıtıcı (hər hansı bir akril/şüşə/pleksiglas parçası)

- Fresnel lensi (mənim uzunluğum təxminən 13 sm idi, "Lens seçimi" hissəsinə baxın)

Alətlər

- Lehimleme dəmir

- Çörək lövhəsi

- Bir neçə keçid kabeli

- 3d printer / 3d çap xidməti

Addım 1: Hamısı necə işləyir: Dizayn Seçimləri Açıqlandı

Hamısı necə işləyir: Dizayn Seçimləri Açıqlandı
Hamısı necə işləyir: Dizayn Seçimləri Açıqlandı
Hamısı necə işləyir: Dizayn Seçimləri Açıqlandı
Hamısı necə işləyir: Dizayn Seçimləri Açıqlandı
Hamısı necə işləyir: Dizayn Seçimləri Açıqlandı
Hamısı necə işləyir: Dizayn Seçimləri Açıqlandı

Heads Up Display -in əsas ideyası kiminsə görmə qabiliyyətinin qarşısında bir şəkil göstərməkdir, buna görə də nə etdiklərindən (təyyarəni idarə etmək və ya motosiklet sürməkdən asılı olmayaraq) üz çevirmək məcburiyyətində deyillər. nümunə hal).

Optika

Texniki olaraq, bu, birbaşa istifadəçinin gözləri qarşısında bir ekran qoyaraq əldə edilə bilər. Ancaq ekran şəffaf deyil və buna görə də istifadəçinin görmə qabiliyyətinə mane olur. Daha sonra ekranı əks etdirən bir səthin önünə yerləşdirə bilərsiniz ki, bu da ekranın məzmununu əks etdirəcək və eyni zamanda istifadəçinin qarşısındakını görə biləcəyi qədər aydın görsənəcəkdir.

Bununla birlikdə, bu yanaşmanın böyük bir qüsuru var: əslində ekran, istifadəçinin diqqət etməli olduğu şeydən daha çox istifadəçinin gözünə yaxındır (məsələn, qarşısındakı yol). Bu o deməkdir ki, yansıtıcı səthdə olanları oxumaq üçün istifadəçinin gözləri ekranın gözlərindən olan məsafəsinə (20 sm deyək) uyğunlaşmalı və daha sonra qarşıdakı yola diqqət yetirmək üçün yenidən uyğunlaşmalıdır. (~ 2/5 metr). Bütün bu əməliyyatın həyata keçirdiyi vaxt, yola baxmağa sərf olunmalı olan qiymətli vaxtdır və tez -tez uyğunlaşmaq bir neçə dəqiqədən sonra istifadəçini narahat edə bilər.

Elə bu səbəbdən ekranla reflektor arasına bir lens əlavə etmək qərarına gəldim. Diqqətlə seçilərsə, bu lens ekranın virtual görüntüsünün yaradılmasına imkan verməlidir (yuxarıdakı sxematikaya baxın), daha sonra əslində olduğu kimi istifadəçinin gözlərindən daha uzaqda görünür və beləliklə daha az kəskin uyğunlaşmalar tələb olunur (və ya heç bir şey, mükəmməl bir ssenaridə). Bu dizayn istifadəçiyə tez bir zamanda reflektora baxmağa, lazım olan məlumatı əldə etməyə və dərhal yola baxmağa imkan verir.

Smartfonun rolu

Yalnız ESP32 -də bütöv bir naviqasiya tətbiqini sınamaq və həyata keçirmək qeyri -real olduğundan, bunun öhdəsindən gələ biləcək bir Android tətbiqetməsi hazırlamaq qərarına gəldim. Tətbiq, istifadəçinin təyinat yerinə çatmaq üçün nə etməli olduğunu ESP32 -yə bildirməlidir və ESP32 bu məlumatı HUD -a ötürür (bax "Modulun necə işlədiyinə" bax).

Addım 2: Parçalar - Beyinlər: Mikrokontrolör və Ekran

Parçalar - Beyinlər: Mikrokontrolör və Ekran
Parçalar - Beyinlər: Mikrokontrolör və Ekran
Parçalar - Beyinlər: Mikrokontrolör və Ekran
Parçalar - Beyinlər: Mikrokontrolör və Ekran

Yuxarıda qeyd edildiyi kimi, modulumun naviqasiya məlumatlarını göstərməsini planlaşdırırdım, amma əslində dəqiq yerləşdirmə, izləmə və real vaxt naviqasiyasını hesablamırdım. istifadəçinin telefonu bunun əvəzinə modulla əlaqə qurar və məlumatı HUD -da nümayiş etdirmək üçün göndərərdi.

İstifadəçinin telefonu ilə modul arasındakı əlaqəni asanlaşdırmaq üçün bu layihə üçün ESP32 əsaslı lövhədən istifadə etməyi seçdim. Bu seçim, inteqrasiya edilmiş Bluetooth xüsusiyyətlərinə malik olan bu xüsusi modul və digər bir neçə maraqlı xüsusiyyətə görə (istifadə üçün asan Qeyri-sabit saxlama, iki nüvəli CPU, OLED ekranı I2C vasitəsilə idarə etmək üçün kifayət qədər RAM,…) Nəzərə aldığım ESP32 ətrafında PCB dizayn etmək nisbətən sadədir. ESP32 ilə sxemlərin istifadəsi və dizaynı ilə bağlı peşəkar təcrübəm var ki, bu da seçimimə təsir etdi.

Ekranın seçimi, əsasən istifadə edə biləcəyim qədər parlaq olacağımı və mümkün olduğu qədər kiçik olmağı bacardığım hər şeyə gəldi. Ekranın piksel sayından çox narahat deyildim, çünki məqsədim çox minimalist və sadə bir istifadəçi interfeysinə sahib olmaq idi.

Qeyd etmək lazımdır ki, ekran sürücüsü görüntünün əks olunmasına imkan verən kitabxana tərəfindən dəstəklənməlidir. Bunun səbəbi, görüntünün obyektivdən keçərkən və reflektorda göründüyündə çevrildiyini və nümayiş olunanları əl ilə tərs çevirməməyimizin inşaatçılar olaraq çiyinlərimizdən böyük bir yük olduğunu göstərir.

Addım 3: Parçalar - Optika: Bir uzlaşma tapın

Parçalar - Optika: Güzəşt tapma
Parçalar - Optika: Güzəşt tapma
Parçalar - Optika: Güzəşt tapma
Parçalar - Optika: Güzəşt tapma
Parçalar - Optika: Güzəşt tapma
Parçalar - Optika: Güzəşt tapma

Bu layihə üçün optikaya yaxınlaşmaq olduqca çətindi, çünki bu layihəyə ilk başladığımda nə axtardığımı belə bilmirdim. Bəzi araşdırmalardan sonra başa düşdüm ki, etmək istədiyim OLED ekranımın gözdən əslində olduğundan daha uzaqda görünən bir "virtual görüntü" yaratmaqdır. Bu virtual görüntünün formalaşması üçün ideal məsafə sürücünün qarşısında təxminən 2-5 metr məsafədə olardı və bu, sürərkən diqqət etdiyimiz obyektlərə (digər avtomobillər, yolda zərbələr və s.)).

Bu məqsədə çatmaq üçün Fresnel linzalarından istifadə etməyi seçdim, çünki bunlar olduqca böyükdür, ucuzdur, sanki layihəm üçün kifayət qədər yaxşı bir məsafə təklif edir və sadə qayçı ilə kəsilə bilər (bu belə deyil) daha zərif yuvarlaq formalı şüşə linzalar). Fresnel linzaları, "cib böyüdücü" və ya "oxu kartı böyüdücü" kimi adlara rast gəlinir, çünki görmə qabiliyyəti zəif olan insanların oxumasına kömək etmək üçün çox uyğundur.

Əsasən, burada hiylə, aralarında doğru uzlaşma tapmaqla bağlı idi:

- Ağlabatan bir virtual görüntü məsafəsinə sahib olmaq (yəni HUD -un istifadəçi üçün nə qədər uzaq görünəcəyi və ya HUD -da nə olduğunu görmək üçün istifadəçinin gözlərini nə qədər düzəltməli olduğu)

- Ekrandakı mətnin obyektiv tərəfindən çox böyüdülməməsi (əsasən böyüdücüdür)

- OLED ekranı ilə obyektiv arasında kifayət qədər böyük bir modula səbəb olacaq məqbul bir məsafənin olması

Şəxsən mən Amazonda bir neçə fərqli linzalar sifariş etdim və F. uzunluğunun təxminən 13 sm olan birini seçməzdən əvvəl müvafiq fokus uzunluqlarını təyin etdim. 9 sm OLED-Lens məsafəsi olan bu F. uzunluğunu mənə əks etdiricimdə razı bir görüntü verdi (yuxarıdakı son şəkillərə baxın).

Şəkillərimdə gördüyünüz kimi, göstərilən mətnə düzgün diqqət yetirmək üçün bu şəkilləri çəkmək üçün istifadə olunan kamera sanki uzaq bir cisimə fokuslanırmış kimi tənzimlənməlidir ki, bu da hər şeyi əks etdirənlə eyni düzlükdə bulanıq görünür.. HUD üçün tam olaraq istədiyimiz budur.

Burada lens tutucusu üçün 3d faylları tapa bilərsiniz.

Addım 4: Parçalar - Hamısını tutacaq bir konteyner

Parçalar - Hamısını tutacaq bir konteyner
Parçalar - Hamısını tutacaq bir konteyner
Parçalar - Hamısını tutacaq bir konteyner
Parçalar - Hamısını tutacaq bir konteyner

Bu Təlimatları yazarkən, ekranın hər bir hissəsini tutacaq əsl konteyner tam olaraq dizayn edilməmişdir. Bununla birlikdə ümumi forması və müəyyən problemlərə necə yanaşmaq barədə bir neçə fikrim var (məsələn, bir reflektoru necə tutmaq və 100+ km/saat küləklərə tab gətirmək). Bu hələ çox davam edən bir işdir.

Addım 5: Modulumuz üçün Protokol Yaratmaq

Naviqasiya təlimatlarını telefondan inkişaf etdirmə lövhəsinə göndərmək üçün lazım olan məlumatları telefondan asanlıqla göndərməyimə imkan verən, eyni zamanda qəbul edildikdən sonra işlənməsini asanlaşdıran öz ünsiyyət protokolunu hazırlamalı oldum.

Bu Təlimat yazılarkən, moduldan istifadə etmək üçün telefondan ötürülməsi lazım olan məlumatlar:

- Qarşıdakı manevr növü (sadə dönmə, dönər yol, başqa yola birləşmə,…)

- Qarşıdakı manevrin dəqiq təlimatları (manevr növündən asılıdır: sağa/sola; döngə üçün hansı çıxışı,…)

- Qarşıdakı manevrdən əvvəl qalan məsafə (hələlik metrlərlə)

Bu məlumatları aşağıdakı çərçivə quruluşundan istifadə edərək təşkil etməyə qərar verdim:

: növ təlimatlar, məsafə;

Gözəl bir həll olmasa da, bu, ESP32 tərəfindəki kodlamanı asanlaşdıran protokolumuzun hər bir sahəsini asanlıqla ayırmaq və ayırmaq imkanı verir.

Nəzərə almaq lazımdır ki, gələcək xüsusiyyətlər üçün bu protokola (dəqiq gün və saat və ya istifadəçinin telefonunda çalınan musiqi kimi) əlavə olunmaq lazım ola bilər ki, bu da eyni qaydada asanlıqla həyata keçirilə bilər. indiki kimi məntiq qurmaq.

Addım 6: Kod: ESP32 tərəfi

Kod: ESP32 tərəfi
Kod: ESP32 tərəfi
Kod: ESP32 tərəfi
Kod: ESP32 tərəfi

ESP32 kodu hazırda olduqca sadədir. OLED ekranının asan idarə olunmasını təmin edən U8g2lib kitabxanasından istifadə edir (nümayiş olunan görüntünün əks olunmasını təmin edərkən).

Əsasən, bütün ESP32 tətbiqləri onu göndərdikdə, təhlil etdikdə və bu məlumatlara əsaslanaraq bu məlumatları və ya şəkilləri göstərdikdə Bluetooth vasitəsi ilə serial məlumatları almaqdır (yəni. "Sola/sağa dön" cümləsinin yerinə bir oxun göstərilməsi). İşdə kod:

/*Bir Android tətbiqindən HUD -u seriyalı bluetooth vasitəsilə idarə etmək proqramı*/#"BluetoothSerial.h" daxildir // Serial Bluetooth üçün başlıq faylı, Arduino -ya standart olaraq əlavə olunacaq#include #include #ifdef U8X8_HAVE_HW_SPI#include#endif# ifdef U8X8_HAVE_HW_I2C #include #endif // OLED kitabxana qurucusu, ekranınıza uyğun olaraq dəyişdirilməlidirU8G2_SSD1306_128X64_ALT0_F_HW_I2C u8g2 (U8G2_MIRROR,/* reset =*/U8X8_PIN_ // Dövlət maşını algılanan_ sahə dəyərləri + dəyişən#manevr sahəsini təyin et#sahəni təyin et#sahə 2#məsafəni təyin et Sahə 3#endOfFrame təyin et 4int algılanan_ölçü = endOfFrame; BluetoothSerial serialBT; // Bluetoothchar daxil olan_çarx; char manevr [10]; char təlimatları [10]; char məsafəsi [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; boolean fullsentence = false; void setup () {Serial.begin (9600); // Serial monitoru 9600 bauds u8g2.begin () ilə başladın; // OLED nəzarətini serialBT.begin ("ESP32_BT") başlat; // Bluetooth Siqnalının gecikməsinin adı (20); Serial.println ("Bluetooth Cihazı Cütləşməyə Hazırdır");} void loop () {if (serialBT.available () &&! Fullsentence) // Bluetooth serialı vasitəsilə alınan simvollar {incoming_char = serialBT.read (); Serial.print ("Alındı:"); Serial.println (incoming_char); } keçid (algılanan_ sahə) {halda manevrField: Serial.println ("Algılanan sahə: manevr"); if (incoming_char == '.') // Növbəti sahə aşkarlandı {found_field = instructionsField; } else {// Manevr növü məlumat dizisini doldurun manevr [nbr_char_maneuver] = daxil olan_char; nbr_char_maneuver ++; } fasilə; hal təlimatlarıField: Serial.println ("Algılanan sahə: təlimatlar"); if (incoming_char == ',') // Növbəti sahə aşkarlandı {found_field = distanceField; } başqa {// Təlimatları məlumat dizisi təlimatları ilə doldurun [nbr_char_instructions] = incoming_char; nbr_char_instructions ++; } fasilə; case distanceField: Serial.println ("Algılanan sahə: məsafə"); if (incoming_char == ';') // Çərçivənin Sonu aşkarlandı {found_field = endOfFrame; Serial.print ("manevr:"); Serial.println (manevr); Serial.print ("təlimatlar:"); Serial.println (təlimat); Serial.print ("məsafə:"); Serial.println (məsafə); dolğunluq = doğru; update_Display (); // Tam çərçivə alındı, onu təhlil edin və təkrarlanan məlumatları göstərin} başqa {// Məsafə məlumat silsiləsi məsafəsini doldurun [nbr_char_distance] = daxil olan_çar; nbr_char_distance ++; } fasilə; case endOfFrame: if (incoming_char == ':') detect_field = manevrField; // Yeni çərçivə pozuldu; default: // Heç bir şey pozmayın; } delay (20);} void update_Display () {// Mümkün olan ziddiyyətlərin qarşısını almaq üçün hər bir char dizisini önbelleğe alın (tempManeuver, manevr, nbr_char_maneuver); memcpy (tempInstructions, təlimatlar, nbr_char_instructions); memcpy (tempDistance, məsafə, nbr_char_distance); parseCache (); // Char dizilərini təhlil edin və emal edin fullsentence = false; // Cümlə işləndi, növbəti üçün hazır} void parseCache () {u8g2.clearBuffer (); // daxili yaddaşı silmək u8g2.setFont (u8g2_font_ncenB10_tr); // uyğun şrift seçin // char massivləri -> substring () funksiyasından istifadə etmək üçün məcburi olan String manevrString = tempManeuver; String təlimatlarıString = tempInstructions; // Burada protokol tətbiq olunur. Hal -hazırda yalnız dönüşləri dəstəkləyir. if (maneuverString.substring (0, 4) == "dönmə") {// Serial.print manevr növünü yoxlayın ("TURN AÇILDI"); if (instructionsString.substring (0, 5) == "sağ") {// Xüsusi təlimatları yoxlayın və müvafiq olaraq göstərin u8g2.drawStr (5, 15, "-"); } else if (instructionsString.substring (0, 4) == "sol") {// Xüsusi təlimatları yoxlayın və uyğun olaraq göstərin u8g2.drawStr (5, 15, "<---"); } başqa u8g2.drawStr (5, 15, "Səhv."); // Yanlış təlimat sahəsi}/ * Digər manevr növlərini tətbiq edin (dairəvi yollar və s.) * Else if (tempManeuver == "rdbt") { * *] */ u8g2.drawStr (5, 30, tempDistance); // Qalan məsafəni göstər u8g2.sendBuffer (); // daxili yaddaşı ekrana köçür // Növbəti oxunuş yaddaşından əvvəl bütün char massivlərini yenidən qur (manevr, 0, 10); memset (təlimatlar, 0, 10); memset (məsafə, 0, 10); memset (tempManeuver, 0, 10); memset (tempInstructions, 0, 10); memset (tempDistance, 0, 10); // Dizidəki elementlərin sayını sıfırlayın nbr_char_distance = 0; nbr_char_instructions = 0; nbr_char_maneuver = 0;}

Addım 7: Kod: Android tərəfi

Kod: Android tərəfi
Kod: Android tərəfi
Kod: Android tərəfi
Kod: Android tərəfi
Kod: Android tərəfi
Kod: Android tərəfi

Smartfon tətbiqi üçün, sıfırdan bir naviqasiya xəritəsi qurmağa gəldikdə bir çox faydalı xüsusiyyətlər təklif etdiyi üçün Mapbox naviqasiya SDK -nı istifadə etməyə qərar verdim. Bu modulun işləməsinə kömək edən bir çox faydalı dinləyicinin istifadəsinə də imkan verir. Harry1453-in android üçün android-bluetooth-serial kitabxanasından da istifadə etdim, çünki Bluetooth serial ünsiyyətini bir araya gətirməyi çox asanlaşdırdı.

Bu proqramı evdə qurmaq istəyirsinizsə, ayda müəyyən sayda sorğuya qədər pulsuz olan bir Mapbox giriş nişanı almalısınız. Bu mö'cüzəni koda daxil etməli və proqramı öz tərəfinizə qurmalısınız. Ayrıca öz ESP32 -nin Bluetooth MAC ünvanına kod yazmalısınız.

Göründüyü kimi, tətbiq sizi mövcud yerinizdən xəritədə tıklaya biləcəyiniz hər hansı bir yerə yönləndirə bilər. Girişdə qeyd edildiyi kimi, dönüşlərdən başqa heç bir manevr etməyi dəstəkləmir və hələlik marşrutları idarə etmir.

Bütün mənbə kodunu github -da tapa bilərsiniz.

Addım 8: Sonrakı Nədir?

İndi tətbiq, istifadəçisini müəyyən bir marşrutda istiqamətləndirmək üçün kifayət qədər funksional olduğuna görə (təyin olunan marşrutdan heç bir sapma yoxdursa) əsas diqqətim smartfon tətbiqini təkmilləşdirmək və modulu bir hala gətirəcək bir neçə qabiliyyəti tətbiq etmək olacaq. naviqasiya cihazı. Bura, ekran sönük olsa belə telefondan Bluetooth əlaqəsinin qurulması və digər manevr növlərinə dəstək (dairəvi yollar, birləşmə,…) daxildir. İstifadəçi orijinal marşrutdan kənara çıxsa, marşrutlaşdırma xüsusiyyətini də tətbiq edəcəyəm.

Bütün bunlar edildikdə, konteyner və onun bağlanma mexanizmini təkmilləşdirəcəyəm, 3d çap edəcəyəm və modulu ilk dəfə işə salmağa çalışacağam.

Hər şey yaxşı olarsa, uzunmüddətli məqsədim, bu məhsulun daxili elektronikası üçün xüsusi bir PCB hazırlamaqdır ki, bu da son məhsulda çox yer saxlayacaqdır.

İstifadəçi mətn mesajı və ya zəng aldıqda bir simge görünə biləcək bir zaman göstəricisi və telefon bildiriş siqnalı da daxil olmaqla gələcəkdə bu modula başqa xüsusiyyətlər də əlavə edə bilərəm. Nəhayət, böyük bir musiqi pərəstişkarı olaraq bu modula Spotify imkanlarını əlavə etmək istərdim. Halbuki, bu zaman kəsiyində bu, yalnız xoşdur.

Addım 9: Nəticə və xüsusi təşəkkürlər

Nəticə və xüsusi təşəkkürlər!
Nəticə və xüsusi təşəkkürlər!

Girişdə bildirildiyi kimi, bu layihə başa çatmaqdan çox uzaq olsa da, bunu başqalarına ilham verə biləcəyi ümidi ilə dünya ilə bölüşmək istədim. Mən də bu mövzuda araşdırmalarımı sənədləşdirmək istədim, çünki həqiqətən də AR və HUD -a çox həvəskar maraq yoxdur, zənnimcə ayıbdır.

Müvafiq genişləndirilmiş reallıq layihəsi bu modulun hazırlanmasında mənə çox ilham verən Awall99 və Danel Quintana'ya böyük bir təşəkkürümü bildirmək istəyirəm.

Diqqətinizə görə hamınıza təşəkkür edirəm, yaxın gələcəkdə bu layihə təkmilləşəndə bir yeniləmə göndərəcəyimə əminəm. Bu arada, hamınızı daha sonra görüşək!

Tövsiyə: