Բովանդակություն:
- Քայլ 1. Կառուցեք վահան/տախտակ
- Քայլ 2. Programրագրեք Arduino- ն
- Քայլ 3: Ներբեռնեք Android ծրագիրը Google Play- ից կամ ճյուղավորեք GitHub- ը
- Քայլ 4. Միացեք Arduino- ին ինչ -որ հետաքրքիր բանի (ես օգտագործել եմ R/C մեքենա)
- Քայլ 5. Օգտագործեք Android սարքը Arduino- ին միանալու համար:
- Քայլ 6: Ձեռք բերեք և գծագրեք տվյալները
- Քայլ 7. Ներմուծեք Python (կամ այլ հարթակ) հետագա օգտագործման համար
Video: Իրական ժամանակում MPU-6050/A0 տվյալների մուտքագրում Arduino- ի և Android- ի միջոցով. 7 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Ինձ հետաքրքրում էր Arduino- ն մեքենայական ուսուցման համար օգտագործելը: Որպես առաջին քայլ, ես ուզում եմ իրական ժամանակում (կամ դրան շատ մոտ) տվյալների ցուցադրում և անտառահատ սարքել Android սարքով: Ես ուզում եմ արագացուցիչի տվյալները վերցնել MPU-6050- ից, այնպես որ ես նախագծեցի կառուցվածքը `HC-05- ը 115200 բաուդ օգտագործելու համար: Այս կազմաձևով տվյալների 4 ալիք կարող է փոխանցվել վայրկյանում 250 օրինակով:
Կառուցվածքը մի քանի քայլ ունի.
- Կառուցեք վահանը կամ տախտակը
- Programրագրեք Arduino- ն
- Ներբեռնեք Android ծրագիրը Google Play- ից կամ ճյուղավորեք GitHub- ը և կազմեք այն ինքներդ
- Միացրեք MPU-6050- ը թրթռացող ինչ-որ հետաքրքիր բանի (ես օգտագործել եմ R/C մեքենա)
- Օգտագործեք Android սարքը Arduino- ին միանալու համար
- Պատկերացրեք տվյալները, եթե հետաքրքրված եք, պահեք
- Ներմուծեք Python (կամ այլ հարթակ) հետագա օգտագործման համար
Եկեք սկսենք!
Քայլ 1. Կառուցեք վահան/տախտակ
Սա Arduino- ի, HC-05- ի և MPU-6050- ի միացման սխեման է: Ի լրումն MPU-6050- ի, ես ունեմ անալոգային մուտք A0, որը միացված է լույսի սենսորին `ցույց տալու համար, որ ADC- ն աշխատում է: 0անկացած 0-5 վոլտ ազդանշան կարող է մտցվել A0 ADC: Սրանք այն բաղադրիչներն են, որոնք ես օգտագործել եմ կառուցման համար.
- Արդուինո Ունո
- HC-05 (HC-06- ը նույնպես պետք է աշխատի, բայց իմ կառուցվածքը HC-05- ի հետ էր)
- MPU-6050
- Sparkfun ֆոտոընդդիմադիր
- 10kOhm դիմադրություն (շագանակագույն-սև-նարնջագույն)
HC-05 Bluetooth մոդուլների մեծ մասը կանխադրված է 9600 baud: Որպեսզի տվյալները հաջողությամբ փոխանցվեն, ձեզ հարկավոր է դրանք նորից ծրագրավորել 115200 բաուդ արագությամբ: Կա մի լավ HC-05/HC-06 AT Command Instructable, որը բացատրում է, թե ինչպես դա անել:
Քայլ 2. Programրագրեք Arduino- ն
Ես օգտագործեցի Arduino IDE թողարկումը 1.6.7 ՝ Arduino- ն ծրագրավորելու համար: Կոդը կարելի է ներբեռնել այս քայլի հղումներից կամ GitHub ռեպոից: Ես ներառել եմ երեք տարբերակ. Firmware125.ino- ն 125 հերց տարբերակն է, Firmware250.ino- ն ՝ 250 հերց տարբերակը, և Firmware500.ino- ն ՝ 500 հերց տարբերակը: Arduino- ն 500 հերց արագությամբ պտտվելու համար A0 ADC- ը չի հավաքվում:
Theրագրաշարը ներառում է Pin 9 -ի մի ժամացույց, որը ես օգտագործել եմ ժամանակը ստուգելու համար: Հետքը ցույց է տալիս, որ ցիկլի ժամանակը 4 ms է (համարժեք 1/250 հերց): Ես գտել եմ, որ եթե սերիական կապի խնդիրներ կան, ապա ժամանակը միատեսակ չի լինի:
Arduino- ի կոդը օգտագործում է բիթերի քողարկում `յուրաքանչյուր փաթեթին ալիքի համար ավելացնելու համար, քանի որ երբեմն նմուշները ընկնում են Bluetooth- ի վրայով: Ես օգտագործում եմ երեք ամենակարևոր բիթերը ՝ ալիքի համարը պահելու համար: Ստորագրված ամբողջ թվերի համար առավել նշանակալի բիթը (MSB) վերապահված է նշանին: Քանի որ ես ցանկանում եմ MSB- ն օգտագործել իմ հասցեի համար, այլ ոչ թե ամբողջ թվանշանի, ես պետք է փոխարկված արագացուցաչափի բոլոր արժեքները փոխարկեմ անստորագիր ամբողջ թվերի: Ես դա անում եմ ՝ յուրաքանչյուր արժեքին ավելացնելով 32768 (MPU արագացուցիչի ADC հաշվարկը +32768 -ից -32768 է) և որպես անստորագիր ամբողջ թվեր.
(անստորագիր int) ((երկար) iAccelData+32767);
Ալիքի համարը նույնն է յուրաքանչյուր արագացուցիչի և A0 նավահանգստի համար, որպեսզի ընկած փաթեթը կարող է հայտնաբերվել, եթե ալիքի համարները շարքից դուրս են գալիս: Arduino- ի Bluetooth- ից եկող փաթեթների համար երկուական օրինակը հետևյալն է (նշանները փոքր-ինչ փոխվում են).
(xacc 3 հասցեի բիթ = 0x00, 13bit անստորագիր) (yacc 3 հասցե բիթ = 0x01, 13bit անստորագիր) (zacc 3 հասցե բիթ = 0x02, 13bit անստորագիր) (3 հասցեի բիթ = 0x03, iadc13bit անստորագիր)
(xacc 3 հասցեի բիթ = 0x00, 13bit անստորագիր) (yacc 3 հասցեի բիթ = 0x01, 13bit անստորագիր) (zacc 3 հասցեի բիթ = 0x02, 13bit անստորագիր) (3 հասցեի բիթ = 0x03, iadc13bit անստորագիր) (xacc 3 հասցեի բիթ = 0x00, 13bit անստորագիր) (yacc 3 հասցեի բիթ = 0x01, 13bit անստորագիր) (zacc 3 հասցեի բիթ = 0x02, 13bit անստորագիր) (3 հասցեի բիթ = 0x03, iadc13bit անստորագիր)…
Եթե Bluetooth- ի տվյալները կարդալու համար օգտագործում եք Accel Plot Android հավելվածից այլ բան, ահա հասցեն հանելու քայլերը (ես օգտագործում եմ փոփոխական անունները Accel Plot Bluetooth.java ֆայլից GitHub ռեպոից).
- Կարդացեք 16 անստորագիր ինտ
- Արդյունահանեք բարձր բայթը և պահեք այն btHigh- ում:
- Հանել ցածր բայթը և պահել այն btLow- ում:
- Առբերեք հասցեն btHigh- ից ՝ օգտագործելով (btHigh >> 5) և 0x07: Այս հայտարարությունը btHigh 5 բիթ է տեղափոխում աջ ՝ երեք հասցեի բիթերը տեղափոխելով ամենացածր երեք գրանցամատյաններին: & Նշանը տրամաբանական է AND, որը 4 և ավելի բարձր բիթերին ստիպում է զրոյի, իսկ վերջին երեք բիթերը ՝ հասցեի բիթերին: Այս հայտարարության արդյունքը ձեր հասցեն է:
Դուք կարիք չունեք անհանգստանալու հասցեի արդյունահանման վերաբերյալ, եթե օգտագործում եք Accel Plot- ը:
Քայլ 3: Ներբեռնեք Android ծրագիրը Google Play- ից կամ ճյուղավորեք GitHub- ը
Դուք ունեք մի քանի տարբերակ ՝ ձեր սարքում Android ծրագիրը բեռնելու համար: Եթե ցանկանում եք խուսափել կոդավորումից, կարող եք որոնել «Accel Plot», և ծրագիրը պետք է հայտնվի Google Play խանութում: Տեղադրման համար հետևեք խանութի հրահանգներին:
Այս Instructable- ի հետ իմ ցանկությունն է, իրոք, խրախուսել ուրիշներին նախագծեր կառուցել, այնպես որ ես նաև կոդը հրապարակել եմ GitHub ռեպոում: Դուք պետք է կարողանաք սա ճյուղավորել, կառուցել և փոփոխել այն, ինչպես հարմար եք համարում: Ես հրապարակեցի ծածկագիրը MIT լիցենզիայի ներքո, այնպես որ զվարճացեք:
Քայլ 4. Միացեք Arduino- ին ինչ -որ հետաքրքիր բանի (ես օգտագործել եմ R/C մեքենա)
Ես ուզում եմ, ի վերջո, օգտագործել սարքը ճանապարհի մակերևույթի հայտնաբերման համար, այնպես որ ես կարծում էի, որ փոքր հեռակառավարվող (Հ/Հ) մեքենան տեղին կլինի: Կարծում եմ, որ դա օգնում է հաջորդ քայլին, եթե արագացումները կարող են լինել շարժվող կամ թրթռացող մի բանի վրա:
Քայլ 5. Օգտագործեք Android սարքը Arduino- ին միանալու համար:
Եթե դա դեռ չեք արել, ապա ձեզ հարկավոր է նախ զույգը համատեղել HC-05- ի հետ ձեր Android սարքի հետ: Կարծում եմ, որ սարքերի մեծ մասում դա կարող եք անել ՝ անցնելով կարգավորումներ: HC-05 սարքերի մեծ մասի կանխադրված քորոցը կլինի 1234 կամ 1111:
Բացեք AccelPlot ծրագիրը Android սարքում: Երբ ծրագիրը բացվում է, և HC-05- ին միանալուց առաջ կարող եք փոխել նմուշառման արագությունը (սա սահմանված է Arduino ծածկագրում), արագացուցիչի սանդղակները (նաև Arduino ծածկագրում) և պահպանման ենթակա նմուշների քանակը:
Այս կարգավորումները կատարելուց հետո կտտացրեք «Միացում» կոճակին: Այն պետք է բարձրացնի Bluetooth սարքերը, և ձեր սարքը պետք է նշված լինի: Ընտրեք այն և երբ ծածկագիրը կապ հաստատի, կտեսնեք «Միացված» կենացը:
Accel Plot- ին վերադառնալու համար օգտագործեք հետևի սլաքի կոճակը: Հպեք «Սկսել հոսք» կոճակին ՝ HC-05 սարքի տվյալները ցուցադրելու համար: Դուք նաև պետք է ունենաք կոճակներ ՝ տվյալները պահելու կամ հաճախականության մոդուլացված բովանդակությունը աուդիո խցիկի միջոցով նվագարկելու համար:
Քայլ 6: Ձեռք բերեք և գծագրեք տվյալները
«Սկսել հոսք» կոճակը պետք է միացված լինի: Հպեք դրան ՝ տվյալները էկրանին հոսելու համար:
«Պահել տվյալները» կոճակը նույնպես միացված կլինի, կտտացրեք այն ՝ տվյալները պահելու համար:
Accel Plot- ը ներառում է նաև աուդիո ալիքների վրա մոդուլացված ազդանշան թողնելու տարբերակ: Accel Plot հավելվածի 2 ալիքները վերաբերում են Android սարքի աուդիո ելքի միացման ձախ և աջ ալիքներին: Սա օգտակար է, եթե ցանկանում եք MPU-6050- ի տվյալները բերել տվյալների մուտքագրման առանձին համակարգ, ինչպիսին է National Instruments- ը:
Տեսանյութը ցույց է տալիս համակարգ, որը հավաքում է տվյալներ R/C մեքենայի վերաբերյալ:
Քայլ 7. Ներմուծեք Python (կամ այլ հարթակ) հետագա օգտագործման համար
Ֆայլերը պահվում են Android սարքում: Ֆայլերը կպահվեն «AccelPlot» գրացուցակում ՝ Android API 18 և ավելի հին համար: Կոդը տեղադրում է.dat ֆայլերը «\ Tablet / Documents / AccelPlot» թղթապանակում API 19 (KitKat 4.4) և ավելի բարձր մակարդակի համար: Ես խնդիրներ եմ ունեցել որոշ Android սարքերի հետ, երբ ֆայլերը միացված են USB- ի միջոցով: Որոշ դեպքերում ես ստիպված եմ եղել վերագործարկել Android սարքը, որպեսզի նրանք հայտնվեն: Վստահ չեմ, թե ինչու է դա տեղի ունենում, բայց պետք է լինի չորս ֆայլ ՝ մեկը յուրաքանչյուր ալիքի համար: Լրացուցիչ աշխատանքի համար դրանք կարող են պատճենվել տեղական գրացուցակում:
Ես օգտագործեցի Anaconda/Python 2.7 ֆայլերը բացելու և տվյալները ցուցադրելու համար: «ExploratoryAnalysis.ipynb» ֆայլն ունի IPython Notebook ֆայլ, որը կբացի բոլոր տվյալների ֆայլերը և գծագրում է ընտրանքային տվյալները: Նմուշ ֆայլերը ներառված են GitHub ռեպոյում: Տվյալները պահվում են որպես մեծ endian 4 բայթ լողացող ('> f'), այնպես որ ցանկացած վերլուծական ծրագիր պետք է կարողանա բացել դրանք:
Ես ներառել եմ նաև «ReadDataFiles.ipynb» անունով ավելի պարզ ֆայլ, որը ցույց է տալիս, թե ինչպես կարդալ մեկ ֆայլում անունով:
Խորհուրդ ենք տալիս:
Իրական ժամանակում ջրհորի ջրի ջերմաստիճան, հաղորդունակություն և ջրի մակարդակի հաշվիչ ՝ 6 քայլ (նկարներով)
Իրական ժամանակի ջրհորի ջրի ջերմաստիճան, հաղորդունակություն և ջրի մակարդակի հաշվիչ. Այս հրահանգները նկարագրում են, թե ինչպես կարելի է կառուցել էժան, իրական ժամանակի ջրաչափ `ջերմաստիճանը մոնիտորինգի համար, Էլեկտրական հաղորդունակություն (ԵՀ) և ջրի մակարդակները փորված հորերում: Հաշվիչը նախատեսված է փորված ջրհորի ներսում կախված լինելու համար, չափելու ջրի ջերմաստիճանը
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով: - DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. 5 քայլ
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. Ներածություն. Բարև, սա Liono Maker- ն է, ահա YouTube- ի հղումը: Մենք ստեղծում ենք ստեղծագործական նախագիծ Arduino- ի հետ և աշխատում ներկառուցված համակարգերի վրա: Data-Logger: Տվյալների գրանցիչ (նաև տվյալների գրանցիչ կամ տվյալների գրանցիչ) էլեկտրոնային սարք է, որը ժամանակի ընթացքում գրանցում է տվյալները
MicroPython ծրագիր. Թարմացրեք կորոնավիրուսային հիվանդության (COVID-19) տվյալները իրական ժամանակում ՝ 10 քայլ (նկարներով)
MicroPython :րագիր. Թարմացրեք կորոնավիրուսային հիվանդության (COVID-19) տվյալները իրական ժամանակում. Վերջին մի քանի շաբաթների ընթացքում աշխարհում կորոնավիրուսային հիվանդության (COVID 19) հաստատված դեպքերի թիվը գերազանցել է 100,000-ը, իսկ առողջապահության համաշխարհային կազմակերպությունը (ԱՀԿ) հայտարարել է նոր կորոնավիրուսային թոքաբորբի բռնկումը կդառնա գլոբալ համաճարակ: Ես շատ
SCARA ռոբոտ. Սովորելով հեռու և հակադարձ կինեմատիկայի մասին !!! (Plot Twist Իմացեք, թե ինչպես կարելի է իրական ժամանակում ինտերֆեյս կազմել ARDUINO- ում ՝ օգտագործելով վերամշակումը !!!!). 5 քայլ (նկարներով)
SCARA Robot. Սովորում ենք հեռանկարային և հակադարձ կինեմատիկայի մասին !!! (Plot Twist Իմացեք, թե ինչպես կատարել իրական ժամանակի ինտերֆեյս ARDUINO- ում ՝ օգտագործելով վերամշակումը !!!!). SCARA ռոբոտը արդյունաբերական աշխարհում շատ տարածված մեքենա է: Անունը նշանակում է թե՛ Ընտրովի համապատասխանող հավաքման ռոբոտի ձեռք, թե՛ ընտրովի համապատասխանող հոդակապ ռոբոտի ձեռք: Հիմնականում դա երեք աստիճանի ազատության ռոբոտ է ՝ լինելով առաջին երկուսը
Բարձր ճշգրտության տվյալների հեռավոր մուտքագրում `օգտագործելով բազմաչափ/Arduino/pfodApp: 10 քայլ (նկարներով)
Բարձր ճշգրտության տվյալների հեռավոր մուտքագրում ՝ օգտագործելով բազմաչափ/Arduino/pfodApp. Թարմացվել է 2017 թ. Ապրիլի 26 -ին Վերանայված միացում և տախտակ 4000ZC USB հաշվիչներով օգտագործելու համար: Android- ի կոդավորում չի պահանջվում: Այս հրահանգը ցույց է տալիս, թե ինչպես մուտք գործել ձեր Arduino- ի բարձր ճշգրտության չափումների լայն տեսականի, ինչպես նաև դրանք հեռակա ուղարկել անտառահատումների և