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

H3LIS331DL- ի և Arduino Nano- ի միջոցով արագացման չափում. 4 քայլ
H3LIS331DL- ի և Arduino Nano- ի միջոցով արագացման չափում. 4 քայլ

Video: H3LIS331DL- ի և Arduino Nano- ի միջոցով արագացման չափում. 4 քայլ

Video: H3LIS331DL- ի և Arduino Nano- ի միջոցով արագացման չափում. 4 քայլ
Video: Product Showcase: H3LIS331DL Triple Axis Accelerometer Breakout 2024, Նոյեմբեր
Anonim
Image
Image

H3LIS331DL- ը ցածր էներգիայի բարձր արդյունավետությամբ 3 առանցքի գծային արագացուցիչ է, որը պատկանում է «նանո» ընտանիքին ՝ թվային I²C սերիական ինտերֆեյսով: H3LIS331DL- ն ունի 100 գ/g 200 գ/± 400 գ ամբողջական օգտագործվող ընտրովի սանդղակներ և այն ունակ է չափել արագացումները ելքային տվյալների արագությամբ 0.5 Հց -ից մինչև 1 կՀց: H3LIS331DL- ը երաշխավորված է աշխատել -40 ° C- ից +85 ° C- ի ընդլայնված ջերմաստիճանի սահմաններում:

Այս ձեռնարկում մենք պատրաստվում ենք ցույց տալ H3LIS331DL- ի և Arduino Nano- ի փոխազդեցությունը:

Քայլ 1: Պահանջվում է սարքավորում

Պահանջվող սարքավորում
Պահանջվող սարքավորում
Պահանջվող սարքավորում
Պահանջվող սարքավորում
Պահանջվող սարքավորում
Պահանջվող սարքավորում

Նյութերը, որոնք մեզ անհրաժեշտ են մեր նպատակին հասնելու համար, ներառում են հետևյալ ապարատային բաղադրիչները.

1. H3LIS331DL

2. Արդուինո Նանո

3. I2C մալուխ

4. I2C վահան Arduino Nano- ի համար

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

Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում

Սարքավորումների միացման բաժինը հիմնականում բացատրում է սենսորի և arduino nano- ի միջև պահանջվող լարերի միացումները: Connectionsանկալի ելքի համար ցանկացած համակարգի վրա աշխատելիս հիմնական անհրաժեշտությունն է հիմնական կապերի ապահովումը: Այսպիսով, անհրաժեշտ կապերը հետևյալն են.

H3LIS331DL- ը կաշխատի I2C- ով: Ահա միացման սխեմայի օրինակ, որը ցույց է տալիս, թե ինչպես միացնել սենսորի յուրաքանչյուր միջերեսը:

Տուփից դուրս, տախտակը կազմաձևված է I2C ինտերֆեյսի համար, ուստի խորհուրդ ենք տալիս օգտագործել այս կապը, եթե այլապես ագնոստիկ եք: Ձեզ անհրաժեշտ է չորս լար:

Միայն չորս միացում է պահանջվում Vcc, Gnd, SCL և SDA կապում, որոնք միացված են I2C մալուխի օգնությամբ:

Այս կապերը ցուցադրվում են վերը նշված նկարներում:

Քայլ 3. Arduino կոդ արագացման չափման համար

Arduino կոդ արագացման չափման համար
Arduino կոդ արագացման չափման համար
Arduino կոդ արագացման չափման համար
Arduino կոդ արագացման չափման համար

Եկեք հիմա սկսենք arduino կոդով:

Arduino- ի հետ սենսորային մոդուլն օգտագործելիս մենք ներառում ենք Wire.h գրադարանը: «Լար» գրադարանը պարունակում է գործառույթներ, որոնք հեշտացնում են i2c հաղորդակցությունը սենսորի և arduino տախտակի միջև:

Օգտվողի հարմարության համար ստորև տրված է arduino- ի ամբողջ ծածկագիրը.

#ներառում

// H3LIS331DL I2C հասցեն ՝ 0x18 (24)

#սահմանել Addr 0x18

դատարկ կարգավորում ()

{

// Նախնականացնել I2C հաղորդակցությունը որպես ՎԱՐՊԵՏ

Wire.begin ();

// Սկզբնականացնել սերիական հաղորդակցությունը, սահմանել բաուդ արագություն = 9600

Serial.begin (9600);

// Սկսել I2C փոխանցումը

Wire.beginTransmission (Addr);

// Ընտրեք հսկիչ գրանցամատյան 1

Wire.write (0x20);

// Միացնել X, Y, Z առանցքը, միացման ռեժիմը, տվյալների թողարկման արագությունը 50 Հց

Wire.write (0x27);

// Դադարեցնել I2C փոխանցումը

Wire.endTransmission ();

// Սկսել I2C փոխանցումը

Wire.beginTransmission (Addr);

// Ընտրեք հսկիչ գրանցամատյան 4

Wire.write (0x23);

// Սահմանել ամբողջական սանդղակ, +/- 100 գ, շարունակական թարմացում

Wire.write (0x00);

// Դադարեցնել I2C փոխանցումը

Wire.endTransmission ();

ուշացում (300);

}

դատարկ շրջան ()

{

անստորագիր int տվյալներ [6];

համար (int i = 0; i <6; i ++)

{

// Սկսել I2C փոխանցումը

Wire.beginTransmission (Addr);

// Ընտրեք տվյալների գրանցամատյան

Wire.write ((40+i));

// Դադարեցնել I2C փոխանցումը

Wire.endTransmission ();

// Պահանջել 1 բայթ տվյալներ

Մետաղալար. Խնդրում ենք (Addr, 1);

// Կարդացեք տվյալների 6 բայթ

// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

եթե (Wire.available () == 1)

{

տվյալներ = Wire.read ();

}

}

ուշացում (300);

// Փոխարկել տվյալները

int xAccl = ((տվյալներ [1] * 256) + տվյալներ [0]);

int yAccl = ((տվյալներ [3] * 256) + տվյալներ [2]);

int zAccl = ((տվյալներ [5] * 256) + տվյալներ [4]);

// Ելքային տվյալները սերիական մոնիտորին

Serial.print («Արագացում X- առանցքում.»);

Serial.println (xAccl);

Serial.print («Արագացում Y- առանցքում.»);

Serial.println (yAccl);

Serial.print («Արագացում Z- առանցքում.»);

Serial.println (zAccl);

ուշացում (300);

}

Մնում է միայն այրել կոդը arduino- ում և ստուգել ձեր ընթերցումները սերիական նավահանգստում: Արդյունքը ցուցադրված է վերևի նկարում:

Քայլ 4: Դիմումներ

Դիմումներ
Դիմումներ

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

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