
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48



Այս IoT նախագծում մենք միացնում ենք NEO-6M (GPS մոդուլ) ՝ Arduino- ի միջոցով տեղային տվյալները հասցնելու Excel թերթիկին, որը կպահվի համակարգչում: Այնուհետև Tableau Public- ի հետ մենք ստեղծում ենք այս տվյալների տվյալների արտացոլում `մեր բռնած ճանապարհը քարտեզագրելու համար: Թեև սա իրական ժամանակում տվյալների հավաքագրման և ներկայացման մի եղանակ է ՝ խիստ փոխկապակցված տվյալների մեջ, այս գործընթացը կարող է կիրառվել նաև տվյալների վրա հիմնված այլ նախագծերի դեպքում:
Քայլ 1: Նյութերի ձեռքբերում

Այս նախագծի համար ձեզ հարկավոր է հետևյալը.
- NEO-6M GPS մոդուլ
- Արդուինո Ունո
- Արական/արական jumper լարեր (ձեզ հարկավոր է 4 լար)
- USB 2.0 մալուխ A տեսակից մինչև B
- Այս ծրագրերով համակարգիչ ՝ Tableau Public, Arduino IDE (TinyGPS ++ - ով) և մշակում
Քայլ 2: Սարքերի տեղադրում


Մենք նախ պետք է ստեղծենք GPS մոդուլը Arduino UNO- ի հետ, որպեսզի Arduino- ն մեզ տա տվյալների ցուցադրման ինտերֆեյս: NEO-6M- ին միացված չորս լարերից յուրաքանչյուրը համապատասխանում է կոնկրետ նավահանգիստներին: Եթե ձեր NEO-6M- ը լարերի հետ չի գալիս, դուք ստիպված կլինեք այն ուղղակիորեն միացնել jumper լարերով: Վերոնշյալ գծապատկերում կարմիրը համապատասխանում է ուժին (VCC), սևը ՝ գետնին (GND), դեղինը ՝ տվյալներ փոխանցելու համար (TxD), իսկ սպիտակը ՝ տվյալներ ստանալու (RxD): Մենք կապում ենք այս լարերը արական/արական jumper լարերին, որպեսզի կարողանանք դրանք միացնել Arduino- ին: Հետևելով վերևի գծապատկերին, մենք միացնում ենք հողալարերը Arduino- ի GND թվային կապին, TxD մետաղալարը ՝ 4 -ին, RxD մետաղալարը ՝ ~ 3 -ին, իսկ VCC լարերը ՝ 5V լարման համար: Հետագա քայլին մենք պետք է TxD և RxD սահմանենք SoftwareSerial- ի ճիշտ թվերով:
Երբ երկու սարքերը միացված են միմյանց, մենք պետք է ապահովենք էներգիայի աղբյուր: Միացրեք USB 2.0 մալուխը ձեր նոութբուքին և NEO-6M- ի լույսը պետք է լուսավորվի:
Քայլ 3: Arduino- ի կոդավորումը ՝ տվյալները հանելու համար

Այժմ, երբ մենք ունենք սարքեր ՝ արբանյակներից GPS տվյալներ հավաքելու համար, մենք կգրենք ծածկագիր ՝ մեր ուզած GPS տվյալները վերլուծելու համար: Ենթադրելով, որ ազդանշան եք վերցրել (իմ GPS մոդուլը կապույտ թարթում է), NEO-6M- ը լռելյայն տպում է սերիական մոնիտորի հումքային տվյալները NMEA հաղորդագրությունների տեսքով, որոնք $ GP- ի տեսք ունեն, որին հաջորդում են ավելի շատ տառեր և շարք թվերի. Վերոնշյալ պատկերը տալիս է ընդհանուր պատկերացում այն մասին, թե ինչ պետք է ցուցադրվի ձեր սերիական մոնիտորի վրա, երբ տեղադրվի հիմնական Arduino կոդը:
Իմ կցած կոդը բացատրելու համար (կամ եթե ցանկանում եք ինքներդ փորձել ծածկագրել այն), նախ պետք է ներառեք ինչպես SoftwareSerial, այնպես էլ TinyGPS ++ գրադարանները (վերջիններիս համար ՝ Էսքիզ> Ներառել> Ավելացնել. ZIP գրադարան): SoftwareSerial- ը թույլ է տալիս մեզ ունենալ սերիական կապ; TinyGPS ++ - ը մեզ տալիս է հեշտ գործիք ՝ նպատակային տեղեկատվությունը կարդալու տեսքով տպելու համար: Համոզվեք, որ SoftwareSerial օբյեկտը նախաստորագրում եք Arduino- ի համապատասխան կապում: Կարգավորման գործառույթում մենք օգտագործում ենք 9600 որպես բաուդ արագություն:
Այս հրահանգի նպատակների համար մենք օղակի գործառույթում տպելու ենք ընդամենը յոթ տեսակի տվյալներ. Լայնություն (աստիճան), երկայնություն (աստիճան), արագություն (կմ), ընթացք (աստիճան), բարձրություն (կմ), արբանյակների քանակ օգտագործել և hdop. Դուք կարող եք որոնել այս տեղեկատվությունը տպագրելու համար Արդուինիանայի գրադարանում: Ընդհանուր ձևն է Serial.print (): Օրինակ ՝ երկայնություն տպելու համար մենք մուտքագրում ենք Serial.print (gps.location.lng (), 6): 6 -ը ներկայացնում է, թե քանի թվանշան ենք ուզում տասնորդական կետից աջ:
Իմ կոդը պարունակում է լրացուցիչ նիշ տպագրված ՝ հանուն հեշտ ձևաչափվող ռեժեքս հաջորդ քայլում: Այնուամենայնիվ, եթե ցանկանում եք կանգ առնել այս քայլի վրա, ազատ զգացեք ՝ այլ կերպ ձևակերպեք տվյալները ՝ սերիական մոնիտորի դիտման հեշտության համար:
Քայլ 4: Լսելու համար մշակման օգտագործումը

Մինչ մենք ունենք Arduino IDE- ի համար ստեղծված կոդը, մենք ունենք այս տվյալների պահպանման խնդիր: Այս պահին մենք կարող ենք դիտել սերիական մոնիտորի տվյալները միայն այն ժամանակ, երբ մենք դրանք հավաքում ենք: Այս տվյալները մուտքագրելու բազմաթիվ եղանակներ կան, բայց ես հիմնականում ընտրեցի Processing- ը, քանի որ դրա ինտերֆեյսը նմանակում է Arduino IDE- ին և օգտագործում է Java, ինձ ծանոթ լեզու (նշեք, որ դուք կարող եք նաև վերահսկել Arduino- ի տախտակը Processing- ով, եթե ներբեռնում եք Firmata- ն): Մշակումը լսում է Arduino- ին միացված պորտը և հնարավորություն ունի շահարկել տվյալները, որոնք կարդացվում են սերիական մոնիտորի վրա: Այս նավահանգստի անունը գտնելու համար վերադառնաք ձեր Arduino IDE ֆայլին և ստուգեք Գործիքներ> Պորտ:
Ես տրամադրել եմ Մշակման ծածկագիրը, բայց ահա արագ ակնարկ, թե ինչպես է աշխատում կոդը:
Նախքան կարգաբերման գործառույթը, համոզվեք, որ դուք ունեք փոփոխականներ նավահանգստի, ստացված աղյուսակի, տողի, որի հետ մենք աշխատելու ենք, և ֆայլի անունը: Այնուհետև տեղադրման գործառույթում կան պարամետրեր ՝ ձեր Run պատուհանի չափը սահմանելու համար, բայց այդ թվերը չեն ազդում մեր ֆունկցիոնալության վրա (օրինակ ՝ դրանք սահմանել (500, 500)): Երբ նավահանգիստը նախաստորագրում եք, օգտագործեք նավահանգստի անունը String ձևով և 9600 baud փոխարժեքով: Վերջապես, ստեղծեք ինը սյունակ (GPS- ի յոթ կատեգորիաների, ժամանակի և ամսաթվի համար) `սեղանը նախաստորագրելու համար:
Ոչ ոքի գործառույթում մենք օգտագործում ենք ներկառուցված ամսաթվի և ժամի գործառույթները ՝ GPS տվյալների հավաքածուի արդյունահանման համար հետևելու համար: Այժմ Arduino- ի տվյալների հոսքը կարդալու և ճիշտ ժամանակի և ամսաթվի համապատասխան վերնագրերի տակ դնելու համար մենք օգտագործում ենք կանոնավոր արտահայտություններ:
Ես օգտագործում եմ regex ՝ matchAll ֆունկցիայի ճշգրիտ տվյալները վերլուծելու համար, որը փնտրում է ցանկացած արտահայտություն հավասար նշանի և ստորակետի միջև (սահմանազատիչները, որոնք ես դրել եմ իմ Arduino ծածկագրում): Սա հետագայում տեղադրում է բոլոր համապատասխան պիտակները ՝ թվային տվյալները, երկչափ զանգվածում: Այնուհետև մենք կարող ենք կոչ անել այս զանգվածների ինդեքսները `դրանք տեղադրելու Excel թերթի վերնագրերի տակ:
Նոր.csv ֆայլը պահելու համար մենք օգտագործում ենք ստեղնը ՝ Run պատուհանը փակելու համար: Որքան երկար սպասեք բանալին սեղմելու համար, այնքան ավելի շատ տվյալներ կհավաքեք: Հետևելով մեկ այլ ուղեցույցի ձևին, ես նաև որոշեցի ֆայլը պահել տվյալների պանակում `ամսաթվով և ժամով որպես ֆայլի անուն:
Քայլ 5: Տվյալների ցուցադրում Tableau Public- ում



Վերջնական քայլը ներառում է տվյալների որոշակի արտացոլում: Կան բազմաթիվ ծրագրեր տվյալների վիզուալիզացիայի ստեղծման և ցուցադրման համար, այսինքն ՝ Plotly, բայց այս նախագծի համար մենք կօգտագործենք Tableau: Բացեք Tableau Public- ը և բացեք պահպանված Excel ֆայլը որպես տեքստային ֆայլ: Աշխատաթերթ ստեղծելու համար կտտացրեք ներքևի ձախ մասում գտնվող թերթ 1 -ին:
Քանի որ մենք աշխատում ենք GPS տվյալների հետ, մենք կօգտագործենք քարտեզ ՝ մեր տեղեկատվությունը պատկերելու համար: Ձախ սյունակում, որտեղ գրված է «Միջոցառումներ», մենք երկայնությունը քարշ կտանք սյուների մեջ, իսկ լայնությունը ՝ տողերի վերևում: Tableau- ն երկու միջոցներն էլ կանխադրված է դարձնում AVG, այնպես որ կտտացրեք պայմանների կողքին գտնվող բացվող կետին և երկուսն էլ փոխեք դեպի Dimension: Այժմ քարտեզը պետք է ունենա ուղի, որը ցուցադրվում է հավաքված լայնության և երկայնության արժեքների միջոցով:
Ձեր տվյալները սխալի համար մաքրելու համար (ինչը կարող է կատարվել նաև Tableau- ն բացելուց առաջ), կարող եք ընտրել մի քանի տեղերի շրջանակներ բացառելը `կտտացնելով դրանք և ընտրելով տարբերակը: Իմ GPS մոդուլը 100% ճշգրիտ չէ, քանի որ իմ ուղու որոշ հատվածներ տեղակայված չեն, բայց ընդհանուր ուղին գրանցված է:
Քայլ 6: Վիզի կատարելագործում

Վերջին մասն այն է, որ այս տվյալները դարձնեն ավելի ընթեռնելի: Եթե ցանկանում եք փողոցային համատեքստ, կարող եք գնալ Քարտեզ> Քարտեզի շերտ> Փողոցներ և մայրուղիներ: Ազատորեն փորձեք այլ նշանների հետ: Ես արագությունը քաշեցի Գույնի վրա ՝ ցույց տալու համար, թե ինչպես է արագության բարձրացման դեպքում գույնի ինտենսիվությունը մեծանում: Ես նաև օգտագործեցի Մանրամասն ՝ դասընթացի համար Պիտակի փոխարեն, քանի որ Պիտակը թվերը կցուցադրեր քարտեզի վրա, մինչդեռ ես ցանկանում էի, որ տեղեկատվությունը հայտնվեր միայն այն դեպքում, երբ դուք սավառնել եք տեղադրության կետերի վրա:
Այժմ, երբ դուք զգացել եք տվյալների հավաքագրման և տվյալների վիզուալիզացիայի վրա եղածը ցուցադրելու ամբողջ գործընթացը, կարող եք դա կիրառել այլ նախագծերի դեպքում:
Պինգդի Հուանգի կողմից, ամառ 2018
Խորհուրդ ենք տալիս:
Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ - Քայլ առ քայլ: 4 քայլ

Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ | Քայլ առ քայլ. Այս նախագծում ես նախագծելու եմ մի պարզ Arduino մեքենայի հետադարձ կայանման սենսորային միացում ՝ օգտագործելով Arduino UNO և HC-SR04 ուլտրաձայնային տվիչ: Այս Arduino- ի վրա հիմնված Car Reverse ազդանշանային համակարգը կարող է օգտագործվել ինքնավար նավարկության, ռոբոտների ռանգի և այլ տեսականու համար
Քայլ առ քայլ համակարգչային շենք. 9 քայլ

Քայլ առ քայլ համակարգչի կառուցում. Պարագաներ. Սարքավորումներ. Մայրական համակարգիչ CPU coolerPSU (Էներգամատակարարման միավոր) Պահեստավորում (HDD/SSD) RAMGPU (պարտադիր չէ) Գործ CaseTools: Պտուտակահան ESD ապարանջան/matsthermal paste w/aplikator
Երեք բարձրախոս շղթա -- Քայլ առ քայլ ձեռնարկ ՝ 3 քայլ

Երեք բարձրախոս շղթա || Քայլ առ քայլ ձեռնարկ. Բարձրախոսների սխեման ուժեղացնում է շրջակա միջավայրից ստացված աուդիո ազդանշանները MIC- ում և այն ուղարկում է խոսնակին, որտեղից արտադրվում է ուժեղացված ձայնը:
Քայլ առ քայլ կրթություն ռոբոտաշինության մեջ `հանդերձանքով. 6 քայլ

Քայլ առ քայլ կրթություն ռոբոտաշինության մեջ ՝ հանդերձանքով. Իմ սեփական ռոբոտը կառուցելուց մի քանի ամիս անց (խնդրում եմ անդրադառնալ այս բոլորին), և երկու անգամ մասերի խափանումից հետո, ես որոշեցի մի քայլ հետ գնալ և նորից մտածել իմ մասին ռազմավարություն և ուղղություն: Մի քանի ամսվա փորձը երբեմն շատ հատուցող էր, և
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ

Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)