Përmbajtje:

Prototipi Smart Motor HUD (Navigacion kthesë pas kthese dhe shumë më tepër): 9 hapa
Prototipi Smart Motor HUD (Navigacion kthesë pas kthese dhe shumë më tepër): 9 hapa

Video: Prototipi Smart Motor HUD (Navigacion kthesë pas kthese dhe shumë më tepër): 9 hapa

Video: Prototipi Smart Motor HUD (Navigacion kthesë pas kthese dhe shumë më tepër): 9 hapa
Video: France Dassault Rafale Shot Down F-22 Raptor Shocked The World 2024, Korrik
Anonim
Prototipi Smart Motor HUD (Navigacion kthesë pas kthese dhe shumë më tepër)
Prototipi Smart Motor HUD (Navigacion kthesë pas kthese dhe shumë më tepër)
Prototipi Smart Motor HUD (Navigacion kthesë pas kthese dhe shumë më tepër)
Prototipi Smart Motor HUD (Navigacion kthesë pas kthese dhe shumë më tepër)
Prototipi Smart Motor HUD (Navigacion kthesë pas kthese dhe shumë më tepër)
Prototipi Smart Motor HUD (Navigacion kthesë pas kthese dhe shumë më tepër)
Prototipi Smart Motor HUD (Navigacion kthesë pas kthese dhe shumë më tepër)
Prototipi Smart Motor HUD (Navigacion kthesë pas kthese dhe shumë më tepër)

Pershendetje!

Ky Instructables është historia se si kam projektuar dhe ndërtuar një platformë HUD (Heads-Up Display) e krijuar për t'u montuar në helmetat e motoçikletave. Shtë shkruar në kontekstin e konkursit "harta". Mjerisht, unë nuk isha në gjendje ta përfundoja plotësisht këtë projekt në kohën e fundit të konkursit, por prapëseprapë doja të ndaj përparimin tim në të, si dhe të dokumentoja të gjitha provat dhe gabimet që kam marrë gjatë realizimit të tij.

Ideja për këtë projekt më erdhi për herë të parë disa vjet më parë, kur u futa në motoçikleta dhe po filloja të shikoja se cilat pajisje do të më duheshin për të blerë për t'i bërë udhëtimet e mia më të këndshme. Në atë kohë, më hutoi që mënyra më e mirë për të marrë një navigacion bazë GPS gjatë ngasjes ishte që në thelb të fiksoni telefonin tuaj inteligjent në timonin e biçikletës tuaj. Unë me siguri se me siguri, mund të ketë një mënyrë më të mirë për të marrë atë lloj informacioni në fluturim.

Atëherë erdhi tek unë: një ekran heads-up mund të jetë mënyra për të marrë navigimin gjatë udhëtimit, pa zbrazur baterinë e telefonit tuaj dhe duke e ekspozuar atë ndaj elementeve.

Me kalimin e kohës, kjo ide u pjek në mendjen time, dhe unë megjithëse se të kesh një HUD para meje në çdo kohë do të lejonte shumë më tepër përdorime sesa navigimi i thjeshtë. Kjo është arsyeja pse plani im është ta bëj platformën publike dhe modulare, kështu që çdokush mund të krijojë një modul që shfaq informacionin që i nevojitet në HUD -in e tij

Edhe pse ka produkte komerciale të disponueshme që përmbushin këtë detyrë, nuk ka asnjë që është aq modulare sa platforma ime, dhe ato gjithashtu kanë tendencë të jenë pak të kushtueshme. Gjithsesi, mirë se erdhët në këtë projekt.

Çfarë funksionon deri tani

Siç u tha, ky projekt është ende në një gjendje zhvillimi, dhe kjo është ajo që po punon aktualisht.

- Komunikimi midis një smartphone dhe një bordi të bazuar në ESP32 (telefoni zgjuar)

- Dizajni i optikës është bërë (mund të ketë nevojë për rregullime të vogla në planin afatgjatë)

- Aplikacioni i navigimit Android duke përdorur SDK -në e navigimit Mapbox:

- Aftësia për të llogaritur dhe shfaqur pozicionin e përdoruesit në një hartë, si dhe një rrugë nga ajo në destinacion

- Aftësia për t'u lidhur me një pajisje Bluetooth (adresa MAC e pajisjes është e koduar deri tani)

- I aftë për lundrim në kohë reale, përfshirë nxjerrjen dhe dërgimin e informacionit të manovrës së ardhshme përmes Bluetooth serial (mbështet vetëm kthesat tani për tani)

Ajo që ka nevojë për punë

Kjo listë përmban artikuj që janë absolutisht të nevojshëm për përdorimin e synuar të HUD, por që nuk janë ende gati për t'u zbatuar.

- Dizajni i përgjithshëm (shtojca e përkrenares, mekanizmi i rregullimit të këndit të reflektorit,..)

- Aplikacioni Android:

- Zbatoni zbulimin dhe korrigjimin jashtë rrugës

- Aftësia që përdoruesi të fusë adresën e destinacionit

- Pikat e rrugës?

- Ergonomi / Estetikë

Furnizimet:

Thelbësore

- Një bord zhvillimi i bazuar në esp32

- Çdo smartphone disi i fundit android (Bluetooth i aktivizuar)

- Një SSD1306 ose një ekran tjetër OLED të aktivizuar 96 "(imi ishte 128x64 piksele, shiko" Pjesa e trurit: Mikrokontrolluesi dhe ekrani ")

- Një reflektor (çdo pjesë akrilike/qelqi/pleksiglas do të bëjë)

- Një lente Fresnel (imja kishte një gjatësi F. prej rreth 13 cm, shihni pjesën "Zgjedhja e lentes")

Mjetet

- Makine per ngjitjen e metalit

- Tabela e bukës

- Disa kabllo kërcyes

- Printer 3d / shërbim printimi 3d

Hapi 1: Si funksionon gjithçka: Shpjegohen zgjedhjet e projektimit

Si funksionon gjithçka: Shpjegohen zgjedhjet e dizajnit
Si funksionon gjithçka: Shpjegohen zgjedhjet e dizajnit
Si funksionon gjithçka: Shpjegohen zgjedhjet e dizajnit
Si funksionon gjithçka: Shpjegohen zgjedhjet e dizajnit
Si funksionon gjithçka: Shpjegohen zgjedhjet e dizajnit
Si funksionon gjithçka: Shpjegohen zgjedhjet e dizajnit

Ideja themelore e një Heads Up Display është të shfaqë një imazh para vizionit të dikujt, në mënyrë që ata të mos kenë nevojë të shikojnë larg nga çfarëdo që po bëjnë (qoftë drejtimi i një aeroplani, apo ngasja e një motoçiklete, e cila do të jetë e jona. rast rast).

Optika

Teknikisht, kjo mund të arrihet duke vendosur një ekran para syve të përdoruesit. Sidoqoftë, një ekran nuk është transparent, dhe për këtë arsye do të pengonte shikimin e përdoruesit të tij. Pastaj mund ta vendosni ekranin para një sipërfaqeje reflektuese, e cila do të pasqyrojë përmbajtjen e ekranit, ndërsa do të ishte edhe e tejdukshme sa që përdoruesi do të shihte atë që ishte para tij.

Sidoqoftë, kjo qasje ka një të metë të madhe: ekrani aktual është zakonisht më afër syve të përdoruesit sesa ajo në të cilën përdoruesi duhet të përqëndrohet (p.sh. rruga përpara tij). Kjo do të thotë që, për të lexuar atë që ka në sipërfaqen reflektuese, sytë e përdoruesit do të duhet të përshtaten me distancën e ekranit nga sytë e tij (le të themi 20 cm), dhe pastaj do të duhet të përshtaten përsëri në mënyrë që të përqëndrohen në rrugën përpara (~ 2/5 metra). Koha që merr i gjithë ky operacion është kohë e çmuar që duhet shpenzuar duke parë rrugën, dhe përshtatja e shpeshtë mund të jetë e pakëndshme për përdoruesin pas vetëm disa minutash.

Kjo është arsyeja pse vendosa të shtoj një lente midis ekranit dhe reflektorit. Kjo lente, nëse zgjidhet me kujdes, duhet të lejojë krijimin e një imazhi virtual të ekranit (shiko skemën e mësipërme), e cila më pas do të duket se është më larg syve të përdoruesit siç është në të vërtetë, duke kërkuar kështu përshtatje më pak të papritura (ose aspak, në një skenar të përsosur). Ky dizajn i lejon përdoruesit të shikojë shpejt reflektorin, të marrë informacionin që i nevojitet dhe të shikojë menjëherë në rrugë.

Roli i smartphone -it

Për shkak se ishte joreale të provoja dhe të zbatoja një aplikacion të tërë navigimi vetëm në ESP32, vendosa të bëj një aplikacion android që do të kujdeset për këtë. Aplikacioni do të duhet vetëm t'i tregojë ESP32 se çfarë duhet të bëjë përdoruesi për të arritur në destinacionin e tij, dhe ESP32 e transmeton atë informacion përmes HUD (shiko figurën "Si funksionon moduli").

Hapi 2: Pjesët - Truri: Mikrokontrollues & Ekran

Pjesë - Truri: Mikrokontrollues & Ekran
Pjesë - Truri: Mikrokontrollues & Ekran
Pjesë - Truri: Mikrokontrollues & Ekran
Pjesë - Truri: Mikrokontrollues & Ekran

Siç u tha më lart, unë planifikova që moduli im të shfaqte informacionin e lundrimit, ndërsa në fakt nuk e kisha llogaritur pozicionimin aktual, gjurmimin dhe navigimin në kohë reale. telefoni i përdoruesit do të komunikonte me modulin dhe do t'i dërgonte atij informacionin për t'u shfaqur më pas në HUD.

Për të lehtësuar komunikimin midis telefonit të përdoruesit dhe modulit, zgjodha të përdor një bord të bazuar në ESP32 për këtë projekt. Kjo zgjedhje ishte për shkak të këtij moduli specifik që kishte aftësi të integruara Bluetooth, si dhe disa specifikimeve të tjera interesante (e lehtë për t’u përdorur, ruajtje jo e paqëndrueshme, CPU me dy bërthama, RAM i mjaftueshëm për të drejtuar ekranin OLED përmes I2C,…). Relativelyshtë relativisht e thjeshtë të hartosh PCB të bazuara rreth ESP32, të cilat unë i mora parasysh. Unë gjithashtu kam përvojë profesionale në përdorimin dhe projektimin e qarqeve me ESP32, gjë që patjetër ndikoi në zgjedhjen time.

Zgjedhja e ekranit në thelb zbriti në çdo gjë që mund të gjeja se megjithëse do të isha mjaft e ndritshme për përdorim, duke qenë gjithashtu sa më e vogël. Unë nuk u shqetësova shumë për numrin e pikselave të ekranit, pasi objektivi im ishte të kisha një UI shumë minimalist dhe të thjeshtë.

Duhet të theksohet se drejtuesi i ekranit duhet të mbështetet nga një bibliotekë që lejon pasqyrimin e imazhit. Kjo ndodh sepse imazhi i shfaqur kthehet kur kalon përmes thjerrëzave dhe shfaqet në reflektor, dhe të mos kesh nevojë të ndryshosh manualisht atë që shfaqet është një peshë e madhe mbi supet tona si ndërtues.

Hapi 3: Pjesët - Optika: Gjetja e një kompromisi

Pjesë - Optika: Gjetja e një kompromisi
Pjesë - Optika: Gjetja e një kompromisi
Pjesë - Optika: Gjetja e një kompromisi
Pjesë - Optika: Gjetja e një kompromisi
Pjesë - Optika: Gjetja e një kompromisi
Pjesë - Optika: Gjetja e një kompromisi

Optika për këtë projekt ishte mjaft e vështirë për t'u afruar, pasi nuk e kisha idenë se çfarë po kërkoja kur fillova për herë të parë këtë projekt. Pas disa kërkimeve, kuptova se ajo që doja të bëja ishte të krijoja një "imazh virtual" të ekranit tim OLED, që do të dukej më larg syrit sesa është në të vërtetë. Distanca ideale për krijimin e këtij imazhi virtual do të ishte rreth 2-5 metra para shoferit, kjo duket të jetë distanca nga objektet në të cilat fokusohemi kur ngasim (makina të tjera, përplasje në rrugë, etj…)

Për të arritur atë qëllim, unë zgjodha të përdor një lente Fresnel, pasi ato janë mjaft të mëdha, të lira, dukej se ofrojnë një distancë fokale mjaft të mirë për projektin tim, dhe ato mund të priten me gërshërë të thjeshta (gjë që nuk ndodh për lente qelqi me formë më të rafinuar). Lentet Fresnel mund të gjenden emra si "zmadhues xhepi" ose "zmadhues i kartës së leximit", pasi ato janë shumë të përshtatshme për të ndihmuar njerëzit me shikim të keq të lexojnë.

Në thelb, truku këtu kishte të bënte me gjetjen e kompromisit të duhur midis:

- Të kesh një distancë të arsyeshme të imazhit virtual (domethënë, sa larg do të duket HUD për përdoruesin, ose sa larg përdoruesi do të duhet të rregullojë sytë për të parë se çfarë ka në HUD)

- Teksti në ekran të mos zmadhohet shumë nga lentet (e cila në thelb është një zmadhues)

- Të kesh një distancë të arsyeshme midis ekranit OLED dhe lentes, e cila përndryshe do të çonte në një modul shumë të rëndë

Unë personalisht porosita disa lente të ndryshme në amazon dhe përcaktova gjatësinë e tyre fokale përkatëse, para se të zgjidhja një me gjatësi F. rreth 13 cm. Gjeta këtë gjatësi F., me një distancë OLED-Lente prej 9cm, më dha një imazh të kënaqshëm në reflektorin tim (shiko imazhet e fundit më lart).

Siç do të shihni në ilustrimet e mia, për t'u përqëndruar siç duhet në tekstin e shfaqur, kamera e përdorur për të marrë këto fotografi duhet të rregullohet sikur të ishte e fokusuar në një objekt të largët, gjë që i bën të gjitha në të njëjtin plan me reflektorin të duket e turbullt Me Kjo është pikërisht ajo që duam për HUD -in tonë.

Këtu mund të gjeni skedarët 3d për mbajtësen e lenteve.

Hapi 4: Pjesët - një enë për t'i mbajtur të gjitha

Pjesë - një enë për t'i mbajtur të gjitha
Pjesë - një enë për t'i mbajtur të gjitha
Pjesë - një enë për t'i mbajtur të gjitha
Pjesë - një enë për t'i mbajtur të gjitha

Ndërsa po shkruaj këtë Instructables, ena aktuale që do të mbajë çdo pjesë të ekranit heads-up nuk është projektuar plotësisht. Sidoqoftë, unë kam disa ide në lidhje me formën e tij të përgjithshme dhe se si t'i qasemi problemeve të caktuara (si të mbash një reflektor të qetë dhe ta bësh atë të përballojë erërat 100+ km/orë). Kjo është ende shumë punë në progres.

Hapi 5: Krijimi i një Protokolli për Modulin Tonë

Për të dërguar udhëzimet e lundrimit nga telefoni në bordin e zhvillimit, më duhej të dilja me një protokoll komunikimi timin që do të më lejonte të dërgoja me lehtësi të dhënat e kërkuara nga telefoni, duke lehtësuar gjithashtu përpunimin e tij sapo të merreshin.

Në kohën e shkrimit të këtij Udhëzuesi, informacioni që duhej të transmetohej nga telefoni për të lundruar me modulin ishin:

- Lloji i manovrës së ardhshme (kthesë e thjeshtë, rrethrrotullim, bashkim në një rrugë tjetër, …)

- Udhëzimet e sakta të manovrës së ardhshme (në varësi të llojit të manovrës: djathtas/majtas për një kthesë; cilat dalje duhen marrë për një rrethrrotullim,…)

- Distanca e mbetur para manovrës së ardhshme (në metra tani për tani)

Vendosa t'i organizoj këto të dhëna duke përdorur strukturën e mëposhtme të kornizës:

: lloji.udhëzimet, distanca;

Ndërsa nuk është një zgjidhje e bukur, kjo na lejon të ndajmë dhe dallojmë me lehtësi secilën fushë të protokollit tonë, gjë që lehtësoi kodimin në anën ESP32.

Importantshtë e rëndësishme të mbani në mend se, për veçoritë e ardhshme, këtij protokolli mund t’i duhet shtuar informacione të tjera (si dita dhe ora e saktë, ose muzika që luhet në telefonin e përdoruesit), e cila do të ishte lehtësisht e realizueshme duke përdorur të njëjtën duke ndërtuar logjikën si tani.

Hapi 6: Kodi: Ana ESP32

Kodi: Ana ESP32
Kodi: Ana ESP32
Kodi: Ana ESP32
Kodi: Ana ESP32

Kodi për ESP32 është aktualisht mjaft i thjeshtë. Përdor bibliotekën U8g2lib, e cila mundëson kontroll të lehtë të ekranit OLED (ndërsa mundëson pasqyrimin e imazhit të shfaqur).

Në thelb, gjithçka që ESP32 bën është të marrë të dhëna serike përmes Bluetooth kur aplikacioni i dërgon, analizoj dhe shfaq këto të dhëna ose fotografi bazuar në këto të dhëna (dmth. Shfaqja e një shigjete në vend të fjalisë "kthehu majtas/djathtas"). Këtu është kodi:

/*Programi për të kontrolluar një HUD nga një aplikacion android përmes bluetooth serial*/#përfshijnë "BluetoothSerial.h" // File Header për Bluetooth Serial, do të shtohet si parazgjedhje në Arduino#përfshijnë#përfshijnë #ifdef U8X8_HAVE_HW_SPI#përfshijnë#endif# ifdef U8X8_HAVE_HW_I2C #përfshijnë #endif // konstruktorin e bibliotekës OLED, duhet të ndryshohet në përputhje me rrethanat në ekranin tuajU8G2_SSD1306_128X64_ALT0_F_HW_I2C u8g2 (U8G2_MIRROR,/* reset =*/U8X8_PIN_NON // Makina shtetërore zbuloi vlerat e fushës + variabli#përcakto manovrënFusha 1#përcakto udhëzimetFusha 2#përcakto distancënFusha 3#përcakto endOfFrame 4në zbuluar_fushën = endOfFrame; BluetoothSerial serialBT; // Objekt për Bluetoothchar hyrëse_char; manovrim char [10]; instruksione char [10]; distancë char [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; plotkuptim boolean = false; void setup () {Serial.begin (9600); // Filloni monitorin serik në 9600 bauds u8g2.begin (); // Fillo kontrollin OLED serialBT.begin ("ESP32_BT"); // Emri i vonesës së Sinjalit Bluetooth (20); Serial.println ("Pajisja Bluetooth është e gatshme për t'u çiftuar");} lak i pavlefshëm () {if (serialBT.available () &&! Fullsentence) // Karakteret që merren nëpërmjet serialit Bluetooth {incoming_char = serialBT.read (); Serial.print ("Marrë:"); Serial.println (inchar_char); } switch (fushë e zbuluar) {case maneuverField: Serial.println ("Fusha e zbuluar: manovër"); nëse (hyrja_char == '.') // Fusha tjetër e zbuluar {fushë e zbuluar = instruksioneFusha; } else {// Plotësoni manovrën e tipit të manovrës së grupit të informacionit [nbr_char_maneuver] = hyrja_char; nbr_char_maneuver ++; } pushim; udhëzimet e rastitFusha: Serial.println ("Fusha e zbuluar: udhëzimet"); nëse (hyrja_char == ',') // Fusha tjetër e zbuluar {fushë e zbuluar = distancaFusha; } else {// Plotësoni udhëzimet e udhëzimeve të grupit të informacionit të informacionit [nbr_char_instructions] = inchar_char; nbr_char_instructions ++; } pushim; distanca e rastitFusha: Serial.println ("Fusha e zbuluar: distanca"); nëse (hyrja_char == ';') // Fundi i Kornizës u zbulua {zbuluar_fusha = endOfFrame; Serial.print ("manovra:"); Serial.println (manovra); Serial.print ("udhëzimet:"); Serial.println (udhëzimet); Serial.print ("distanca:"); Serial.println (distanca); fjali e plotë = e vërtetë; update_Display (); // Korniza e plotë u mor, analizojeni dhe shfaqni të dhënat e marrësit} tjetër {// Plotësoni distancën e grupit të informacionit të distancës [nbr_char_distance] = inchar_char; nbr_char_distanca ++; } pushim; rasti endOfFrame: if (incoming_char == ':') found_field = maneuverField; // Kornizë e re zbuluar thyerje; default: // Mos bëni asgjë të prishur; } vonesë (20);} void update_Display () {// Cache çdo grup char për të shmangur konfliktet e mundshme memcpy (tempManeuver, manovër, nbr_char_maneuver); memcpy (tempInstructions, instruction, nbr_char_instructions); memcpy (tempDistanca, distanca, nbr_char_distance); parseCache (); // Analizoni dhe përpunoni vargjet char plotsentence = false; // Fjalia e përpunuar, gati për tjetrën} void parseCache () {u8g2.clearBuffer (); // pastroni kujtesën e brendshme u8g2.setFont (u8g2_font_ncenB10_tr); // zgjidhni një font të përshtatshëm // vargje char -> string i detyrueshëm për të përdorur funksionin nën varg () String manovërString = tempManeuver; Udhëzimet e vargutString = tempInstructions; // Zbatimi i protokollit këtu. Mbështet vetëm kthesat tani për tani. if (maneuverString.substring (0, 4) == "kthesë") {// Kontrolloni për llojin e manovrës Serial.print ("Kthejeni TET Zbuluar"); nëse (instruksionetString.substring (0, 5) == "djathtas") {// Kontrolloni udhëzimet specifike dhe shfaqni në përputhje me rrethanat u8g2.drawStr (5, 15, "-"); } else if (instruksionetString.substring (0, 4) == "majtas") {// Kontrolloni udhëzimet specifike dhe shfaqni në përputhje me rrethanat u8g2.drawStr (5, 15, "<---"); } else u8g2.drawStr (5, 15, "Gabim"); // Fusha e udhëzimeve të pavlefshme}/ * Zbatoni lloje të tjera manovrash (rrethrrotullime, etj.) * Përndryshe nëse (tempManeuver == "rdbt") { * *] */ u8g2.drawStr (5, 30, tempDistance); // Shfaq distancën e mbetur u8g2.sendBuffer (); // transferoni kujtesën e brendshme në ekran // Rivendosni të gjitha vargjet char para memsetit të leximit tjetër (manovër, 0, 10); memset (udhëzimet, 0, 10); memset (distanca, 0, 10); memset (tempManeuver, 0, 10); memset (tempInstructions, 0, 10); memset (tempDistance, 0, 10); // Rivendos numrin e elementeve në vargjet nbr_char_distance = 0; nbr_char_instructions = 0; nbr_char_maneuver = 0;}

Hapi 7: Kodi: Ana Android

Kodi: Ana Android
Kodi: Ana Android
Kodi: Ana Android
Kodi: Ana Android
Kodi: Ana Android
Kodi: Ana Android

Për aplikacionin smartphone, vendosa të përdor SDK -në e navigimit të Mapbox, pasi ofron shumë veçori të dobishme kur bëhet fjalë për ndërtimin e një harte navigimi nga e para. Ai gjithashtu lejon përdorimin e shumë dëgjuesve të dobishëm, të cilët definitivisht ndihmojnë në funksionimin e këtij moduli. Unë gjithashtu përdor bibliotekën seriale android-bluetooth-harry1453 për android, pasi e bëri komunikimin serial Bluetooth shumë më të lehtë për tu bashkuar.

Nëse doni ta ndërtoni këtë aplikacion në shtëpi, do t'ju duhet të merrni një shenjë të qasjes në Mapbox, e cila është falas deri në një numër të caktuar kërkesash në muaj. Ju do të duhet ta vendosni këtë shenjë në kod dhe ta krijoni aplikacionin në anën tuaj. Ju gjithashtu do të duhet të kodoni në adresën tuaj MAC Bluetooth të ESP32.

Siç duket, aplikacioni mund t'ju udhëheqë nga vendndodhja juaj aktuale në çdo vend ku mund të klikoni në hartë. Siç u përmend në hyrje, megjithatë, ai nuk mbështet asnjë manovër tjetër përveç kthesave dhe nuk trajton ende rrugë jashtë rrugës.

Ju mund të gjeni të gjithë kodin burimor në github tim.

Hapi 8: Çfarë vjen më pas?

Tani që aplikacioni është mjaft funksional për të drejtuar përdoruesin e tij në një rrugë të caktuar (nëse nuk ka devijime nga rruga e caktuar), fokusi im kryesor do të jetë përmirësimi i aplikacionit të smartphone dhe zbatimi i disa aftësive që do ta bënin modulin një pajisje e vlefshme navigimi. Kjo përfshin mundësimin e komunikimit Bluetooth nga telefoni edhe kur ekrani është i fikur, si dhe mbështetje për lloje të tjera manovrash (rrethrrotullime, bashkim,…). Unë gjithashtu do të zbatoj një veçori të ri -drejtimit nëse përdoruesi devijon nga rruga origjinale.

Kur të bëhet e gjithë kjo, unë do të përmirësoj enën dhe mekanizmin e saj të bashkëngjitjes, do ta printoj 3D dhe do të përpiqem ta marr modulin për një ekzekutim të parë.

Nëse gjithçka shkon mirë, objektivi im afatgjatë është të krijoj një PCB të personalizuar për elektronikën e ngulitur të këtij projekti, e cila do të kursente shumë hapësirë në produktin përfundimtar.

Unë gjithashtu mund të shtoj disa veçori të tjera në këtë modul në të ardhmen, duke përfshirë një ekran të kohës, si dhe një alarm njoftimi të telefonit, i cili mund të bëjë që një ikonë të shfaqet kur përdoruesi merr një mesazh me tekst ose një telefonatë. Më në fund do të doja të shtoja aftësitë e Spotify në këtë modul, si një tifoz i madh i muzikës. Sidoqoftë, në këtë pikë në kohë, kjo është vetëm një gjë e mirë të kesh.

Hapi 9: Përfundim dhe Falenderim i Veçantë

Përfundim dhe Faleminderit të veçantë!
Përfundim dhe Faleminderit të veçantë!

Siç u tha në hyrje, megjithëse ky projekt është ende larg përfundimit, unë me të vërtetë doja ta ndaja me botën, me shpresën se mund të frymëzonte dikë tjetër. Unë gjithashtu doja të dokumentoja hulumtimin tim mbi këtë temë, pasi nuk ka vërtet një interes të madh hobi për AR dhe HUD, gjë që mendoj se është turp.

Dua të falënderoj Awall99 dhe Danel Quintana, projekti përkatës i realitetit të shtuar të të cilëve më frymëzoi shumë në krijimin e këtij moduli.

Faleminderit të gjithëve për vëmendjen tuaj, me siguri do të postoj një përditësim kur ky projekt të përmirësohet në të ardhmen e afërt. Ndërkohë, shihemi të gjithë më vonë!

Recommended: