Բովանդակություն:
- Քայլ 1. Նախագծի ֆունկցիոնալության նախագծում
- Քայլ 2: Կարգավորում և մետաղալարերի դիագրամ
- Քայլ 3. Բաղադրիչների փորձարկում և հիմնական ծածկագիր
- Քայլ 4: MPU- ի ստուգաչափում
- Քայլ 5: Վերջնական ծածկագիր
Video: Թվային կողմնացույց և վերնագիր որոնիչ ՝ 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Հեղինակներ:
Կուլան Ուելան
Էնդրյու Լյուֆտ
Բլեյք Johnsonոնսոն
Շնորհակալություններ
Կալիֆոռնիայի ծովային ակադեմիա
Էվան Չանգ-Սյու
Ներածություն:
Այս նախագծի հիմքը թվային կողմնացույցն է ՝ վերնագրերի հետքերով: Սա հնարավորություն է տալիս օգտագործողին հետևել վերնագրին երկար հեռավորությունների վրա ՝ օգտագործելով թվային ապարատ: Խոսակցաբար վերնագիրն այն հյուսիսից ժամացույցի սլաքի ուղղությամբ չափվող անկյուն է, որը համարվում է զրո աստիճան, ինչպես նշված է կողմնացույցի կողմից: Սարքն ունի երկու հիմնական գործառույթ. Առաջինը ցուցադրում է սարքի ընթացիկ վերնագիրը թվային ցուցադրման տեղեկանքի վրա, իսկ երկրորդը ՝ օգտագործողի կողմից պահանջվող վերնագիր մուտքագրելու ունակություն, որը կցուցադրվի LED- ների օղակի վրա ՝ վերևում: կողմնացույցի բնակարան: Այնուհետև օգտագործողը կկարգավորի սարքի կողմնորոշումը ՝ կապված լուսավորված LED- ի հետ: Սարքի ուղղությունը փոխվելուն պես LED- ը կշարժվի դեպի կենտրոնական LED, դրանով իսկ նշելով, որ ճիշտ վերնագիրը հաստատված է:
Պարագաներ:
- DIYmall 6M GPS մոդուլ
- HiLetgo MPU9250/6500 9-առանցք 9 DOF 16 բիթ
- Adafruit NeoPixel Ring 16
- MakerFocus 4 հատ 3.7 Վ լիթիումային վերալիցքավորվող մարտկոց
- ELEGOO MEGA 2560 R3 տախտակ
- Adafruit Mini Lipo w/Mini -B USB Jack - USB LiIon/LiPoly լիցքավորիչ - v1
- 2.8 TFT LCD, Touchscreen Breakout Board- ով/MicroSD վարդակից
Քայլ 1. Նախագծի ֆունկցիոնալության նախագծում
Առաջին քայլը հասկանալն է տրամաբանությունը և վերջնական գործառնական գործառույթը: Այս տրամաբանական դիագրամը պատկերում է սարքի երեք վիճակը և երկու տվիչների վիճակը:
Պետություն 1. Բեռնման կարգավիճակ
Բեռնման վիճակն օգտագործվում է Arduino Mega- ին թույլ տալու համար տվյալների վերականգնում երկու սենսորներից գործարկելիս: Սարքը կցուցադրի բեռնումը էկրանին, կմաքրի էկրանին թվերի բոլոր արժեքները, և NeoPixel օղակի LED- ները կլուսավորվեն շրջանագծով:
Պետություն 2. Կողմնացույցի ռեժիմ
Այս վիճակում սարքը գործելու է թվային կողմնացույցի նման: NeoPixel օղակը կլուսավորվի ՝ նշելով հյուսիսի ուղղությունը սարքի կողմնորոշման հետ կապված: Սարքի իսկական վերնագիրը կցուցադրվի նաև LCD էկրանին ՝ սարքի լայնության և երկայնության հետ միասին: Այս վիճակի մեջ կլինի նաև, որ օգտագործողը կկարողանա մուտքագրել օգտվողի վերնագիրը, որը կցուցադրվի 3 -րդ նահանգում:
Նահանգ 3. Վերնագրի հետևման ռեժիմ
Այս վիճակում սարքն այժմ կօգնի օգտագործողին հաստատվել իր ցանկալի վերնագրում: Այժմ սարքը կցուցադրի սարքերի վերնագիրը և օգտվողները ՝ LCD էկրանին, ինչպես նաև լայնության և երկայնության տվյալները: NeoPixel օղակն այժմ կլուսավորվի ՝ նշելով այն օգտվողների շարժումները, որոնք վերաբերում են սարքերի կողմնորոշմանը:
Ինչպես 2, այնպես էլ 3 -րդ նահանգներում կա երկու սենսորային վիճակ, որոնցով սենսորային այս վիճակները թույլ են տալիս սարքին հանել տվյալները սենսորից, որն ապահովում է առավել ճշգրիտ տվյալներ `կախված սարքի գործառնական վիճակից:
Սենսորային վիճակ 1. MPU
Եթե սարքը չի շարժվում, վերնագրի տվյալները կհեռացվեն MPU- ից, քանի որ դա ամենաճշգրիտ տվյալներն են, երբ սարքը չի շարժվում:
Սենսորային վիճակ 2. GPS
Եթե սարքը շարժվում է, վերնագրի տվյալները կհեռացվեն GPS չիպից, քանի որ դա այս վիճակում ամենաճշգրիտ տվյալներն են:
Սարքը ցանկացած պահի կարող է սրանց միջև անցնել սենսորային վիճակների `հաշվի առնելով միավորի փոփոխման օգտագործման պայմանները: Սա կարեւոր է սարքի աշխատանքի համար, քանի որ սարքում օգտագործվող երկու սենսորներից երկուսն էլ ունեն պայմաններ, որոնք ազդում են նրանց տրամադրած տվյալների ճշգրտության վրա: MPU- ի դեպքում չիպի վրա հեշտությամբ կարող են ազդել տեղական մագնիսական դաշտերը, որոնք առաջացել են մեքենաներում և շենքերում մետաղական շինանյութերից: Այսպիսով, օգտագործվում է GPS չիպ, որը կարող է ապահովել ավելի ճշգրիտ վերնագիր, որը չի ազդում նույն ազդեցությունների վրա: Այնուամենայնիվ, GPS- ը կարող է տրամադրել միայն վերնագրի տվյալներ շարժվելիս, քանի որ այն հաշվարկում է վերնագիրը `օգտագործելով լայնության և երկայնության տվյալների փոփոխությունը: Հետևաբար, չիպերը լրացնում են մեկը մյուսին և օգտագործելով երկու սենսորային վիճակները ապահովում են սարքի առավել ճշգրիտ և հուսալի ֆունկցիոնալությունը:
Քայլ 2: Կարգավորում և մետաղալարերի դիագրամ
Theրագիրը օգտագործում և Arduino Mega- ի կլոնավորման տախտակ, որը նման է վերը նշված տախտակին: Նախագծի բոլոր բաղադրիչները միացված կլինեն այս տախտակին: Վերևում ներկայացված են մանրամասն դիագրամներ, թե ինչպես միացնել այս ծրագրի բաղադրիչները: Կոճակները չունեն մանրամասն միացում, քանի որ դրանք կարող են տեղադրվել բազմաթիվ եղանակներով: Այս նախագծում նրանք օգտագործում են 100K ձգվող ներքևի դիմադրություն և մի պարզ կոճակ `3 վոլտ ազդանշան ուղարկելու համար:
Քայլ 3. Բաղադրիչների փորձարկում և հիմնական ծածկագիր
Նախագիծը կհավաքի ինչպես MPU, այնպես էլ GPS չիպից, ինչպես նկարագրված է ավելի վաղ: Կից ներկայացված են երեք ծածկագրեր, որոնք հնարավորություն են տալիս MPU- ի, GPS- ի և MPU- ի տվյալների փորձարկում էկրանով `մասերի ֆունկցիոնալությունը ստուգելու համար: Այս փուլում կարևոր է բաղադրիչների գործարկումը, քանի որ ծածկագիրը յուրաքանչյուր չիպի համար առանձին է, և ցանկացած հարց կարող է լուծվել առանց վախենալու, որ վերջնական ծածկագրում չնախատեսված սխալներ կառաջանան:
Պահանջվող գրադարաններ
Adafruit_ILI9341_Albert.h
SPI.h
Adafruit_GFX.h
Adafruit_ILI9341.h
TinyGPS ++. Ժ
Adafruit_NeoPixel.h
MPU9250.հ
Այս ամենը կարելի է գտնել ՝ վերը նշված վերնագրերը որոնելով: Ես հղումներ չեմ տեղադրի, քանի որ այս գրադարանների բազմաթիվ օրինակներ կան բազմաթիվ աղբյուրներից և հավատարիմ մնալով միայն բնօրինակներին կապելու համայնքային չափանիշին, թույլ կտամ ձեզ գտնել դրանք:
Քայլ 4: MPU- ի ստուգաչափում
Պետություն 2 -ում և 3 -ում MPU- ի միջոցով հայտնաբերված վերնագիրը բաժանված է չորս քառակուսիների: Սա անհրաժեշտ էր, քանի որ չափագրման մեր մեթոդը պահանջում էր գտնել մագնիսաչափից նվազագույն և առավելագույն մեծությունները նրա x և y առանցքների երկայնքով: Դա արվել է սարքը պատահականորեն պտտելով իր երեք առանցքների շուրջը ՝ զերծ ցանկացած այլ նշանակալի էլեկտրամագնիսական դաշտերից, բացի Երկրից: Այնուհետև մենք վերցրինք x և y առանցքի երկայնքով նվազագույն և առավելագույն արժեքները և դրանք միացրեցինք մասշտաբային հավասարման մեջ, որպեսզի սահմանափակենք բացասական մեկ և մեկ արժեքների մեծությունները: Վերոնշյալ նկարում BigX և BigY են x և y առանցքի երկայնքով մագնիսաչափերի տվյալների առավելագույն արժեքները, LittleX և LittleY ՝ x և y առանցքների երկայնքով մագնիսաչափերի տվյալների նվազագույն արժեքները, համապատասխանաբար, IMU.getMagX_uT () և IMU.getMagY_uT () այն արժեքներն են, որոնք ցանկացած ժամանակ քաշվում են մագնիսաչափից x և y առանցքների երկայնքով, իսկ Mx և My- ը նոր մասշտաբային արժեքներն են, որոնք օգտագործվում են վերնագիրը հաշվարկելու համար:
Քայլ 5: Վերջնական ծածկագիր
Վերջին քայլը վերջնական ծածկագրի ստեղծումն է: Ես կցել եմ նախագծերի վերջնական ծածկագրի պատճենը: Որոշակի նշումներ են կատարվել, որոնք կօգնեն նավարկելու ծածկագիրը: Այս բաժնի ամենամեծ մարտահրավերը քառակուսիներին ճիշտ աշխատելն էր: Քառակուսիների իրականացումը պարզվեց, որ ավելի հոգնեցուցիչ և տրամաբանորեն արհամարհող է, քան կարող էինք ենթադրել: Սկզբում մենք իրականացրեցինք հիմնական արկտան (My/Mx), այնուհետև ռադիաններից փոխակերպեցինք աստիճանների, քանի որ Arduino- ն լռելյայն թողարկում է ռադիաններ: Այնուամենայնիվ, միակ քառակուսին, որի վրա աշխատել է, 90 աստիճանից մինչև 180 աստիճան էր, ինչը մեզ բացասական արդյունք տվեց և վերջում դարձավ III քառակուսին: Դրա լուծումը բացարձակ արժեք վերցնելն էր, քանի որ այն դեռ ճիշտ աճում էր: Այս արժեքը այնուհետև հանվում է 360 -ից ՝ NeoPixel LED- ի ճիշտ վիճակը լուսավորելու համար 2 -ում, և նմանատիպ մաթեմատիկական գործողություն կիրառվում է 3 -ում ՝ հիմնվելով, եթե վերնագիրը ավելի մեծ կամ փոքր է, քան օգտագործողի մուտքային վերնագիրը, երկուսն էլ կարելի է տեսնել վերը նշված կոդը: Վերոնշյալ պատկերներում Վերնագիրը համապատասխանում է NeoPixel լուսավորությանը, որը լուսավորվելու է ՝ հիմնվելով սարքի վերնագրի և հյուսիսից շեղման միջև եղած տարբերության վրա ՝ 2 -րդ վիճակի դեպքում և օգտագործողի վերնագրի: Այս դեպքում 90 -ից 180 աստիճան համապատասխանում է III քառանկյունին: Երկու դեպքում էլ tft.print- ը ստիպում է էկրանին կարդալ սարքը, որը գնում է հյուսիսից:
Մնացած երեք քառակուսիների համար arctan- ի (My/Mx) իրականացումը հանգեցրեց սարքի պտտման աստիճանի ավելացման շրջադարձի, այսինքն `վերնագրի անկյունը կհաշվարկվի, երբ ենթադրվում էր, և հակառակը: Այս խնդրի լուծումը արկտանգենտին շրջելն էր արկտանի ձևին (Mx/My): Թեև դա լուծեց ավելացման շրջադարձը, այն չտվեց սարքի ճիշտ վերնագիրը, այն, որտեղ քառակուսիները մտան խաղի մեջ: Դրա պարզ շտկումն այն էր, որ համապատասխան քառակուսու վրա հիմնված տեղաշարժ ավելացվեր: Դա կարելի է տեսնել հետևյալ նկարներում, որոնք հերթական անգամ յուրաքանչյուր քառակուսի 2 -րդ և 3 -րդ նահանգների ծածկագրի կոդերն են:
Առաջին if հայտարարությունը կատարվում է, եթե MPU- ի հավասարմամբ հաշվարկված վերնագիրը ավելի մեծ է, քան օգտվողի վերնագիրը: Այս պայմանով օգտվողի մուտքային վերնագիրը ավելացվում է սարքի վերնագրին և համապատասխան արժեքը հանվում է 360 -ից: Եթե else հայտարարությունը կատարված է, MPU վերնագրի հավասարումը հանվում է օգտագործողի մուտքի վերնագրից: Այս պայմաններն իրականացվել են NeoPixel- ի համար ոչ միայն ճշգրիտ արժեք ստանալու, այլև ընդունելի միջակայքից դուրս արժեք ստանալուց խուսափելու համար, որը 0 -ից մինչև 359 աստիճան է:
Խորհուրդ ենք տալիս:
Ընտրեք վերնագիր և հիմնաբառեր ձեր ուսուցանվողի համար. 6 քայլ (նկարներով)
Ընտրեք վերնագիր և հիմնաբառեր ձեր ուսուցանվողի համար. Titleիշտ վերնագրի և հիմնաբառերի ընտրությունը կարող է լինել Google- ի որոնման արդյունքների առաջին էջ գնալու կամ ինտերնետի սարսափելի դիտումների վայր ընկնելու տարբերությունը: Թեև հիմնաբառերն ու վերնագիրը միակը չեն
Թվային կողմնացույց Arduino- ի և HMC5883L մագնիսաչափի միջոցով `6 քայլ
Թվային կողմնացույց Arduino- ի և HMC5883L մագնիսաչափի օգնությամբ. Բարև տղերք: Այս տվիչը կարող է ցույց տալ աշխարհագրական հյուսիսը, հարավը, արևելքը և արևմուտքը, մենք ՝ մարդիկ, նույնպես կարող ենք այն օգտագործել անհրաժեշտության դեպքում: Այսպիսով, Այս հոդվածում փորձենք հասկանալ, թե ինչպես է աշխատում մագնիսաչափի տվիչը և ինչպես այն միացնել միկրոկոնտրոլի հետ
Ինչպես օգտագործել GY511 մոդուլը Arduino- ով [Ստեղծեք թվային կողմնացույց] ՝ 11 քայլ
Ինչպես օգտագործել GY511 մոդուլը Arduino- ով [Ստեղծեք թվային կողմնացույց]. Ակնարկ Որոշ էլեկտրոնային նախագծերում մենք ցանկացած պահի պետք է իմանանք աշխարհագրական դիրքը և համապատասխան գործողություն կատարենք: Այս ձեռնարկում դուք կսովորեք, թե ինչպես օգտագործել LSM303DLHC GY-511 կողմնացույցի մոդուլը Arduino- ի հետ ՝ թվային կողմնացույցներ պատրաստելու համար
Թվային գամասեղի որոնիչ. 6 քայլ (նկարներով)
Digital Stud Finder: Stud Finders- ը պարզ հասկացություն է: Երկու Capacitive տվիչներ. Մեկը իմպուլսային ալիք ուղարկող, երկրորդը `ընդունելով և չափելով լարման նվազումը երկու սալերի միջև ընկած նյութում: Այս դիզայնը առաջ մղելու նպատակով այս նախագիծը նպատակաուղղված էր
Կատարեք հրահանգների վերնագիր. 8 քայլ (նկարներով)
Կազմեք Instructables- ի վերնագիրը. Instructables- ի վերնագիրը միշտ եղել է բավականին պարզ, բայց մենք կարծում էինք, որ հաճելի կլինի խաղալ վերևում գտնվող որոշ պատկերների հետ, որոնք վերաբերում են իրեր պատրաստելուն: Այն մի փոքր ավելի հետաքրքիր դարձնելու համար մենք չէինք ցանկանում որևէ տարր ավելացնել ph