Բովանդակություն:

Raspberry Pi- ի և MMA7455- ի միջոցով արագացման տատանումների հետևում Python- ի միջոցով. 6 քայլ
Raspberry Pi- ի և MMA7455- ի միջոցով արագացման տատանումների հետևում Python- ի միջոցով. 6 քայլ

Video: Raspberry Pi- ի և MMA7455- ի միջոցով արագացման տատանումների հետևում Python- ի միջոցով. 6 քայլ

Video: Raspberry Pi- ի և MMA7455- ի միջոցով արագացման տատանումների հետևում Python- ի միջոցով. 6 քայլ
Video: 3d մոդելավորում և տպագրում՝ պատյան Raspberry pi zero -ի համար: 2024, Նոյեմբեր
Anonim
Image
Image

Ես չեմ ուղևորվել, ես ձգողականություն էի ստուգում: Այն դեռ աշխատում է…

Արագացնող տիեզերանավի ներկայացումը պարզաբանեց, որ մաքոքային ամենաբարձր կետում գտնվող ժամացույցը ավելի արագ կընտրի, քան հիմքում ՝ գրավիտացիոն ժամանակի ընդլայնման պատճառով: Ոմանք պնդում էին, որ մաքոքային նավի արագացումը երկու ժամացույցների համար նույնն է լինելու, ուստի նրանք պետք է նույն արագությամբ թակեն: Մտածեք դրա մասին:

Մտքերը, մոտիվացիան և նույնիսկ ուղեցույցը կարող են ծագել ցանկացած վայրից: Այնուամենայնիվ, երբ ձեր ուշադրությունը նորարարության վրա է, այն ներդրում է ստանում այդ կետի վրա կենտրոնացած անհատներից: 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- ի համար

Python կոդավորումը Raspberry Pi- ի համար
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- ում մի հմայիչ տեսանյութ, որը կարող է օգնել ձեր հետազոտությանը: Վստահեք այս նախաձեռնությանը ՝ հետաքննության հետագա ուղիների համար: Եթե հնարավորությունը չի թակում, դուռ կառուցիր:

Խորհուրդ ենք տալիս: