Բովանդակություն:
- Քայլ 1 ՝ Կրկնօրինակող սենսորների ընթերցում
- Քայլ 2. Ստեղծեք Bitmap պատկերը և տեղադրեք այն MicroSD քարտի վրա
- Քայլ 3: Սարքաշարի միացում
- Քայլ 4: RA8875 Էկրանի վարորդ և գրաֆիկական ձևավորում
- Քայլ 5: Էսքիզների վերբեռնում
- Քայլ 6: 3D տպիչ LCD պատյան
- Քայլ 7. OBD-II նավահանգիստը պառակտելը այնպես, որ Arduino- ն ուժ ունի միայն մեքենայի վազքի ժամանակ
Video: Arduino մեքենայի ցուցադրում. 7 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Կառուցեցի ներկառուցված ախտորոշման (OBD-II) էկրան ՝ օգտագործելով Adafruit- ի 7 TFT LCD, Teensy 3.6, Freematics OBD-II I2C ադապտեր և Amazon- ում գտած որոշ պահուստային տվիչներ: displayուցադրումն ունի երկու էջ մեկը `երբ իմ Honda Accord- ը քշում է, և մեկը` երբ այն հակառակն է:
Երբ իմ մեքենան վարում է, ցուցադրվում են RPM- ը, MPH- ն, շարժիչի բեռնվածության տոկոսը, մարտկոցի լարումը, խցիկի ջերմաստիճանը և շարժիչի հովացուցիչի ջերմաստիճանը (մեքենայի մի քանի այլ վիճակագրություն կա, եթե դրանք չցանկանաք ցուցադրել):
Երբ իմ մեքենան հակառակ ուղղությամբ է, Arduino IDE- ի հետ համատեղ Teensy 3.6- ը կարդում է իմ գտած մեքենայի անիմացիոն bitmap պատկերը, որը ցուցադրում է այն, այնուհետև կարդում պահեստային տվիչները: Չորս տվիչներն ունեն իրենց հեռավորությունը ոտքերի վրա և մեքենայի հետևում գտնվող անիմացիա, որը փոխում է գույնը ՝ կախված այն բանից, թե որքան մոտ է օբյեկտը մեքենային (պարզապես կանաչ նշանակում է <5 ոտնաչափ, կանաչ և դեղին նշանակում է <2,6 ոտնաչափ, իսկ կանաչ, դեղին իսկ կարմիրը նշանակում է <1 ոտնաչափ):
Ի վերջո, ես ավելացրի գիշերային ժամացույցը լուսավորելու հնարավորությունը:
Վերջնական արդյունքը հիանալի տեսք ունի և շատ լավ է գործում իմ մեքենայում: Ես նույնիսկ ավարտեցի այն տեղադրելով կենտրոնական մխիթարելում, ինչը լրիվ այլ գործընթաց էր, որի մեջ ես չեմ մտնի այս հրահանգելիքում: Ստորև բերված են այն մասերի ցանկը, որոնք ես օգտագործել եմ այս LCD էկրանը ստեղծելու համար:
1) Freematics OBD -II ադապտեր - 35 դոլար
2) պահուստային տվիչներ `15 դոլար
3) 7 դյույմանոց TFT LCD էկրան - 38 դոլար
4) SPI- ի վրա հիմնված LCD ցուցադրման վարորդ - 35 դոլար
5) դեռահաս 3.6 - $ 30
6) Level Shifter - 4 դոլար
7) 74HC125 Tri State Buffer IC -6 դոլար 2 տուփի համար (վստահ եմ, որ դուք կարող եք գտնել այս մաքրիչն այլուր)
8) MicroSD քարտ> = 1 ԳԲ - $ 4
9) լար, կոնդենսատորներ և դիմադրիչներ.
10) LP3470-2.93 Միացում Վերագործարկեք IC - $ 2
11) (ըստ ցանկության). DS18B20 ջերմաստիճանի տվիչ - 8 դոլար
12) (ըստ ցանկության). OBD -II Splitter - 10 դոլար
13) (ըստ ցանկության). Ավելացրեք միացման ապահովիչի լարը `8 դոլար 5 տուփի համար
Քայլ 1 ՝ Կրկնօրինակող սենսորների ընթերցում
Այս քայլը բարդ է, քանի որ այս պահուստային տվիչները հաղորդակցվում են ստացողի և այնուհետև փոքր LCD- ի հետ, ինչպես երևում է վերևում նկարում: Ես ուզում էի մի միջոց ազատվել դրանց ցուցադրումից և օգտագործել իմ սեփականը: Կայքի օգնությամբ, որը գտա որոշ գուգլինգից հետո (Հակառակ կայանման սենսորների կոտրում), ես կարողացա կարդալ սեփական կապի արձանագրությունը, որը հաղորդիչն ուղարկում է LCD էկրան: Չգիտես ինչու, հաղորդակցության արձանագրությունը տիպիկ չէ, ինչպիսիք են I2C, UART, CAN, USB և այլն: Արձանագրությունը տարբերվում է ՝ կախված մատակարարից: Եթե խորհուրդ եք տալիս օգտագործել իմ կոդը, քանի որ այն հատուկ գրված է այդ տվիչների համար, խորհուրդ եմ տալիս գնել վերը նշված իմ հավաքածուն:
Մինչև նրանց տրամադրած LCD- ն անջատելը, ես զննեցի երեք լարերը, որոնք միանում էին հաղորդիչին և LCD- ին: Այնտեղ կար +5 Վ կարմիր մետաղալար, գետնին սև մետաղալար և կապույտ մետաղալար: Իմ օսլիլոսկոպը կապույտ մետաղալարով և գետնին ամրացնելուց հետո ես տեսա հետք, որը նման է վերևում պատկերված նկարին, բայց ոչ ճշգրիտ (ես օգտագործել եմ նկարը վերևում նշված կայքից): Իմ հետքն ուներ ԲԱ longer ավելի երկար տևողության մեկնարկային բիթ, որին հաջորդում էր ևս 17 կարճ տևողության բիթ: Մեկնարկային բիթից հետո 0-5 բիթերը օգտակար տեղեկատվություն չունեին: 6-8 բիթերը համապատասխանում են A, B, C կամ D. սենսորներին: 9-16 բիթերը համապատասխանում էին մետր երկարությանը: Ես ներառեցի Arduino IDE ուրվագիծը, որը կարդում է տվիչները և տվյալները դուրս է բերում սերիական վահանակի վրայով:
Քայլ 2. Ստեղծեք Bitmap պատկերը և տեղադրեք այն MicroSD քարտի վրա
Ես օգտագործել եմ լուսանկարների խմբագրման անվճար ծրագիր ՝ GIMP անունով, որպեսզի կտրեմ և չափափոխեմ իմ մեքենայի պատկերը վերևից: Այնուհետև ես պատկերը արտահանեցի որպես 24 car bitmap պատկեր ՝ «car.bmp» անունով, որը 110 պիքսել է 250 պիքսել: Ես սա տեղադրեցի microSD քարտի վրա և տեղադրեցի microSD քարտը Teensy 3.6 միկրոկոնտրոլերի մեջ:
Հիմնական պատճառները, որ ես գնացի Teensy 3.6 -ի փոխարեն UNO- ի փոխարեն, այն արագությունն էր, որով Teensy- ն կարող էր կարդալ SD քարտ և ցուցադրել պատկերը ՝ օգտագործելով RA8875 ցուցադրման վարորդը: UNO- ի միջոցով գործընթացը տևեց մոտ 8 վայրկյան, իսկ Teensy 3.6 -ը ՝ 1.8 վայրկյան:
Քայլ 3: Սարքաշարի միացում
Adafruit- ն իսկապես գեղեցիկ տեսք ունի 7 դյույմանոց TFT LCD, որը շարժվում է RA8875 անունով IC- ով: Ես ընտրել եմ այս դիսփլեյի և դիսփլեյի վարորդը երկու պատճառով. Նախ ՝ ցուցադրման համար նախապես գրված ընդարձակ գրադարաններ: Երկրորդ ՝ ցուցադրման վարորդը կարող է խոսել SPI- ով ցանկացած միկրոկոնտրոլեր, այսինքն ՝ միկրոկոնտրոլերը RA8875- ին միացնող այդքան լարեր չկան:
Այս կարգավորման երկու բացասական կողմ կա: Նախ այն փաստը, որ Adafruit- ից RA8875 տախտակի հետ կապված կա ապարատային սխալ, որը պահանջում է 74HC125 եռակի բուֆերային IC- ի օգտագործումը, եթե ցանկանում եք օգտագործել SPI- ով հիմնված որևէ սարք, ինչպիսին է SD քարտը: Սարքավորման վրիպակն ավելի լիարժեք հասկանալու համար խնդրում ենք կարդալ հետևյալ ֆորումը: Երկրորդ, դա համեմատաբար երկար ժամանակ է, որը տևում է պատկերների LCD էկրանին ուղարկելու համար: Բացի այդ, LCD- ին պատկերի ուղարկման երկար տևողությունը պայմանավորված է SPI կապով, որը սահմանափակվում է միկրոկառավարիչների ժամացույցի արագությամբ և տվյալների մեծ քանակությամբ, որոնք պետք է ուղարկվեն ցուցադրման վարորդին շատ քիչ լարեր:
Ես ստեղծեցի Fritzing սխեման, որպեսզի յուրաքանչյուրը, ով կցանկանար ստեղծել այս ցուցադրումը, կարող է հեշտությամբ կարդալ, թե Teensy 3.6 -ի կապումներն ինչին են միանում: Ստորև ես ներառեցի.frz ֆայլը: Միակ երկու բաղադրիչները, որոնք պիտակավորված չեն, կոնդենսատորներն են, որոնք 1F 16V էլեկտրոլիտիկ կոնդենսատոր են և 100μF կերամիկական կոնդենսատոր: Ես ներառեցի դրանք, որպեսզի համոզվեմ, որ Teensy միկրոկառավարիչի սնուցումը կայուն DC +5V է և չի պարունակում որևէ լարման թռիչք (գուցե անհրաժեշտ չէ, բայց դրանք ներառեցի, քանի որ մեքենայի լարման մատակարարումը կարող է արագ տատանվել ՝ կախված մարտկոցի բեռից):
Մի քանի բան, որոնք պետք է նշել բաղադրիչների մասին: Նախ, մակարդակի փոխարկիչն ընդունում է ցանկացած 5 Վ ազդանշան և այն դարձնում 3.3 Վ Teensy 3.6 անվտանգ լարման: Սա անհրաժեշտ է OBD I2C ադապտերի, ինչպես նաև պահեստային սենսորային հաղորդիչի համար: Երկրորդ, դեռահասների I2C տողերը պահանջում են 4.7kΩ ձգվող դիմադրիչներ: Երրորդ, «գիշերային լար» (մթնող լար) և «պահեստային լար» միացնող չորս դիմադրիչներն անհրաժեշտ են որպես լարման բաժանարար `12V-13V ազդանշանները մոտ 2,5-3V ազդանշանների իջեցնելու համար:
ԹԱՐՄԱՈՄ 7/22/18. Ես գտա, որ OBD-I2C մոդուլի ներքին ջերմաստիճանի տվիչը շատ տարօրինակ թվեր է տալիս: Երբեմն այն կաշխատեր, բայց ժամանակի մեծ մասը մոդուլը թողնում էր 400 աստիճանից բարձր ջերմաստիճան: Դրա պատճառով ես որոշեցի ավելացնել իմ սեփական ds18b20 ջերմաստիճանի տվիչը: Դուք առավել քան ողջունելի եք այստեղ օգտագործել ցանկացած տեսակի ջերմաստիճանի տվիչ, բայց ստիպված կլինեք խմբագրել Arduino ծածկագիրը:
ԹԱՐՄԱՈՄ 3/1/19. Պատանիների 3.6 -ը չի սկսվում, երբ չափազանց ցուրտ է: Ես ավելացրել եմ միացման միացման միացում `համոզվելու համար, որ այն ճիշտ է բեռնվում:
Քայլ 4: RA8875 Էկրանի վարորդ և գրաֆիկական ձևավորում
RA8875 ցուցադրման վարորդն ունի գրադարան ՝ Adafruit_RA8875 անունով, որն օգտագործել եմ առաջին և երկրորդ էջերում երևացող ձևերը ստեղծելիս: RA8875- ի գրադարանը կարող է ստեղծել միայն գծեր, ուղղանկյուններ, կլորացված ուղղանկյուններ, եռանկյուններ, էլիպսներ և շրջանակներ, այնպես որ գրաֆիկան պետք է մշակվի խելացի ձևով `ավելի բարդ ձևեր ստեղծելու համար: Օրինակ, առաջին էջի մոխրագույն մատանին իրականում ավելի մեծ տրամագծով մոխրագույն շրջան է, որին հաջորդում է ավելի փոքր տրամագծի սև շրջանակ: Բացի այդ, պահուստային տվիչների էջի մեկ փոքր հատվածը պարունակում է 2 եռանկյուն այնպես դասավորված, որ դրանք կազմում են բազմանկյան ձև: Ես դա արեցի, որպեսզի կարողանամ փոխել պահուստային տվիչների էջի առանձին հատվածի գույնը: Duուցադրման համար նախատեսված Arduino ֆայլը պարունակում է մի շարք կետեր, որոնցով ես հետևում էի եռանկյունների և այլ ձևերի գտնվելու վայրին:
Ես օգտագործել եմ այս հիանալի կայքը ՝ RGB565 գույները ընտրելու և դրանք ուրվագծելու համար, որպեսզի կարողանամ օգտագործել Adafruit_RA8875 գրադարանում արդեն նախապես սահմանված ոչ լռելյայն գույները:
Տառատեսակների առումով, Adafruit_RA8875 գրադարանը աջակցում է միայն մեկին, եթե գրադարանի մի հատված չեք մեկնաբանում, որը թույլ է տալիս օգտագործել Adafruit_GFX գրադարանի տառատեսակները: Ստորև ես ներառեցի փոփոխված Adafruit_RA8875 գրադարանը: Ես պարզապես մեկնաբանեցի կոդի մի քանի տող, այնուհետև կարողացա օգտագործել տառատեսակները Adafruit_GFX գրադարանում: Բացի այդ, այս նախագծում օգտագործած 7 հատվածի տառատեսակը օգտագործելու համար համոզվեք, որ «FreeSevenSegNumFont.h» ֆայլը, որը ես գտնվում եմ Adafruit_GFX գրադարանի տառատեսակների թղթապանակում:
Քայլ 5: Էսքիզների վերբեռնում
Էսքիզը Teensy 3.6 -ում վերբեռնելու համար հարկավոր է տեղադրել Teensyduino- ն: Այնուհետև ձեզ հարկավոր է փոխարինել Adafruit_RA8875 և Adafruit_GFX գրադարանները դեռահասների գրադարանի գտնվելու վայրում (ոչ թե փաստաթղթերի ձեր բնորոշ վայրը): Mac- ում ես ստիպված էի աջ սեղմել ծրագրերում Arduino հավելվածի պատկերակին, այնուհետև անցնել դեպի/Բովանդակություն/Java/սարքավորում/teensy/avr/գրադարաններ: Պատուհանների վրա ես համոզված եմ, որ այն գտնվում է ձեր C սկավառակի տակ ՝ filesրագրի ֆայլեր x86, Arduino և այնուհետև այնտեղ գտնվող ապարատային թղթապանակում: Դա անելուց հետո ձեզ հարկավոր է փոխել էսքիզների գրքի գտնվելու վայրը Arduino հավելվածում ՝ այն խմբագրելով նախապատվությունների համաձայն, որտեղ երբևէ գտնվում են ձեր պատանեկության գրադարանները (այսինքն ՝ /Applications/Arduino.app/Contents/Java/hardware/teensy/avr):
ԹԱՐՄԱՈՄ 7/22/16. Ներքին ջերմաստիճանի տվիչի խնդրի պատճառով, որի մասին ես ավելի վաղ խոսեցի, ես ստիպված էի տեղադրել DS18B20 մոդուլի ջերմաստիճանի տվիչ: Zip ֆայլում կտեսնեք 4 arduino էսքիզ: Խնդրում ենք վերբեռնել ցուցադրման_կոդի ուրվագիծը, եթե ցանկանում եք օգտագործել OBD-II I2C մոդուլի ներքին ջերմաստիճանի տվիչը: Խնդրում ենք վերբեռնել display_code_with_new_temperature_sensor էսքիզը, եթե ցանկանում եք օգտագործել DS18B20 մոդուլը, որը ես կապեցի վերևում:
ԹԱՐՄԱՈ 11Մ 11/17/17. Fixedրագրային ապահովման մեջ ես շտկեցի մի շարք սխալներ, ներառյալ DS18B20- ը, որը թողնում է 185 Fahrenheit ջերմաստիճանը, ցուրտ եղանակին էկրանն ընդհանրապես չի միանում, և պիքսելները սխալ գույնի մեջ են խրվում, երբ էկրանը մթագնում է:
Այնուհետև օգտագործեք իմ վերևի նկարը `համոզվելու համար, որ ձեր պատանեկության կարգավորումները համապատասխանում են նկարին: Ես գտա, որ պատանու գերլարումը 240 ՄՀց հաճախականությամբ թույլ չի տալիս I2C OBD-II ադապտերին հաղորդակցվել դեռահասի հետ: Ի վերջո, պարզապես կտտացրեք բեռնել:
Արդուինոյի էսքիզային ֆայլերում ես գրեցի բավականին ծավալուն մեկնաբանություններ: Խնդրում ենք փնտրել բացատրություն, թե ինչպես է աշխատում ծրագրաշարը: Խնդրում ենք ազատ զգալ կապվեք ինձ հետ ցանկացած հարցի համար: Ես կփորձեմ նրանց պատասխանել իմ հնարավորությունների սահմաններում: Հաջողություն!
Քայլ 6: 3D տպիչ LCD պատյան
Ես ստեղծեցի 3D տպագիր LCD վերին և ստորին ծածկ ՝ 7 դյույմանոց էկրանը պաշտպանելու համար: Ես կցել եմ. IPT գյուտարարի մասի ֆայլերը, ինչպես նաև. STL ֆայլերը:
Ես ներառեցի նաև մի մաս, որը կոչվում է backup_sensor_ring.ipt, որը օղակ է, որը տեղավորվում է այն պահուստային տվիչների շուրջ, որոնք ես կապեցի վերևում: Իմ մեքենան արդեն ուներ նախապես հորատված պահեստային սենսորների անցքեր, որոնք չափազանց մեծ էին Amazon- ում գնած պահեստային տվիչների համար, ուստի ես ստիպված էի ստեղծել օղակ, որը տեղավորվելու էր պահուստային տվիչների վրա: Եթե դուք պատրաստվում եք փորել ձեր բամպերը հավաքածուի մեջ ներառված շրջանաձև փորված կտորով, ապա ձեզ հարկավոր չէ այս մասը:
Քայլ 7. OBD-II նավահանգիստը պառակտելը այնպես, որ Arduino- ն ուժ ունի միայն մեքենայի վազքի ժամանակ
Իմ էկրանը տեղադրելուց կարճ ժամանակ անց հասկացա, որ էկրանը միշտ միացված է, նույնիսկ երբ մեքենան անջատված էր: Նայելով OBD-II փինին, ես գտա, որ OBD-II միակցիչի 12 Վ հոսանքի գիծը միշտ միացված է ուղղակի մարտկոցին:
Այս ամենը շրջանցելու համար ես գնեցի OBD-II պառակտիչ, կտրեցի մետաղալարը, որը պատրաստվում է ամրացնել 16-ը ՝ պառակտիչի երկու միակցիչներից մեկի վրա, այնուհետև այդ կտրված մետաղալարը միացրեցի միացման միացման լարին:
Այնուհետև, օգտագործելով իմ բազմաչափը, ես գնացի վարորդի կողքի ապահովիչների տուփ և փորձարկեցի առկա ապահովիչները `տեսնելու, թե որ ապահովիչն է սնվում բանալին բռնկման վերածվելուց հետո:
Ի վերջո, ես միացրած միացման լարն այն միացրած ապահովիչին միացրեցի, որպեսզի էկրանը միանա միայն այն ժամանակ, երբ մեքենաս աշխատում է: Խնդրում ենք մի քանի հետազոտություն կատարել, թե ինչպես ճիշտ միացնել ձեր մեքենային միացում: Ես գտա, որ այս YouTube- ի ձեռնարկը լավն է:
Խորհուրդ ենք տալիս:
Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ - Քայլ առ քայլ: 4 քայլ
Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ | Քայլ առ քայլ. Այս նախագծում ես նախագծելու եմ մի պարզ Arduino մեքենայի հետադարձ կայանման սենսորային միացում ՝ օգտագործելով Arduino UNO և HC-SR04 ուլտրաձայնային տվիչ: Այս Arduino- ի վրա հիմնված Car Reverse ազդանշանային համակարգը կարող է օգտագործվել ինքնավար նավարկության, ռոբոտների ռանգի և այլ տեսականու համար
Երկակի 7 հատվածից բաղկացած ցուցադրում, որը վերահսկվում է շրջանագծի պոտենցիոմետրով Python - Տեսողության համառության ցուցադրում. 9 քայլ (նկարներով)
Երկակի 7 հատվածից բաղկացած ցուցադրումներ, որոնք վերահսկվում են շրջանագծի պոտենցիոմետրով: Python-Տեսողության համառության դրսևորում. Այս նախագիծը օգտագործում է պոտենցիոմետր `7 սեգմենտանոց LED էկրանների (F5161AH) ցուցադրումը վերահսկելու համար: Պոտենցիոմետրի բռնիչը պտտելիս ցուցադրվող թիվը փոխվում է 0 -ից 99 -ի սահմաններում: momentանկացած պահի վառվում է միայն մեկ LED, շատ կարճ, բայց
Arduino- ի RC մեքենայի կառավարման նոր միջոց. 7 քայլ (նկարներով)
Arduino- ի RC մեքենայի կառավարման նոր միջոց. Ես որոշակի աշխատանք եմ կատարել Arduino- ի վերահսկվող մեքենաների հետ, բայց այն մեքենաները, որոնց վրա ես աշխատել եմ, միշտ եղել են դանդաղ և մեթոդական: Արդուինո սովորելիս սա հիանալի է, բայց ես ուզում էի մի փոքր ավելի զվարճալի բան ունենալ: Մուտքագրեք RC մեքենան: RC մեքենաները բառացիորեն նախագծված են որպես
CAR-INO. Հին RC մեքենայի ընդհանուր փոխակերպում Arduino- ով և Bluetooth կառավարման միջոցով. 5 քայլ (նկարներով)
CAR-INO. Հին RC մեքենայի ամբողջական փոխակերպում Arduino- ով և Bluetooth հսկիչով. Ներածություն: Բարև, իմ առաջին հրահանգների մեջ ես կցանկանայի ձեզ հետ կիսվել 1990-ից հին մեքենայի նոր մեքենայի նորի վերածելու իմ փորձով: 1990 -ականներ էին, երբ Ձմեռ պապն ինձ նվիրեց այս Ferrari F40- ը ՝ աշխարհի ամենաարագ մեքենան: … այն ժամանակ:
Arduino Bluetooth մեքենայի կառավարման 4 X 4: 9 քայլ (նկարներով)
Arduino Bluetooth Car Control 4 X 4. Applicationրագրի կիրառման քայլեր. 1. Տեղադրեք “ Arduino Bluetooth մեքենայի կառավարում ” Դիմումը ստորև բերված հղումից ՝ https://play.google.com/store/apps/details?id=com.mtm.car22&hl=tr2: Ներբեռնեք միացման սխեմատիկ, մեկուսացման քայլերը: և Arduino.ino