Orodha ya maudhui:

Upimaji wa Kuharakisha Kutumia H3LIS331DL na Particle Photon: Hatua 4
Upimaji wa Kuharakisha Kutumia H3LIS331DL na Particle Photon: Hatua 4

Video: Upimaji wa Kuharakisha Kutumia H3LIS331DL na Particle Photon: Hatua 4

Video: Upimaji wa Kuharakisha Kutumia H3LIS331DL na Particle Photon: Hatua 4
Video: Part 1 - The Jungle Audiobook by Upton Sinclair (Chs 01-03) 2024, Julai
Anonim
Image
Image

H3LIS331DL, ni kiwango cha chini cha nguvu ya kiwango cha juu cha 3-axis linear accelerometer ya familia ya "nano", na kiunga cha dijitali cha I²C. H3LIS331DL ina mizani kamili inayoweza kuchagua ya ± 100g / ± 200g / ± 400g na inauwezo wa kupima kasi na viwango vya data ya pato kutoka 0.5 Hz hadi 1 kHz. H3LIS331DL imehakikishiwa kufanya kazi juu ya kiwango cha joto kilichopanuliwa kutoka -40 ° C hadi +85 ° C.

Katika mafunzo haya tutaonyesha uingiliano wa H3LIS331DL na chembe chembe.

Hatua ya 1: Vifaa vinahitajika:

Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika

Vifaa ambavyo tunahitaji kutimiza lengo letu ni pamoja na vifaa vifuatavyo vya vifaa:

1. H3LIS331DL

2. Particle Photon

3. Cable ya I2C

4. ngao ya I2C kwa chembe chembe

Hatua ya 2: Kuunganishwa kwa vifaa:

Kuunganishwa kwa Vifaa
Kuunganishwa kwa Vifaa
Kuunganishwa kwa Vifaa
Kuunganishwa kwa Vifaa

Sehemu ya uunganishaji wa vifaa kimsingi inaelezea uhusiano wa wiring unaohitajika kati ya sensa na chembe chembe. Kuhakikisha unganisho sahihi ni hitaji la msingi wakati unafanya kazi kwenye mfumo wowote wa pato unalotaka. Kwa hivyo, viunganisho vinavyohitajika ni kama ifuatavyo.

H3LIS331DL itafanya kazi juu ya I2C. Hapa kuna mfano wa mchoro wa wiring, unaonyesha jinsi ya kuweka waya kila kiunganishi cha sensa.

Nje ya sanduku, bodi imesanidiwa kwa kiolesura cha I2C, kwa hivyo tunapendekeza utumie uunganisho huu ikiwa wewe ni agnostic. Unachohitaji ni waya nne!

Viunganisho vinne tu vinahitajika Vcc, Gnd, SCL na SDA pini na hizi zimeunganishwa kwa msaada wa kebo ya I2C.

Uunganisho huu umeonyeshwa kwenye picha hapo juu.

Hatua ya 3: Nambari ya Upimaji wa Kuharakisha:

Nambari ya Upimaji wa Kuharakisha
Nambari ya Upimaji wa Kuharakisha

Hebu tuanze na nambari ya chembe sasa.

Wakati tunatumia moduli ya sensorer na arduino, tunajumuisha application.h na maktaba ya spark_wiring_i2c.h. "application.h" na maktaba ya spark_wiring_i2c.h ina kazi ambazo zinawezesha mawasiliano ya i2c kati ya sensa na chembe.

Nambari nzima ya chembe imepewa hapa chini kwa urahisi wa mtumiaji:

# pamoja

# pamoja

// Anwani ya H3LIS331DL I2C ni 0x18 (24)

#fafanua Addr 0x18

int xAccl = 0, yAccl = 0, zAccl = 0;

kuanzisha batili ()

{

// Weka tofauti

Chembe. Hubadilika ("i2cdevice", "H3LIS331DL");

Chembe. Hubadilika ("xAccl", xAccl);

Chembe. Hubadilika ("yAccl", yAccl);

Chembe. Hubadilika ("zAccl", zAccl);

// Anzisha mawasiliano ya I2C kama MASTER

Wire.begin ();

// Anzisha mawasiliano ya serial, weka kiwango cha baud = 9600

Kuanzia Serial (9600);

// Anza Uhamisho wa I2C

Uwasilishaji wa waya (Addr);

// Chagua rejista ya kudhibiti 1

Andika waya (0x20);

// Wezesha mhimili wa X, Y, Z, nguvu kwenye hali, kiwango cha pato la data 50Hz

Andika waya (0x27);

// Acha Uhamisho wa I2C

Uwasilishaji wa waya ();

// Anza Uhamisho wa I2C

Uwasilishaji wa waya (Addr);

// Chagua rejista ya kudhibiti 4

Andika waya (0x23);

// Weka kiwango kamili, +/- 100g, sasisho endelevu

Andika waya (0x00);

// Acha Uhamisho wa I2C

Uwasilishaji wa waya ();

kuchelewesha (300);

}

kitanzi batili ()

{

data isiyoingia [6];

kwa (int i = 0; i <6; i ++)

{

// Anza Uhamisho wa I2C

Uwasilishaji wa waya (Addr);

// Chagua rejista ya data

Andika waya ((40 + i));

// Acha Uhamisho wa I2C

Uwasilishaji wa waya ();

// Omba 1 byte ya data

Ombi la Wire. Toka (Addr, 1);

// Soma ka 6 za data

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

ikiwa (Waya haipatikani () == 1)

{

data = soma kwa waya ();

}

kuchelewesha (300);

}

// Badilisha data

int xAccl = ((data [1] * 256) + data [0]);

ikiwa (xAccl> 32767)

{

xAccl - = 65536;

}

int yAccl = ((data [3] * 256) + data [2]);

ikiwa (yAccl> 32767)

{

yAccl - = 65536;

}

int zAccl = ((data [5] * 256) + data [4]);

ikiwa (zAccl> 32767)

{

zAccl - = 65536;

}

// Pato la data kwenye dashibodi

Kuchapisha ("Kuongeza kasi kwa X-Axis ni:", Kamba (xAccl));

Kuchapisha chembe ("Kuongeza kasi katika Y-Axis ni:", Kamba (yAccl));

Kuchapisha chembe ("Kuongeza kasi katika Z-Axis ni:", Kamba (zAccl));

kuchelewesha (300);

}

Kazi ya Particle.variable () huunda vigeuzi vya kuhifadhi pato la sensor na Particle.publish () kazi inaonyesha pato kwenye dashibodi ya tovuti.

Pato la sensorer linaonyeshwa kwenye picha hapo juu kwa kumbukumbu yako.

Hatua ya 4: Maombi:

Maombi
Maombi

Accelerometers kama H3LIS331DL hupata matumizi yake kwenye michezo na kuonyesha ubadilishaji wa wasifu. Moduli hii ya sensorer pia imeajiriwa katika mfumo wa juu wa usimamizi wa nguvu kwa matumizi ya rununu. H3LIS331DL ni sensa ya kuongeza kasi ya dijiti triaxial ambayo imejumuishwa na mwendo wa akili wa-chip uliosababisha mdhibiti wa usumbufu.

Ilipendekeza: