Բովանդակություն:
- Քայլ 1: Պահանջվող սարքավորում
- Քայլ 2: Սարքաշարի միացում
- Քայլ 3. Python ծածկագրումը Raspberry Pi- ի համար
- Քայլ 4. Օրենսգրքի գործնականությունը
- Քայլ 5: Applicրագրեր և առանձնահատկություններ
- Քայլ 6: Եզրակացություն
Video: Raspberry Pi- ի և MMA7455- ի միջոցով արագացման տատանումների հետևում Python- ի միջոցով. 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Ես չեմ ուղևորվել, ես ձգողականություն էի ստուգում: Այն դեռ աշխատում է…
Արագացնող տիեզերանավի ներկայացումը պարզաբանեց, որ մաքոքային ամենաբարձր կետում գտնվող ժամացույցը ավելի արագ կընտրի, քան հիմքում ՝ գրավիտացիոն ժամանակի ընդլայնման պատճառով: Ոմանք պնդում էին, որ մաքոքային նավի արագացումը երկու ժամացույցների համար նույնն է լինելու, ուստի նրանք պետք է նույն արագությամբ թակեն: Մտածեք դրա մասին:
Մտքերը, մոտիվացիան և նույնիսկ ուղեցույցը կարող են ծագել ցանկացած վայրից: Այնուամենայնիվ, երբ ձեր ուշադրությունը նորարարության վրա է, այն ներդրում է ստանում այդ կետի վրա կենտրոնացած անհատներից: Raspberry Pi- ն ՝ մինի, մեկ տախտակով Linux համակարգիչ, առաջարկում է յուրահատուկ ձեռնարկումներ և հիմնական խորհրդատվություն ձեռնարկությունների կազմակերպման, ծրագրավորման և էլեկտրոնիկայի ձեռնարկությունների վերաբերյալ: Լինելով ազնվամորի Pi և սարքեր ուսուցանող ստեղծողներ, մենք ստանում ենք մի հնարավորություն, որը ծրագրավորելու և շոշափելու և ապշեցուցիչ բաներ ստեղծելու համակարգչային գիտության և էլեկտրոնիկայի միջոցով ջախջախում է: Մենք վաղուց ուրախություն ունեինք արագացուցիչի միջոցով մի առաջադրանք կատարելիս, և այն մտքերը, թե ինչ կարող եք անել այս գործիքի հետ, իսկապես հիանալի են: Այսպիսով, այս առաջադրանքի մեջ մենք կներառենք MMA7455 ՝ 3 առանցքի թվային արագացուցիչի տվիչ ՝ արագությունը չափելու համար 3 հարթություններում ՝ X, Y և Z, Raspberry Pi- ի հետ Python- ի միջոցով: Տեսնենք, արդյոք այն կվճարվի:
Քայլ 1: Պահանջվող սարքավորում
Մենք գիտենք, թե որքան անհանգստացնող կարող է լինել փորձելը և տանելն առանց իմանալու, թե որ մասերից պետք է ձեռք բերել, որտեղից պայմանավորվել և որքան կարժենա ամեն ինչ նախապես: Այսպիսով, մենք արել ենք այդ ամբողջ աշխատանքը ձեզ համար: Երբ բոլոր մասերը քառակուսի դնեք, պետք է արագ լինի այս առաջադրանքը կատարելու համար: Հետո վերցրեք ՝ մասերի ամբողջական ցուցակ ստանալու համար:
1. Ազնվամորի Պի
Նախնական քայլը Raspberry Pi տախտակի ձեռքբերումն էր: Raspberry Pi- ն Linux- ի վրա հիմնված միայնակ համակարգիչ է: Այս փոքրիկ ԱՀ -ն մեծ ուժ է գրանցում ուժի գրանցման համար, որն օգտագործվում է որպես էլեկտրոնիկայի վարժությունների մի մաս և համակարգչային գործողություններ, ինչպիսիք են աղյուսակները, բառերի մշակումը, վեբ սերֆինգը և էլ. Փոստը և խաղերը: Դուք կարող եք այն գնել ցանկացած էլեկտրոնիկայի կամ հոբբիստների խանութում:
2. I2C Shield ազնվամորու Pi- ի համար
Raspberry Pi- ի առաջնային մտահոգությունը I2C նավահանգիստն է: Այսպիսով, դրա համար TOUTPI2 I2C միակցիչը ձեզ հնարավորություն է տալիս օգտագործել Raspberry Pi- ն ցանկացած I2C սարքի հետ: Այն հասանելի է DCUBE Store- ում
3. 3 առանցքի արագացուցիչ, MMA7455
Արտադրված է Freescale Semiconductor, Inc.- ի վրա, MMA7455 3-Axis Digital Accelerometer- ը ցածր հզորության, ավելի փոքր մասշտաբով մշակված սենսոր է, որը հարմար է արագությունը չափելու համար իր X, Y և Z առանցքների երկայնքով: Այս սենսորը մենք ձեռք ենք բերել DCUBE Store- ից
4. Միացման մալուխ
Մենք ձեռք ենք բերել I2C Connecting մալուխը DCUBE Store- ից
5. Միկրո USB մալուխ
Ամենափոքր խճճված, այնուամենայնիվ, ամենաուժեղը էներգիայի անհրաժեշտության վերաբերյալ Raspberry Pi- ն է: Ռազմավարության կառավարման առավել նշանակալի և նվազ պահանջկոտ մոտեցումը Micro USB մալուխի օգտագործումն է: Ավելի առաջադեմ և մասնագիտացված ուղի է էներգիա տրամադրելը հատուկ GPIO կամ USB պորտերի միջոցով:
6. Networkանցերի ապահովում
Ստացեք ձեր Raspberry Pi- ն կապված Ethernet (LAN) մալուխի հետ և միացրեք այն ձեր տան ցանցին: Մյուս կողմից, սկանավորեք WiFi միակցիչ և օգտագործեք USB պորտերից մեկը `հեռավոր ցանց հասնելու համար: Դա կտրուկ որոշում է, հիմնարար, փոքր և պարզ:
7. HDMI մալուխ/հեռավոր մուտք
Raspberry Pi- ն ունի HDMI պորտ, որը կարող եք միացնել հատկապես էկրանին կամ հեռուստացույցին HDMI մալուխով: Ընտրովի, դուք կարող եք օգտագործել SSH- ը ՝ ձեր Raspberry Pi- ով հաստատելու համար Linux համակարգչից կամ տերմինալից Mac- ից: Նմանապես, անվճար և բաց կոդով տերմինալի էմուլատոր PuTTY- ը խելացի մտքի է նման:
Քայլ 2: Սարքաշարի միացում
Կատարեք միացում, ինչպես ցույց է տրված սխեմատիկ ցույց տվածը: Սխեմատիկայում դուք կտեսնեք էլեկտրոնիկայի տարբեր բաղադրիչների, միացնող լարերի, հոսանքի մալուխների և I2C տվիչի միացումները:
Raspberry Pi և I2C Shield միացում
Որպես առաջին կարևորություն վերցրեք Raspberry Pi- ն և դրա վրա նշեք I2C Shield- ը: Սեղմեք Shield- ը Pi- ի GPIO կապում, և մենք կավարտենք այս առաջընթացը նույնքան հեշտ, որքան կարկանդակը (տես լուսանկարը):
Ազնվամորի Պի և սենսորների միացում
Վերցրեք տվիչը և դրա հետ միացրեք I2C մալուխը: Այս մալուխի համապատասխան շահագործման համար խնդրում ենք ստուգել I2C ելքը ՄԻՇՏ զբաղեցնում է I2C մուտքը: Նույնը պետք է արվի Raspberry Pi- ի դեպքում I2C վահանով, որը տեղադրված է GPIO կապում:
Մենք խորհուրդ ենք տալիս օգտագործել I2C մալուխը, քանի որ այն մերժում է քորոցները քայքայելու, ամրացնելու և անհանգստացնելու պահանջը, որն արվում է նույնիսկ ամենախոնարհ խառնաշփոթից: Այս նշանակալից ասոցիացիայի և խաղալու մալուխի միջոցով դուք կարող եք ներկայացնել, փոխանակել հակաբեղմնավորիչները կամ ավելացնել ավելի շատ հարմարանքներ համապատասխան ծրագրին: Սա ապահովում է աշխատանքային քաշը մինչև հսկայական մակարդակ:
Նշում. Շագանակագույն մետաղալարերը պետք է հուսալիորեն վերցնեն Ground (GND) կապը մի սարքի ելքի և մեկ այլ սարքի մուտքի միջև:
Ինտերնետ հասանելիությունը առանցքային է
Մեր ջանքերը հաղթանակի հասնելու համար մենք պահանջում ենք ինտերնետ կապ մեր Raspberry Pi- ի համար: Դրա համար դուք ունեք այլընտրանքներ, ինչպիսիք են Ethernet (LAN) ինտերֆեյսին `միանալով տնային ցանցին: Բացի այդ, որպես այլընտրանք, գոհացուցիչ դասընթացը WiFi USB միակցիչի օգտագործումն է: Մեծ հաշվով դա ներկայացնելով, վարորդից պահանջում եք, որ այն աշխատի: Այսպիսով, հակված եղեք գծանշման մեջ դեպի Linux- ով:
Էներգամատակարարում
Միացրեք Micro USB մալուխը Raspberry Pi- ի սնուցման վարդակին: Unchալեք և պատրաստ ենք:
Միացում էկրանին
Մենք կարող ենք HDMI մալուխը միացնել մեկ այլ մոնիտորի/հեռուստացույցի: Երբեմն, դուք պետք է հասնեք Raspberry Pi- ին ՝ առանց այն էկրանին միացնելու, կամ գուցե կարիք լինի դրանից այլուր դիտելու տեղեկատվությունը: Հավանաբար, կան ստեղծագործական և ֆինանսական առումով խելամիտ եղանակներ ՝ հաշվի առնելով բոլոր բաները, որոնք հաշվի են առնվում: Նրանցից մեկն օգտագործում է `SSH (հեռավոր հրամանատարական տողի մուտք): Դրա համար կարող եք նաև օգտագործել PuTTY ծրագրակազմը:
Քայլ 3. Python ծածկագրումը Raspberry Pi- ի համար
Դուք կարող եք տեսնել Raspberry Pi- ի և MMA7455 ցուցիչի Python ծածկագիրը մեր GithubRepository- ում:
Նախքան ծածկագրին անցնելը, երաշխավորեք, որ կարդում եք Readme տարեգրության մեջ տրված չափանիշները և կարգավորում եք ձեր Raspberry Pi- ն, ինչպես նշված է դրանում: Դա պարզապես թեթև կլինի մեկ րոպեի ընթացքում ՝ հաշվի առնելով ներկա հանգամանքները:
Արագացուցիչը էլեկտրամեխանիկական սարք է, որը չափելու է արագացման ուժերը: Այս ուժերը կարող են լինել ստատիկ ՝ նման ձեր ոտքերի ձգող ծանրության մշտական ուժին, կամ կարող են փոփոխական լինել ՝ առաջացած արագացուցիչի շարժման կամ թրթռման միջոցով:
Հետ գնալը պիթոնի ծածկագիրն է, և դուք կարող եք կլոնավորել և փոխել ծածկագիրը ցանկացած ձևով, որին ցանկանում եք:
# Տարածված է ազատ կամքի լիցենզիայի միջոցով: # MMA7455L # Այս կոդը նախատեսված է MMA7455L_I2CS I2C մինի մոդուլի հետ աշխատելու համար, որը հասանելի է dcubestore.com # https://dcubestore.com/product/mma7455l-3-axis-low-g-digital-output-accelerometer-i%C2 %B2c- մինի մոդուլ/
ներմուծել smbus
ներմուծման ժամանակը
# Ձեռք բերեք I2C ավտոբուս
ավտոբուս = smbus. SMBus (1)
# MMA7455L հասցե, 0x1D (16)
# Ընտրել ռեժիմի կառավարման գրանցամատյան, 0x16 (22) # 0x01 (01) Չափման ռեժիմ, +/- 8 գ ավտոբուս: գրել_բայթ_տվյալներ (0x1D, 0x16, 0x01)
ժամանակ. քուն (0.5)
# MMA7455L հասցե, 0x1D (16)
# Կարդացեք տվյալները 0x00 (00), 6 բայթ # X-Axis LSB, X-Axis MSB, Y-Axis LSB, Y-Axis MSB, Z-Axis LSB, Z-Axis MSB տվյալներ = bus.read_i2c_block_data (0x1D, 0x00, 6)
# Փոխակերպեք տվյալները 10 բիթ
xAccl = (տվյալներ [1] և 0x03) * 256 + տվյալներ [0] եթե xAccl> 511: xAccl -= 1024 yAccl = (տվյալներ [3] և 0x03) * 256 + տվյալներ [2] եթե yAccl> 511: yAccl - = 1024 zAccl = (տվյալներ [5] & 0x03) * 256 + տվյալներ [4] եթե zAccl> 511: zAccl -= 1024
# Ելքի տվյալները էկրանին
տպել "Արագացում X- առանցքում. %d" %xAccl տպագիր "Արագացում Y- առանցքում. %d" %yAccl տպագրություն "Արագացում Z- առանցքում. %d" %zAccl
Քայլ 4. Օրենսգրքի գործնականությունը
Ներբեռնեք (կամ git pull) ծածկագիրը Github- ից և բացեք այն Raspberry Pi- ում:
Գործարկեք տերմինալում կոդը կազմելու և վերբեռնելու հրամանները և տեսեք արդյունքը էկրանին: Մի քանի րոպե տևելուց հետո այն կցուցադրի պարամետրերից յուրաքանչյուրը: Ամեն ինչ հեշտությամբ ապահովելու հետևում դուք կարող եք օգտագործել այս թափառումը ամեն օր կամ դարձնել այս թափառումը շատ ավելի նշանավոր առաջադրանքի մի փոքր մասը: Անկախ ձեր կարիքներից, այժմ ձեր հավաքածուի մեջ կա ևս մեկ հակացուցում:
Քայլ 5: Applicրագրեր և առանձնահատկություններ
MMA7455- ը, որն արտադրվում է Freescale Semiconductor- ի կողմից, ցածր էներգիայի բարձր արդյունավետությամբ 3 առանցքային թվային արագացուցիչ է, որը կարող է օգտագործվել տվիչների տվյալների փոփոխությունների, արտադրանքի կողմնորոշման և ժեստերի հայտնաբերման համար: Այն կատարյալ է այնպիսի ծրագրերի համար, ինչպիսիք են Բջջային հեռախոսը/PMP/PDA: Կողմնորոշման հայտնաբերում (Դիմանկար/Լանդշաֆտ), Պատկերի կայունություն, Տեքստի ոլորում, Շարժման հավաքում, Հպեք ՝ լռեցնելու համար, Laptop PC: Anti-Theft, Gaming: Motion Detection, Auto-Wake/ Քնել ցածր էներգիայի սպառման և թվային ֆոտոխցիկի համար. Պատկերի կայունություն:
Քայլ 6: Եզրակացություն
Եթե դուք մտադիր եք ուսումնասիրել Raspberry Pi և I2C տվիչների տիեզերքը, ապա կարող եք ցնցել ինքներդ ձեզ ՝ օգտագործելով ապարատային հիմունքները, կոդավորումը, դասավորությունը, հեղինակավորը և այլն: Երբ փորձում եք լինել ավելի ստեղծագործ ձեր ոլորտում: փոքր ձեռնարկություն, այն երբեք չի վնասում արտաքին աղբյուրներին անցնելուն: Այս մեթոդի մեջ կարող են լինել մի քանի գործեր, որոնք կարող են լինել պարզ, մինչդեռ ոմանք կարող են ձեզ փորձարկել, շարժել ձեզ: Ամեն դեպքում, դուք կարող եք ճանապարհ դարձնել և անթերի ՝ փոխելով և կազմավորելով ձեր ձերը:
Օրինակ, կարող եք սկսել Gravimeter Prototype- ի մտքով ՝ չափել Երկրի տեղական գրավիտացիոն դաշտը MMA7455- ով և Raspberry Pi- ով ՝ օգտագործելով Python: Վերոնշյալ ձեռնարկությունում մենք օգտագործել ենք հիմնարար հաշվարկներ: Դիզայնի հիմնական սկզբունքն է չափել շատ փոքր կոտորակային փոփոխությունները Երկրի ծանրության 1 գ -ի սահմաններում: Այսպիսով, դուք կարող եք օգտագործել այս սենսորը տարբեր եղանակներով, որոնք կարող եք հաշվի առնել: Ալգորիթմը պետք է չափի ուղղահայաց ինքնահոս վեկտորի փոփոխության արագությունը բոլոր երեք ուղղահայաց ուղղություններով ՝ առաջացնելով ինքնահոս գրադիենտի տենսոր: Այն կարելի է եզրակացնել ՝ տարբերելով ծանրության արժեքը երկու կետերում, որոնք բաժանված են փոքր ուղղահայաց հեռավորությամբ, l և բաժանելով այս հեռավորության վրա: Մենք կփորձենք այս նախատիպի աշխատանքային վերափոխումը կատարել վաղ թե ուշ, կոնֆիգուրացիան, ծածկագիրը և մոդելավորման աշխատանքները `կառուցվածքով աղմուկի և թրթռումների վերլուծության համար: Մենք հավատում ենք, որ ձեզ բոլորին դուր է գալիս:
Ձեր հանգստության համար մենք ունենք YouTube- ում մի հմայիչ տեսանյութ, որը կարող է օգնել ձեր հետազոտությանը: Վստահեք այս նախաձեռնությանը ՝ հետաքննության հետագա ուղիների համար: Եթե հնարավորությունը չի թակում, դուռ կառուցիր:
Խորհուրդ ենք տալիս:
Շարժման հետևում MPU-6000- ի և Raspberry Pi- ի միջոցով. 4 քայլ
MPU-6000 և Raspberry Pi- ի միջոցով շարժման հետևում. MPU-6000- ը 6 առանցքի շարժման հետևման սենսոր է, որն ունի 3 առանցքի արագացուցիչ և 3 առանցքի գիրոսկոպ: Այս սենսորն ունակ է արդյունավետ կերպով հետևել օբյեկտի ճշգրիտ դիրքին և գտնվելու վայրը եռաչափ հարթությունում: Այն կարող է օգտագործվել
ADXL345- ի և Raspberry Pi- ի միջոցով արագացման չափում. 4 քայլ
ADXL345- ի և Raspberry Pi- ի միջոցով արագացման չափում. ADXL345- ը փոքր, բարակ, ծայրահեղ ցածր հզորության, 3 առանցքի արագացուցիչ է `բարձր լուծաչափով (13 բիթ) չափմամբ մինչև ± 16 գ: Թվային ելքային տվյալները ձևաչափվում են որպես 16-բիթ երկակի լրացում և հասանելի են I2 C թվային ինտերֆեյսի միջոցով: Չափում է
Raspberry Pi- ի և AIS328DQTR- ի միջոցով արագացման մոնիտորինգ Python- ի միջոցով. 6 քայլ
Raspberry Pi- ի և AIS328DQTR- ի միջոցով Python- ի միջոցով արագացման մոնիտորինգ. Կարծում եմ, որ ֆիզիկայի որոշ օրենքների համաձայն արագացումը վերջնական է:- Terry Riley Չետան օգտագործում է զարմանալի արագացում և արագության արագ փոփոխություններ հետապնդելիս: Ամենաարագ արարածը մեկ -մեկ ափ է օգտագործում իր ամենաբարձր արագությունը ՝ որս բռնելու համար: The
H3LIS331DL- ի և Raspberry Pi- ի միջոցով արագացման չափում. 4 քայլ
H3LIS331DL- ի և Raspberry Pi- ի միջոցով արագացման չափում. H3LIS331DL- ը ցածր էներգիայի բարձր արդյունավետությամբ 3 առանցքի գծային արագացուցիչ է, որը պատկանում է «նանո» ընտանիքին ՝ թվային I²C սերիական ինտերֆեյսով: H3LIS331DL- ն ունի 100 գ/g 200 գ/g 400 գ լիարժեք կշեռքներ օգտագործողի կողմից և ունակ է չափել արագացումները
BMA250- ի և Raspberry Pi- ի միջոցով արագացման չափում. 4 քայլ
BMA250- ի և Raspberry Pi- ի միջոցով արագացման չափում. BMA250- ը փոքր, բարակ, ծայրահեղ ցածր հզորության, 3 առանցքի արագացուցիչ է `բարձր լուծաչափով (13 բիթ) չափմամբ մինչև ± 16 գ: Թվային ելքային տվյալները ձևաչափվում են որպես 16-բիթ երկակի լրացում և հասանելի են I2C թվային ինտերֆեյսի միջոցով: Չափում է ստատիկ