Мазмуну:

Акылдуу мотоцикл HUD прототипи (кезеги менен навигация жана башка көптөгөн нерселер): 9 кадам
Акылдуу мотоцикл HUD прототипи (кезеги менен навигация жана башка көптөгөн нерселер): 9 кадам

Video: Акылдуу мотоцикл HUD прототипи (кезеги менен навигация жана башка көптөгөн нерселер): 9 кадам

Video: Акылдуу мотоцикл HUD прототипи (кезеги менен навигация жана башка көптөгөн нерселер): 9 кадам
Video: TOUTES les cartes Multicolores, Incolores et Terrains Kamigawa, la Dynastie Néon, MTG 2024, Июль
Anonim
Акылдуу мотоцикл HUD прототипи (кезеги менен чабыттоо жана башка көптөгөн нерселер)
Акылдуу мотоцикл HUD прототипи (кезеги менен чабыттоо жана башка көптөгөн нерселер)
Акылдуу мотоцикл HUD прототипи (кезеги менен чабыттоо жана башка көптөгөн нерселер)
Акылдуу мотоцикл HUD прототипи (кезеги менен чабыттоо жана башка көптөгөн нерселер)
Акылдуу мотоцикл HUD прототипи (кезеги менен чабыттоо жана башка көптөгөн нерселер)
Акылдуу мотоцикл HUD прототипи (кезеги менен чабыттоо жана башка көптөгөн нерселер)
Акылдуу мотоцикл HUD прототипи (кезеги менен чабыттоо жана башка көптөгөн нерселер)
Акылдуу мотоцикл HUD прототипи (кезеги менен чабыттоо жана башка көптөгөн нерселер)

Салам !

Бул Instructables-бул мотоциклдин баш кийимине орнотулган HUD (Heads-Up Display) платформасын кантип иштеп чыкканым жана окуям. Ал "карталар" сынагынын контекстинде жазылган. Тилекке каршы, мен бул долбоорду конкурстун акыркы мөөнөтүнө чейин аягына чейин бүтүрө алган жокмун, бирок ошентсе да мен буга жетишкен ийгиликтерим менен бөлүшкүм келди, ошондой эле сыноо менен катачылыкты документтештиргим келди.

Бул долбоордун идеясы мага биринчи жолу бир нече жыл мурун, мен мотоциклге киргенде келген, жана минүүмдү жагымдуу кылуу үчүн кандай жабдууларды сатып алууну ойлоно баштагам. Ошол учурда, минип жүргөндө бир нече негизги GPS навигациясын алуунун эң жакшы жолу негизинен смартфонуңузду велосипеддин рулуна туташтыруу экени мени таң калтырды. Менин оюмча, мындай маалыматты тез арада алуунун жакшы жолу болушу мүмкүн.

Мына ошондо мага туура келди: башын көтөрүүчү дисплей, телефонуңуздун батарейкасын бошотпостон жана аны элементтерге көрсөтпөстөн, минип баратып навигациялоонун жолу болушу мүмкүн.

Убакыттын өтүшү менен, бул идея менин мээмде бышып жетилди, бирок мен HUD менин алдымда дайыма навигацияга караганда көбүрөөк колдонууга мүмкүндүк берет деп ойлогом. Мына ошондуктан менин планым платформаны жалпыга ачык жана модулдук кылуу, ошондуктан каалаган адам HUDда керектүү маалыматты көрсөтө турган модуль түзө алат.

Бул тапшырманы аткарган сатыкта бар продуктылар бар болсо да, менин платформам сыяктуу модулдук эч ким жок, жана алар дагы бир аз кымбатыраак. Кандай болбосун, бул долбоорго кош келиңиз.

Азырынча эмне иштейт

Белгиленгендей, бул долбоор дагы эле өнүгүү абалында жана бул учурда иштеп жатат.

- Смартфон менен ESP32 негизиндеги такта ортосундагы байланыш (телефон ойготулган)

- Оптика дизайны жасалды (узак мөөнөттүү перспективада кичине тууралоолор талап кылынышы мүмкүн)

- Mapbox багыттоо SDKсын колдонуп, Android багыттоо колдонмосу:

- Картада колдонуучунун позициясын, ошондой эле андан көздөгөнгө чейинки маршрутту эсептөө жана көрсөтүү мүмкүнчүлүгү

- Bluetooth түзмөгүнө туташа алат (түзмөктүн MAC дареги азырынча коддолгон)

- Реалдуу убакытта чабыттоо мүмкүнчүлүгү, анын ичинде келе жаткан маневрдин маалыматын сериялык Bluetooth аркылуу алуу жана жөнөтүү (азырынча бурулуштарды гана колдойт)

Эмне жумуш керек

Бул тизмеде HUDнын колдонулушу үчүн абдан керектүү нерселер бар, бирок азырынча ишке ашырууга даяр эмес.

- Жалпы дизайн (Каска тиркемеси, рефлектордун бурчун жөнгө салуу механизми,..)

- Android колдонмосу:

- маршруттан тышкары аныктоо жана оңдоо иштерин жүргүзүү

- Колдонуучунун бара турган дарегин киргизүү мүмкүнчүлүгү

- Упайлар?

- Эргономика / Эстетика

Берилиштер:

Essentials

- esp32 негизделген өнүктүрүү тактасы

- Бир аз акыркы андроид смартфону (Bluetooth иштетилген)

- SSD1306 же башка иштетилген 96 "OLED экраны (меники 128x64 пиксел болчу," Мээлер: Микроконтроллер жана Экран "бөлүгүн караңыз)

- Рефлектор (акрил/айнек/плексигласстын каалаган бөлүгү жасалат)

- Френель линзасы (менин узундугум болжол менен 13см болгон, "Объективди тандоо" бөлүгүн караңыз)

Куралдар

- Кандооч

- Нан тактасы

- Бир нече секирүүчү кабель

- 3d принтер / 3d басып чыгаруу кызматы

1 -кадам: Мунун баары кантип иштейт: Дизайн тандоолору түшүндүрүлөт

Мунун баары кантип иштейт: Дизайн тандоолору түшүндүрүлөт
Мунун баары кантип иштейт: Дизайн тандоолору түшүндүрүлөт
Мунун баары кантип иштейт: Дизайн тандоолору түшүндүрүлөт
Мунун баары кантип иштейт: Дизайн тандоолору түшүндүрүлөт
Мунун баары кантип иштейт: Дизайн тандоолору түшүндүрүлөт
Мунун баары кантип иштейт: Дизайн тандоолору түшүндүрүлөт

Heads Up Displayдин негизги идеясы - кимдир бирөөнүн көз алдында сүрөттү көрсөтүү, ошондуктан алар эмне кылып жатышканынан (учакты башкарабы, же мотоцикл айдайбы, ал бизден башка нерсеге карабайт). мисал).

Оптика

Техникалык жактан, буга түз эле колдонуучунун көзүнө экранды коюу аркылуу жетишүүгө болот. Бирок, экран тунук эмес, ошондуктан колдонуучунун көрүүсүнө тоскоол болмок. Сиз экранды чагылтуучу бетинин алдына койсоңуз болот, ал экрандын мазмунун чагылдырат, ал эми колдонуучу анын алдында эмне бар экенин көрө алат.

Бирок, бул ыкманын чоң кемчилиги бар: чыныгы экран, адатта, колдонуучунун көңүлүн бурууга караганда, колдонуучунун көзүнө жакыныраак болот (мис., Анын алдындагы жол). Бул чагылтуу бетиндеги нерселерди окуу үчүн, колдонуучунун көздөрү дисплейдин көзүнөн алыстыгына (20 см дейли) ылайыкташуусу керек экенин, анан алдыдагы жолго көңүл буруу үчүн кайра көнүү керектигин билдирет. (~ 2/5 метр). Бул бүт операцияны талап кылган убакыт - бул жолду карап чыгууга жумшалуучу баалуу убакыт, жана адаптация бир нече мүнөттөн кийин колдонуучуга ыңгайсыз болушу мүмкүн.

Ошондуктан мен экран менен рефлектордун ортосуна линза кошууну чечтим. Бул линза, эгер кылдаттык менен тандалса, экрандын виртуалдык сүрөтүн түзүүгө мүмкүндүк бериши керек (жогорудагы схеманы караңыз), ал колдонуучунун көзүнөн чынында эле алысыраак көрүнөт, андыктан кескин адаптацияларды талап кылат (же такыр жок, идеалдуу сценарийде). Бул дизайн колдонуучуга рефлекторду тез кароого, керектүү маалыматты алууга жана ошол замат кайра жолду кароого мүмкүнчүлүк берет.

Смартфондун ролу

Жалгыз ESP32де навигациялык колдонмону ишке ашыруу реалдуу эмес болгондуктан, мен буга кам көрө турган андроид тиркемесин жасоону чечтим. Колдонмо ESP32ге колдонуучунун көздөгөн жерине жетүү үчүн эмне кылышы керек экенин айтып бериши керек эле, жана ESP32 бул маалыматты HUDга өткөрүп берет ("Модулдун иштеши" деген сүрөттү караңыз).

2 -кадам: Бөлүктөр - Мээ: Микроконтроллер жана Экран

Бөлүктөр - Мээ: Микроконтроллер жана Экран
Бөлүктөр - Мээ: Микроконтроллер жана Экран
Бөлүктөр - Мээ: Микроконтроллер жана Экран
Бөлүктөр - Мээ: Микроконтроллер жана Экран

Жогоруда айтылгандай, мен модулумдун навигациялык маалыматын көрсөтүүнү пландап жаткам, бирок иш жүзүндө жайгашууну, көзөмөлдөөнү жана реалдуу убакытта навигацияны эсептей албайт. колдонуучунун телефону анын ордуна модуль менен байланышып, маалыматты HUDда көрсөтүү үчүн жөнөтөт.

Колдонуучунун телефону менен модулдун ортосундагы байланышты жеңилдетүү үчүн, мен бул долбоор үчүн ESP32 негизделген тактаны колдонууну чечтим. Бул тандоо интеграцияланган Bluetooth мүмкүнчүлүктөрүнө ээ болгон конкреттүү модулдун, ошондой эле башка бир нече кызыктуу мүнөздөмөлөрдүн натыйжасында болду (учуучу эмес сактагычты колдонууга оңой, эки ядролуу процессор, OLED дисплейди I2C аркылуу башкарууга жетиштүү RAM,…). Мен эске алган ESP32 тегерегиндеги ПХБларды долбоорлоо салыштырмалуу жөнөкөй. Менде ESP32 менен схемаларды колдонуу жана долбоорлоо боюнча кесиптик тажрыйбам бар, бул менин тандоомо таасирин тийгизди.

Экранды тандоо, негизинен, мен колдонууга жаркырак болорун, ошондой эле мүмкүн болушунча кичинекей болууну каалаган нерсеге келди. Мен экрандын пикселдеринин саны жөнүндө абдан тынчсызданган жокмун, анткени менин максатым абдан минималисттик жана жөнөкөй UIге ээ болуу болчу.

Белгилей кетчү нерсе, экран драйвери сүрөттү чагылтууга мүмкүндүк берген китепкана тарабынан колдоого алынышы керек. Себеби, көрсөтүлгөн сүрөт линзадан өтүп, рефлектордо пайда болгондо оодарылып кетет жана көрсөтүлгөн нерсени кол менен артка кайтаруунун кажети жок, куруучулар катары биздин ийиндерибизден чоң жүк.

3 -кадам: Бөлүктөр - Оптика: Компромисс табуу

Бөлүктөр - Оптика: Компромисс табуу
Бөлүктөр - Оптика: Компромисс табуу
Бөлүктөр - Оптика: Компромисс табуу
Бөлүктөр - Оптика: Компромисс табуу
Бөлүктөр - Оптика: Компромисс табуу
Бөлүктөр - Оптика: Компромисс табуу

Бул долбоордун оптикасына жакындаш абдан кыйын болду, анткени мен бул долбоорду биринчи баштаганда эмнени издеп жүргөнүмдү эч түшүнгөн эмесмин. Бир аз изилдөөлөрдөн кийин, мен каалаганым OLED экранымдын "виртуалдык сүрөтүн" түзүү экенин түшүндүм, ал чындыгында көздөн алда канча алыс көрүнөт. Бул виртуалдык сүрөттү түзүү үчүн идеалдуу аралык айдоочунун маңдайында болжол менен 2-5 метрди түзөт, бул биз айдап бара жатканда көңүл бурган нерселерге чейинки аралык сыяктуу көрүнөт (башка машиналар, жолдогу дөңсөөлөр ж.).

Бул максатка жетүү үчүн мен Fresnel линзасын колдонууну чечтим, анткени алар абдан чоң, арзан, алар менин проектим үчүн жетиштүү фокус аралыкты сунуш кылгандай көрүнгөн жана аларды жөнөкөй кайчы менен кесүүгө болот (андай эмес) дагы тазаланган тегерек формадагы айнек линзалар). Френель линзалары "чөнтөк лупасы" же "окуу картасынын лупасы" сыяктуу аттарды тапса болот, анткени алар начар көргөн адамдарга окууга жардам берет.

Негизинен, бул жердеги айла:

- акылга сыярлык виртуалдык аралыкка ээ болуу (башкача айтканда, HUD колдонуучуга канчалык алыс көрүнөт же колдонуучу HUDда эмне бар экенин көрүү үчүн көзүн тууралашы керек)

- Экранда тексттин болушу линзанын жардамы менен өтө чоңойбойт (бул негизинен лупа)

- OLED экраны менен линзанын ортосунда акылга сыярлык аралыкка ээ болуу, бул абдан чоң модулга алып келет

Мен жеке Amazonдо бир нече ар кандай линзаларга буйрутма бергем жана Ф.нын узундугу болжол менен 13 см болгон линияны тандаардан мурун, алардын фокус аралыгын аныктадым. Мен бул F.lengthти, 9см OLED-Линзанын аралыгы менен, менин рефлекторумда канааттандырарлык сүрөттү бердим (жогорудагы акыркы бир нече сүрөттөрдү караңыз).

Менин сүрөттөрүмдө көрүнүп тургандай, көрсөтүлгөн текстке туура көңүл буруу үчүн, бул сүрөттөрдү тартуу үчүн колдонулган камера алыскы объектке фокусталгандай жөнгө салынышы керек, бул болсо рефлектор менен бирдей тегиздикте баарын бүдөмүк кылып көрсөтөт.. Бул биздин HUD үчүн так каалаган нерсебиз.

Бул жерде линза кармагыч үчүн 3d файлдарды таба аласыз.

4 -кадам: Бөлүктөр - Баарын кармай турган контейнер

Бөлүктөр - Баарын кармай турган контейнер
Бөлүктөр - Баарын кармай турган контейнер
Бөлүктөр - Баарын кармай турган контейнер
Бөлүктөр - Баарын кармай турган контейнер

Мен бул көрсөтмөлөрдү жазып жатканымда, дисплейдин ар бир бөлүгүн кармай турган контейнер так иштелип чыккан эмес. Менде анын жалпы формасы жана кээ бир көйгөйлөргө кантип мамиле кылуу керектиги жөнүндө бир нече идеялар бар (мисалы, рефлекторду кантип кармап, 100+ км/саат шамалга туруштук берүү керек). Бул дагы абдан көп иштер жүрүп жатат.

5 -кадам: Биздин модуль үчүн протокол түзүү

Телефондон навигациялык көрсөтмөлөрдү иштеп чыгуу тактасына жөнөтүү үчүн, мен телефондон керектүү маалыматтарды оңой эле жөнөтүүгө мүмкүндүк бере турган, өзүмдүн байланыш протоколумду ойлоп табууга туура келди, ошол эле учурда аны иштетүүнү жеңилдеттим.

Бул Нускамалар жазылып жатканда, модуль менен чабыттоо үчүн телефондон берилиши керек болгон маалыматтар:

- Алдыдагы маневрдин түрү (жөнөкөй бурулуш, айланып өтүү, башка жолго кошулуу, …)

- Алдыдагы маневрдин так көрсөтмөлөрү (маневрдин түрүнө жараша: бурулуш үчүн оңго/солго; айланып өтүү үчүн кайсы чыгууга,…)

- Алдыдагы маневрге чейин калган аралык (азыр метр менен)

Мен бул маалыматты төмөнкү фреймдик структураны колдонуп уюштурууну чечтим:

: type.instructions, расстояние;

Бул сонун чечим болбосо да, бул бизге протоколдун ар бир тармагын оңой ажыратууга жана айырмалоого мүмкүндүк берет, бул ESP32 тарабында коддоону жеңилдетти.

Келечектеги мүмкүнчүлүктөр үчүн бул протоколго башка маалыматты кошуу керек болушу мүмкүн экенин эстен чыгарбоо керек (так күнү жана убактысы, же колдонуучунун телефонунда ойноп жаткан музыка сыяктуу). логиканы азыркыдай куруу.

6 -кадам: Код: ESP32 жагы

Код: ESP32 жагы
Код: ESP32 жагы
Код: ESP32 жагы
Код: ESP32 жагы

ESP32 коду учурда абдан жөнөкөй. Бул U8g2lib китепканасын колдонот, ал OLED экранын оңой башкарууга мүмкүндүк берет (көрсөтүлгөн сүрөттү чагылтууну иштетет).

Негизинен, ESP32нин баары, колдонмо жөнөткөндө, Bluetooth аркылуу сериялык маалыматтарды алуу, аны талдоо жана бул маалыматка негизделген бул маалыматтарды же сүрөттөрдү көрсөтүү (б.а. "солго/оңго буруу" сүйлөмүнүн ордуна жебени көрсөтүү). Бул жерде код:

/*Сериялык Bluetooth аркылуу андроид колдонмосунан HUD көзөмөлдөө программасы*/#камтыйт "BluetoothSerial.h" // Сериялык Bluetooth үчүн башкы файл, демейки түрдө Arduino#кошулат#Include #ifdef U8X8_HAVE_HW_SPI#камтыйт#endif# ifdef U8X8_HAVE_HW_I2C # #endif // OLED китепкана конструкторун камтыйт, ошого жараша экраныңызга өзгөртүлүшү керек // Мамлекеттик машина аныкталган_ талаа баалуулуктары + өзгөрмө#маневрди аныктооФилд 1#көрсөтмөлөрдү аныктоо2 -талаа#аралыкты аныктоо 3 -талаа#аныктоо endOfFrame 4int аныкталган_файл = endOfFrame; BluetoothSerial serialBT; // Bluetoothchar үчүн келген объект; char маневр [10]; char көрсөтмөлөрү [10]; 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; логикалык fullsentence = false; void setup () {Serial.begin (9600); // Сериялык мониторду 9600 bauds u8g2.begin () менен баштаңыз; // Init OLED control serialBT.begin ("ESP32_BT"); // Bluetooth Сигналынын кечигүүсүнүн аты (20); Serial.println ("Bluetooth түзмөгү жупташууга даяр");} void loop () {if (serialBT.available () &&! Fullsentence) // Белгилер Bluetooth сериясы аркылуу кабыл алынууда {incoming_char = serialBT.read (); Serial.print ("Алынган:"); Serial.println (incoming_char); } switch (detect_field) {case maneuverField: Serial.println ("Табылган талаа: маневр"); if (incoming_char == '.') // Кийинки талаа аныкталды {found_field = instructionsField; } else {// Маневрдин түрүн толтуруңуз маалымат массиви [nbr_char_maneuver] = incoming_char; nbr_char_maneuver ++; } тыныгуу; иштин көрсөтмөлөрүField: Serial.println ("Табылган талаа: көрсөтмөлөр"); if (incoming_char == ',') // Кийинки талаа аныкталды {found_field = distanceField; } else {// Нускамаларды маалымат массивинин көрсөтмөлөрүн толтуруңуз [nbr_char_instructions] = incoming_char; nbr_char_instructions ++; } тыныгуу; case distanceField: Serial.println ("Табылган талаа: аралык"); if (incoming_char == ';') // Frame End табылды {found_field = endOfFrame; Serial.print ("маневр:"); Serial.println (маневр); Serial.print ("көрсөтмөлөр:"); Serial.println (көрсөтмөлөр); Serial.print ("аралык:"); Serial.println (расстояние); fullsentence = true; update_Display (); // Толук кадр алынды, аны талдаңыз жана кайра алынган маалыматтарды көрсөтүңүз} башка {// Аралык маалымат массивинин аралыгын толтуруңуз [nbr_char_distance] = incoming_char; nbr_char_distance ++; } тыныгуу; case endOfFrame: if (incoming_char == ':') detect_field = maneuverField; // Жаңы кадр аныкталды демейки: // Эч нерсе бузбаңыз; } delay (20);} void update_Display () {// Мүмкүн болгон конфликттерди болтурбоо үчүн ар бир char массивин кэштаңыз memcpy (tempManeuver, маневр, nbr_char_maneuver); memcpy (tempInstructions, көрсөтмөлөр, nbr_char_instructions); memcpy (tempDistance, расстояние, nbr_char_distance); parseCache (); // Char массивдерин талдоо жана иштетүү fullsentence = false; // Сүйлөм иштетилди, кийинкисине даяр} void parseCache () {u8g2.clearBuffer (); // ички эстутумду тазалоо u8g2.setFont (u8g2_font_ncenB10_tr); // ылайыктуу шрифт тандоо // char массивдери -> string substring () функциясын колдонуу үчүн милдеттүү String maneuverString = tempManeuver; String instructionsString = tempInstructions; // Бул жерде протоколду ишке ашыруу. Азырынча бурулуштарды гана колдойт. if (maneuverString.substring (0, 4) == "кезек") {// Serial.print ("TURN DETECTED") маневр түрүн текшерүү; if (instructionsString.substring (0, 5) == "оңго") {// Конкреттүү көрсөтмөлөрдү текшерип, ошого жараша көрсөтүү u8g2.drawStr (5, 15, "-"); } else if (instructionsString.substring (0, 4) == "left") {// Конкреттүү көрсөтмөлөрдү текшериңиз жана ошого жараша көрсөтүңүз u8g2.drawStr (5, 15, "<---"); } else u8g2.drawStr (5, 15, "Err."); // Жараксыз көрсөтмө талаасы}/ * Башка маневр түрлөрүн ишке ашыруу (айланма жолдор ж.б…) * else if (tempManeuver == "rdbt") { * *] */ u8g2.drawStr (5, 30, tempDistance); // Калган аралыкты көрсөтүү u8g2.sendBuffer (); // ички эстутумду дисплейге өткөрүп берүү // Кийинки окуу memset алдында бардык char массивдерин баштапкы абалга келтирүү (маневр, 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 -кадам: Код: Android тарабы

Код: Android тарабы
Код: Android тарабы
Код: Android тарабы
Код: Android тарабы
Код: Android тарабы
Код: Android тарабы

Смартфон колдонмосу үчүн мен Mapboxтун навигациялык SDKсын колдонууну чечтим, анткени ал нөлдөн баштап навигациялык картаны түзүүдө көптөгөн пайдалуу функцияларды сунуштайт. Бул ошондой эле бул модулдун иштешине жардам берүүчү көптөгөн пайдалуу угуучуларды колдонууга мүмкүндүк берет. Мен ошондой эле harry1453тун android-bluetooth-сериялык китепканасын андроид үчүн колдондум, анткени ал Bluetooth сериялык байланышын биригүүгө бир топ жеңилдеткен.

Эгер сиз бул колдонмону үйдө кургуңуз келсе, Mapboxтун жетон белгисин алышыңыз керек, ал айына белгилүү бир сандагы сурамдарга чейин бекер болот. Сиз бул токенди кодго салып, колдонмону өзүңүздүн тарабыңызда курушуңуз керек болот. Сиз ошондой эле өзүңүздүн ESP32нин Bluetooth MAC дарегине код киргизишиңиз керек.

Колдонмо сизди учурдагы жайгашкан жериңизден картадан чыкылдатуучу каалаган жерге жетектей алат. Киришүүдө айтылгандай, бирок, ал бурулуштардан башка маневрди колдобойт жана маршруттарды чече албайт.

Толук баштапкы кодду менин githubдан таба аласыз.

8 -кадам: Кийинкиде эмне болот?

Эми колдонмо колдонуучуну белгиленген маршрут боюнча жетектөө үчүн жетиштүү функционалдуу болгондуктан (эгер белгиленген жолдон эч кандай четтөөлөр болбосо), менин негизги көңүлүм смартфондун тиркемесин жакшыртуу жана модулду а кыла турган бир нече мүмкүнчүлүктөрдү ишке ашыруу болуп калат. навигациялык түзүлүш. Бул экраны өчүп турганда да телефондон Bluetooth байланышын иштетүүнү, ошондой эле башка маневрлерди (айланма жолдор, биригүү,…) колдоону камтыйт. Колдонуучу баштапкы маршруттан четтеп кетсе, мен дагы маршрут өзгөртүү мүмкүнчүлүгүн ишке ашырам.

Мунун баары бүткөндөн кийин, мен контейнерди жана анын тиркөө механизмин жакшыртып, 3d басып чыгарам жана модулду биринчи жолу иштетүүгө аракет кылам.

Эгерде баары ойдогудай болсо, менин узак мөөнөттүү максатым - бул проектинин камтылган электроникасы үчүн ыңгайлаштырылган ПХБны иштеп чыгуу, бул акыркы продукттагы көп мейкиндикти үнөмдөйт.

Мен келечекте бул модулга башка функцияларды кошо алам, анын ичинде убакыт дисплейи, ошондой эле телефон билдирүүсүнүн ойготкучу, бул колдонуучу тексттик билдирүү же чалуу келгенде сөлөкөтүн көрсөтүшү мүмкүн. Акыры мен бул модулга Spotify мүмкүнчүлүктөрүн чоң музыкалык күйөрман катары кошкум келет. Бирок, бул учурда, бул болгону жакшы.

9 -кадам: Жыйынтык жана өзгөчө рахмат

Жыйынтык жана өзгөчө рахмат!
Жыйынтык жана өзгөчө рахмат!

Киришүүдө айтылгандай, бул долбоор бүтө элек болсо да, мен аны башка бирөөлөргө дем берер деген үмүттө, аны дүйнө менен бөлүшкүм келди. Мен дагы бул тема боюнча изилдөөлөрүмдү документтештиргим келди, анткени чындап эле АР менен HUDга кызыккан кызыгуу жок, бул менин оюмча.

Мен Awall99 жана Данел Кинтанага чоң рахмат айткым келет, алардын тиешелүү реалдуулук долбоору бул модулду түзүүдө мага көп дем берди.

Көңүл бурганыңыз үчүн баарыңыздарга рахмат, бул долбоор жакынкы аралыкта жакшыртылганда мен жаңыртууну жарыялайм. Ал ортодо, баарыңарды кийинчерээк көрүшөбүз!

Сунушталууда: