Բովանդակություն:
- Քայլ 1. PCB- ի ձևավորում Eagle- ի միջոցով
- Քայլ 2: PCB- ի զոդում
- Քայլ 3. Softwareրագրակազմ… Ֆունկցիոնալություն… արդյունքներ
- Քայլ 4: 3D տպագրված պատյան… Տեսակավորում
- Քայլ 5: Բարելավելու բաներ…
Video: GPS մոնիտորինգ OLED ցուցադրման նախագծով. 5 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Ողջույն բոլորին, այս արագ հոդվածում ես ձեզ հետ կկիսեմ իմ նախագիծը ՝ ATGM332D GPS մոդուլ ՝ SAMD21J18 միկրոկոնտրոլերով և SSD1306 OLED 128*64 էկրանով, դրա համար հատուկ PCB կառուցեցի և ծրագրավորեցի այն Atmel studio 7.0 և ASF4 ստուդիայի միջոցով: Այս հոդվածում ես ձեզ հետ կկիսեմ այս ճանապարհորդության և այն ֆայլերի մասին, որոնք ես օգտագործել եմ, եթե ձեզ հետաքրքիր է դա անել ինքնուրույն:
Այժմ, եթե դուք ծրագրավորում եք ձեր MCU/զարգացման խորհուրդը Arduino- ի միջոցով, այս նախագիծը ձեզ համար պետք է լինի համեմատաբար հեշտ, բայց այստեղ ես կօգտագործեմ ASF4 (առաջադեմ ծրագրային շրջանակ 4) Atmel/Microchip- ից, որը հիմնված է C լեզվի վրա և գաղափար կտա ձեզ: այն մասին, թե ինչպես կարդալ GPS NMEA հաղորդագրությունը ՝ օգտագործելով USART Asynchronous վարորդը (Հետադարձ) և տրամադրել ձեզ պարզ գրադարան, որը կարող եք օգտագործել այն ցանկացած միկրոհսկիչով և տարբեր հարթակներով ՝ պարզապես ավելացնելով համապատասխան Վարորդը, որն օգտագործում եք հաղորդագրությունը ստանալու համար: GPS (NMEA հաղորդագրություն):
Այս հոդվածը բաժանեմ հետևյալի.
- PCB դիզայն.
- BOM- ին անհրաժեշտ է հավաքել PCB- ն
- Արագ հայացք դեպի ծրագրակազմ և ինքնին ծածկագիր և փորձարկում ապարատային և ծրագրային ապահովման համար:
- վերջին, բայց ոչ պակաս, որևէ բարելավում այս ծրագրի համար:
Այս նախագծի հետ կապված ամբողջ նյութը կգտնեք Github- ում (Այստեղ)
Քայլ 1. PCB- ի ձևավորում Eagle- ի միջոցով
Այս նախագիծը հիմնականում հիմնված է ATGM332D GPS մոդուլի շուրջ, օգտագործման համար պարզ GPS, քանի որ աշխատելու համար անհրաժեշտ է ընդամենը մի քանի պասիվ բաղադրիչ, և մենք կարող ենք ավելացնել պահեստային մարտկոց ՝ ժամանակը/ամսաթիվը խնայելու համար, եթե անջատենք էներգիայի հիմնական աղբյուրը մոդուլից:
և միացման բոլոր ազդանշանները վերահսկելու համար ես գնացի ATSAMD21J18B միկրոկառավարիչով ՝ TQFP64 փաթեթով, քանի որ այն ունի 128KByte ծրագրային հիշողության պահեստավորում և 32KByte տվյալների հիշողություն (և դրանցից շատերը տեղադրված են իմ աշխատասեղանի շուրջը):
միացումը պետք է սնուցվի USB 5V աղբյուրից, ինչպես նաև USB- ը կարող է հանդես գալ որպես վիրտուալ COM պորտ (CDC USB), և դուք կարող եք ավելացնել դրա կոդը, եթե ցանկանում եք սարքի հետ շփվել USB- ի միջոցով:
Էկրանի համար ես ընտրեցի SSD1306 0.96 'OLED էկրան ՝ SPI ավտոբուսով, այն փոքր է, բայց այն հարմար է իմ ուզած PCB չափի համար, տախտակի չափը ՝ 100x31 մմ:
Microcontroller- ի ծրագրավորումը կիրականացվի SWD ծրագրավորողի միջոցով (ես օգտագործում եմ Atmel ICE) և այն կկապի 1.27 մմ 10p քորոց վերնագրի միջոցով:
նաև ես Fusion360- ով օգտվեցի տախտակի համար 3D տեսք ստանալու համար, և դրա համար նույնպես կարող եք տեսնել որոշ մատուցված պատկերներ:
Քայլ 2: PCB- ի զոդում
Դուք ունեք ընտրություն ՝ ձեր PCB- ով տրաֆարետ պատվիրելու համար, ավելի հեշտ է տրաֆարետը կիրառել տախտակի վրա, ես տաք ափսե էի օգտագործել բաղադրիչները միասին միացնելու համար, տաք օդի օգտագործումը նույնպես լավ է, բայց LED- ն միացնելիս զգույշ եղեք: նրանք այնքան զգայուն են ջերմության նկատմամբ:
ներքևի կողմը միացնելը մի փոքր ավելի հեշտ է, քանի որ այն ունի միայն SWD կապի վերնագիր և պահեստային մարտկոց, որը կարող եք դրանք զոդել ՝ օգտագործելով զոդման երկաթ:
միացումն USB հոսանքի աղբյուրի հետ միացնելուց առաջ ստուգեք որևէ կարճ միացում:
միացրեք ձեր GPS ալեհավաքը և համոզվեք, որ դրա միակցիչը պատշաճ կերպով կպցրել եք, ես ամրացրել եմ ալեհավաքը տախտակի ներքևի մասում:
Քայլ 3. Softwareրագրակազմ… Ֆունկցիոնալություն… արդյունքներ
Theրագիրը կբաժանվի 4 մասի.
- USART ՝ ATGM332 GPS մոդուլի հետ հաղորդակցվելու համար:
- SPI ՝ OLED- ի հետ հաղորդակցվելու համար:
- USB CDC:
- GPIO ՝ LED- ները վերահսկելու համար
սկզբում միացրեք USB միակցիչը միացումին, ապա միացրեք ժապավենի մալուխը SWD միակցիչով:
Ներբեռնեք ծածկագիրը github- ից (հղումը այստեղ):
Geo-Location- ը ստանալու համար դուք ունեք 3 տարբեր NMEA հաղորդագրությունների ընտրանքներ.
- GPGGA
- GPRMC
- GPGLL
Ես օգտագործել եմ GPRMC նախադասությունը ՝ գտնվելու վայրը, ժամանակը և ամսաթիվը ստանալու համար (ժամանակը ՝ GMT 0.0), այնպես որ ծածկագրում կգտնեք.
GPRMC. Միացնել = 1;/*0, եթե այս հաղորդագրության կարիքը չկա*/
GPGGA. Միացնել = 0;/*0, եթե այս հաղորդագրության կարիքը չկա*/
GPGLL. Anable = 0;/*0, եթե այս հաղորդագրության կարիքը չկա*/
կարող եք դրանք բոլորը միացնել և կարդալ դրանք միաժամանակ ստանալ անհրաժեշտ տվյալները:
երբ լինի վավեր GPRMC նախադասություն, theGPRMC. Ready- ը կդառնա 1, և դուք կարող եք ձեռք բերել այս նախադասության մեջ առկա բոլոր տվյալները, ստուգեք այս հղումը ՝ այս նախադասության մեջ առկա տվյալները տեսնելու համար:
պարզապես, եթե Fix- ը «A» է, նշանակում է, որ Տեղանքը հասանելի է, եթե Fix- ը «V» է, նշանակում է, որ գտնվելու վայրը հասանելի չէ:
նկատեք, որ ATSAMD21- ն ունի ներքին RTC, բայց այստեղ ես չեմ օգտագործում այն, փոխարենը ես օգտագործում եմ ժամանակը և ամսաթիվը անմիջապես GPS- ից, այնպես որ, եթե չեք ցանկանում օգտագործել CR1220 պահեստային մարտկոցը, USB հոսանքի աղբյուրն անջատելուց հետո դուք կորցնել /ամը/Ամսաթիվը և հաջորդ անգամ միացնելով միացումը, էկրանին ժամի/ամսաթվի տարածքը դատարկ կլինի մինչև GPS- ի վավերական ժամի/ամսաթվի արժեքը:
էկրանը ցույց կտա GPS- ի ներկայիս վիճակը և կցուցադրի աշխարհագրական դիրքը, երբ այն հասանելի լինի, սակայն տախտակի վրա կա 3 LED:
- Կանաչ LED- ը միացված է PA06- ին և կթարթվի, եթե առկա է վավերական աշխարհագրական դիրքի արժեք:
- Նարնջագույն LED- ն միացված է PA07- ին և վայրկյանում մեկ անգամ թարթում է, եթե չկա վավերական աշխարհատեղորոշում:
- Կարմիր LED- ը, որը միացված է GPS մոդուլի PPS կապին և կթարթվի միայն այն դեպքում, երբ Տեղադրության հետ կապված վավեր ազդանշան լինի:
Արդյունքները
Շղթան ինձ հետ շատ լավ աշխատեց, GPS- ից Գեո-տեղադրությունը 20-30 վայրկյան տևեց բացօթյա բաց երկնքով և շենքերի միջև, առանց որևէ խնդրի, նույնիսկ տախտակի ներքևի մասում գտնվող ալեհավաքով:
Քայլ 4: 3D տպագրված պատյան… Տեսակավորում
Այս շղթայի համար ես պատրաստեցի մի պարզ պատյան (ավելի ճշգրիտ պահիչ), բայց COVID-19 համաճարակի և այս պահին փակվածության պատճառով չկարողացա հասնել 3d տպիչին այն տպելու համար, ուստի այս հատվածը կթարմացնեմ stl- ով: ֆայլը և լուսանկարը տիրոջ համար, երբ այն հասանելի լինի:
Քայլ 5: Բարելավելու բաներ…
- SWD միակցիչը տեղափոխեք վերև, քանի որ այն ավելի հեշտ է միացնել այն ձեր ծրագրավորողի հետ:
- Լիթիումի մարտկոցից միացում տալով, ես դա արեցի մի ցատկիչ կպցնելով և այն լավ աշխատեց ՝ հաշվի առնելով, որ Գծային (LDO) կարգավորիչն ունի V անկման լարումը, եթե (Vbat - Vout) - ից պակաս Vdrop սահմանը, միացումը չի կարող աշխատել: պատշաճ կերպով:
- օգտվողի կոճակը մի փոքր ավելի մեծ դարձնելով, այնպես որ այն ավելի հեշտ կլինի սեղմել:
- ավելացնելով USB CDC ծածկագիր, որպեսզի կարողանաք հաղորդակցվել/նախագծել հատուկ ծրագիր MAC/PC/linux- ի համար:
- GPS- ի ալեհավաքի համար ես այս նախագծի համար օգտագործեցի ակտիվ ալեհավաք, հնարավոր է օգտագործել պասիվ ալեհավաք ՝ AT2659- ի նման ցածր աղմուկի ուժեղացուցիչ ավելացնելով (ստուգեք նաև ATGM332 Datasheet P.14 սխեմատիկ պատկերը):
- OLED 0.96 'SSD1306- ի համար, սկզբնական միկրոչիպի գրադարանը 128*32 ցուցադրման համար, 128*64 -ով աշխատելու համար կոդը փոխելու համար պետք է գնալ ssd1306.c և փոփոխել ծածկագիրը (ստուգել պատկերը):
Խորհուրդ ենք տալիս:
Arduino OLED ցուցադրման ընտրացանկ ՝ ընտրելու տարբերակով ՝ 8 քայլ
Arduino OLED ցուցադրման ընտրացանկ `ընտրելու տարբերակով. Այս ձեռնարկում մենք կսովորենք, թե ինչպես կատարել ընտրացանկով ընտրացանկ OLED Display- ի և Visuino- ի միջոցով: Դիտեք տեսանյութը
Arduino և VL53L0X Թռիչքի ժամանակ + OLED ցուցադրման ձեռնարկ ՝ 6 քայլ
Arduino և VL53L0X Time-of-Flight + OLED Display Tutorial: Այս ձեռնարկում մենք կսովորենք, թե ինչպես ցուցադրել հեռավորությունը մմ-ով ՝ օգտագործելով VL53L0X Time-of-Flight սենսորը և OLED էկրանը: Դիտեք տեսանյութը
Ինչպես պետք է սկսել նոր նախագծով. 7 քայլ
Ինչպես պետք է սկսել նոր նախագծով. Բարև ընթերցող, սա իմ ձեռնարկն է, թե ինչպես պետք է սկսել նոր միկրոկոնտրոլերի նախագծով
Raspberry Pi մոնիտորինգի համակարգ OLED ցուցադրման մոդուլի միջոցով `5 քայլ
Raspberry Pi մոնիտորինգի համակարգ OLED ցուցադրման մոդուլի միջոցով. Այս ձեռնարկում ես կբացատրեմ, թե ինչպես կարելի է տեղադրել 0.96 դյույմանոց OLED ցուցադրման մոդուլ `Raspberry Pi 4 Model B- ի համակարգի տեղեկատվությունը ցուցադրելու համար` օգտագործելով իր I2C ինտերֆեյսը:
NEO -6M GPS միացված է NodeMCU - OLED ցուցադրման դիրքին - Visuino: 7 քայլ
NEO -6M GPS- ը միացված է NodeMCU - OLED ցուցադրման դիրքին - Visuino. Այս ձեռնարկում մենք կօգտագործենք NodeMCU Mini, OLED Lcd, NEO -6M GPS և Visuino ՝ LCD- ի կենդանի GPS դիրքը ցուցադրելու համար: Դիտեք ցուցադրական տեսանյութ