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

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

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

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

Կարծում եմ, որ արագացումը վերջնական է, ըստ ֆիզիկայի որոշ օրենքների:- Թերի Ռայլի

Հետախույզը հետապնդելիս օգտագործում է զարմանահրաշ արագացում և արագության արագ փոփոխություններ: Ամենաարագ արարածը մեկ -մեկ ափ է կիրառում իր ամենաբարձր արագությունը ՝ որս բռնելու համար: Կենդանիները դա արագացնում են ՝ կիրառելով գրեթե հինգ անգամ ավելի հզորություն, քան Ուսեյն Բոլտը ՝ իր ռեկորդակիր 100 մ վազքի ընթացքում:

Ներկա ժամանակաշրջանում անհատները չեն կարող պատկերացնել իրենց գոյությունը առանց նորարարության: Մեզ շրջապատող տարբեր նորամուծություններ օգնում են մարդկանց ավելի շռայլությամբ շարունակել իրենց գոյությունը: Raspberry Pi- ն, մինի, մեկ տախտակ ունեցող Linux համակարգիչը, էժան և հարգելի հիմք է տալիս էլեկտրոնիկայի ձեռնարկների և առաջատար առաջընթացների համար, ինչպիսիք են IoT- ը, Smart Cities- ը և դպրոցական կրթությունը: Որպես համակարգչային և գաջեթների երկրպագուներ, մենք զգալի միջոցներ ենք ձեռնարկում Raspberry Pi- ի հետ և նախընտրեցինք խառնել մեր հետաքրքրությունները: Այսպիսով, որո՞նք են այն հնարավոր արդյունքները, որոնք կարող ենք անել, եթե մոտակայքում ունենանք Raspberry Pi և 3 առանցքի արագացուցիչ: Այս առաջադրանքի մեջ մենք կներառենք AIS328DQTR ՝ թվային 3 առանցքի MEMS գծային արագացուցիչի տվիչ, արագությունը չափելու համար 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 առանցքի արագացուցիչ, AIS328DQTR

Պատկանալով STMicroelectronics շարժման տվիչներին ՝ AIS328DQTR- ը ծայրահեղ ցածր էներգիայի բարձր արդյունավետությամբ 3 առանցքի գծային արագացուցիչ է ՝ թվային սերիական ինտերֆեյսի SPI ստանդարտ ելքով: Այս սենսորը ձեռք ենք բերել DCUBE Store- ից

4. Միացման մալուխ

Մենք ձեռք ենք բերել I2C Connecting մալուխը DCUBE Store- ից

5. Միկրո USB մալուխ

Ամենահամեստ տարակուսած, բայց ամենաուժեղ ուժի կարիքը ՝ Raspberry Pi- ն է: Խաղի պլանի հետ աշխատելու ամենաուղիղ ճանապարհը Micro USB մալուխի օգտագործումն է: GPIO կապումներն կամ USB պորտերը կարող են նույն կերպ օգտագործվել մեծ էլեկտրամատակարարում ապահովելու համար:

6. Վեբ հասանելիությունը անհրաժեշտություն է

Ստացեք ձեր Raspberry Pi- ն կապված Ethernet (LAN) մալուխի հետ և միացրեք այն ձեր ցանցին: Մյուս կողմից, սկանավորեք WiFi միակցիչ և օգտագործեք USB պորտերից մեկը `հեռավոր ցանց հասնելու համար: Դա կտրուկ որոշում է, հիմնարար, փոքր և պարզ:

7. HDMI մալուխ/հեռավոր մուտք

Raspberry Pi- ն ունի HDMI պորտ, որը կարող եք միացնել հատկապես HDMI մալուխով մոնիտորին կամ հեռուստացույցին: Ընտրովի, կարող եք օգտագործել SSH- ը ՝ ձեր Raspberry Pi- ով Linux համակարգչից կամ տերմինալից Macintosh- ից դաստիարակելու համար: Բացի այդ, PuTTY- ը ՝ անվճար և բաց կոդով տերմինալի էմուլյատորը հնչում է ոչ այնքան վատ ընտրություն:

Քայլ 2: Սարքաշարի միացում

Սարքաշարի միացում
Սարքաշարի միացում
Սարքաշարի միացում
Սարքաշարի միացում
Սարքաշարի միացում
Սարքաշարի միացում

Կատարեք միացում, ինչպես ցույց է տրված սխեմատիկ ցույց տվածը: Գրաֆիկում դուք կտեսնեք տարբեր մասեր, հզորության բեկորներ և I2C տվիչ:

Raspberry Pi և I2C Shield միացում

Ամենակարևորը ՝ վերցրեք Raspberry Pi- ն և դրա վրա նշեք I2C Shield- ը: Carefullyգուշորեն սեղմեք 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- ի և AIS328DQTR տվիչի Python ծածկագիրը մեր Github պահեստում:

Նախքան ծածկագրին անցնելը, համոզվեք, որ կարդում եք Readme արխիվում տրված կանոնները և ըստ դրա կարգավորեք ձեր Raspberry Pi- ն: Ուղղակի մի ակնթարթ կդադարեցվի բոլոր բաները հաշվի առնելը:

Արագացուցիչը էլեկտրամեխանիկական սարք է, որը չափելու է արագացման ուժերը: Այս ուժերը կարող են լինել ստատիկ ՝ նման ձեր ոտքերի ձգող ծանրության մշտական ուժին, կամ կարող են փոփոխական լինել ՝ առաջացած արագացուցիչի շարժման կամ թրթռման միջոցով:

Հետ գնալը պիթոնի ծածկագիրն է, և դուք կարող եք կլոնավորել և փոխել ծածկագիրը ցանկացած ձևով, որին ցանկանում եք:

# Տարածված է ազատ կամքի լիցենզիայի միջոցով: # AIS328DQTR # Այս կոդը նախատեսված է աշխատելու AIS328DQTR_I2CS I2C մինի մոդուլի հետ, որը հասանելի է dcubestore.com կայքից # https://dcubestore.com/product/ais328dqtr-high-performance-ultra-low-power-3-axiswaccelerometer -digital-output-for-automotive-applications-i-C%%B2c-mini-module/

ներմուծել smbus

ներմուծման ժամանակը

# Ձեռք բերեք I2C ավտոբուս

ավտոբուս = smbus. SMBus (1)

# AIS328DQTR հասցե, 0x18 (24)

# Ընտրել կառավարման ռեգիստր 1, 0x20 (32) # 0x27 (39) Միացման ռեժիմ, Տվյալների արագության ընտրություն = 50Hz # X, Y, Z-Axis enableb bus.write_byte_data (0x18, 0x20, 0x27) # AIS328DQTR հասցե, 0x18 (24) # Ընտրել կառավարման ռեգիստր 4, 0x23 (35) # 0x30 (48) Շարունակական թարմացում, լայնածավալ ընտրություն = +/- 8G ավտոբուս: գրել_բայթ_տվյալներ (0x18, 0x23, 0x30)

ժամանակ. քուն (0.5)

# AIS328DQTR հասցե, 0x18 (24)

# Կարդացեք տվյալները 0x28 (40), 2 բայթ # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)

# Փոխակերպեք տվյալները

xAccl = տվյալներ 1 * 256 + տվյալներ 0 եթե xAccl> 32767: xAccl -= 65536

# AIS328DQTR հասցե, 0x18 (24)

# Կարդացեք տվյալները 0x2A- ից (42), 2 բայթ # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x18, 0x2A) data1 = bus.read_byte_data (0x18, 0x2B)

# Փոխակերպեք տվյալները

yAccl = data1 * 256 + data0 եթե yAccl> 32767: yAccl -= 65536

# AIS328DQTR հասցե, 0x18 (24)

# Կարդացեք տվյալները 0x2C- ից (44), 2 բայթ # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x18, 0x2C) data1 = bus.read_byte_data (0x18, 0x2D)

# Փոխակերպեք տվյալները

zAccl = data1 * 256 + data0 եթե zAccl> 32767: zAccl -= 65536

# Ելքի տվյալները էկրանին

տպել "Արագացում X- առանցքում. %d" %xAccl տպագիր "Արագացում Y- առանցքում. %d" %yAccl տպագրություն "Արագացում Z- առանցքում. %d" %zAccl

Քայլ 4. Օրենսգրքի գործնականությունը

Օրենսգրքի գործնականությունը
Օրենսգրքի գործնականությունը

Ներբեռնեք (կամ git pull) ծածկագիրը Github- ից և բացեք այն Raspberry Pi- ում:

Գործարկեք տերմինալում կոդը կազմելու և վերբեռնելու հրամանները և տեսեք արդյունքը էկրանին: Մի քանի րոպե տևելուց հետո այն կցուցադրի պարամետրերից յուրաքանչյուրը: Այն բանից հետո, երբ երաշխավորվում է, որ ամեն ինչ աշխատում է առանց ջանքերի, դուք կարող եք օգտագործել այս ձեռնարկը ամեն օր կամ այս ձեռնարկումը դարձնել շատ ավելի մեծ առաջադրանքի մի փոքր մասը: Անկախ ձեր կարիքներից, այժմ ձեր կուտակման մեջ կա ևս մեկ հակացուցում:

Քայլ 5: Applicրագրեր և առանձնահատկություններ

Արտադրված է STMicroelectronics- ի կողմից, ծայրահեղ կոմպակտ ցածր էներգիայի բարձր արդյունավետությամբ 3 առանցքի գծային արագացուցիչ ՝ շարժման տվիչներին պատկանող: AIS328DQTR- ը հարմար է այնպիսի ծրագրերի համար, ինչպիսիք են ՝ տելեմատիկան և սև արկղերը, մեքենայի նավարկությունը, թեքության / թեքության չափումը, գողության դեմ սարքը, էներգիայի խելացի խնայողությունը, ազդեցության ճանաչումը և գրանցումը, թրթռումների մոնիտորինգը և փոխհատուցումը և շարժման ակտիվացված գործառույթները:

Քայլ 6: Եզրակացություն

Եթե դուք մտորել եք ուսումնասիրել Raspberry Pi և I2C տվիչների տիեզերքը, ապա կարող եք ինքներդ ձեզ ցնցել ՝ օգտվելով ապարատային հիմունքներից, կոդավորումից, դասավորությունից, հեղինակավորից և այլն: Այս մեթոդով կարող են լինել մի քանի առաջադրանքներ, որոնք կարող է պարզ լինել, մինչդեռ ոմանք կարող են ձեզ փորձարկել, շարժել ձեզ: Ամեն դեպքում, դուք կարող եք ճանապարհ դարձնել և անթերի ՝ փոխելով և կազմավորելով ձեր ձերը:

Օրինակ, կարող եք սկսել Behavior Tracker Prototype- ի մտքով `Python- ի միջոցով AIS328DQTR և Raspberry Pi- ով մոնիտորինգի ենթարկելու և պատկերելու կենդանիների ֆիզիկական շարժումներն ու մարմնի դիրքերը: Վերոնշյալ առաջադրանքի դեպքում մենք օգտագործել ենք արագացուցիչի հիմնական հաշվարկները: Արձանագրությունը պետք է ստեղծի արագացուցիչի համակարգ ՝ ցանկացած գիրոմետրի և GPS- ի հետ միասին, և վերահսկվող (մեքենայական) ուսուցման ալգորիթմ (աջակցող վեկտորային մեքենա (SVM)) ՝ կենդանիների վարքագծի նույնականացման համար: Դրան հաջորդելու է զուգահեռ սենսորային չափումների հավաքագրումը և չափումների գնահատումը `օժանդակ վեկտորային մեքենայի (SVM) դասակարգման միջոցով: Օգտագործեք անկախ չափումների տարբեր համակցություններ (նստած, քայլելիս կամ վազել) վերապատրաստման և վավերացման համար `նախատիպի ամրությունը որոշելու համար: Մենք կփորձենք այս նախատիպի աշխատանքային վերափոխումը կատարել վաղ թե ուշ, իսկ կոնֆիգուրացիան, ծածկագիրը և մոդելավորումը գործում են ավելի շատ վարքագծային ռեժիմների համար: Մենք հավատում ենք, որ ձեզ բոլորին դուր է գալիս:

Ձեր հարմարավետության համար մենք ունենք հմայիչ տեսանյութ YouTube- ում, որը կարող է օգնել ձեր հետազոտությանը: Հավատացեք, որ այս նախաձեռնությունը խթանում է հետագա հետազոտությունները: Սկսեք այնտեղ, որտեղ գտնվում եք: Օգտագործեք այն, ինչ ունեք: Արեք այն, ինչ կարող եք:

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