Orodha ya maudhui:

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

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

Video: Upimaji wa Kuharakisha Kutumia ADXL345 na Particle Photon: 4 Hatua
Video: Как использовать акселерометр и гироскоп MPU-6050 с кодом Arduino 2024, Novemba
Anonim
Image
Image

ADXL345 ni nguvu ndogo, nyembamba, nguvu ya mwisho, 3-axis accelerometer na azimio la juu (13-bit) kipimo hadi ± 16 g. Takwimu za pato la dijiti zimepangwa kama vijazo 16-bit vinavyosaidia na inapatikana kupitia I2 C interface ya dijiti. Inapima kasi ya kasi ya mvuto katika programu-kuhisi matumizi, na pia kasi ya nguvu inayosababishwa na mwendo au mshtuko. Azimio lake kubwa (3.9 mg / LSB) huwezesha kipimo cha mabadiliko ya mwelekeo chini ya 1.0 °.

Katika mafunzo haya ujumuishaji wa moduli ya sensorer ya ADXL345 na chembe chembe imeonyeshwa. Ili kusoma maadili ya kuongeza kasi, tumetumia chembe na adapta ya I2c. Adapter hii ya I2C inafanya unganisho kwa moduli ya sensa iwe rahisi na ya kuaminika zaidi.

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. ADXL345

2. Particle Photon

3. Cable ya I2C

4. I2C Shield kwa chembe photon

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.

ADXL345 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:

Kanuni ya Upimaji wa Kuharakisha
Kanuni ya Upimaji wa Kuharakisha

Hebu tuanze na nambari ya chembe sasa.

Wakati wa kutumia moduli ya sensorer na chembe, 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 ADXL345 I2C ni 0x53 (83)

#fafanua Addr 0x53

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

kuanzisha batili ()

{

// Weka tofauti

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

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);

// Anzisha usambazaji wa I2C

Uwasilishaji wa waya (Addr);

// Chagua rejista ya kiwango cha kipimo data

Andika waya (0x2C);

// Chagua kiwango cha data ya pato = 100 Hz

Andika waya (0x0A);

// Acha Uhamisho wa I2C

Uwasilishaji wa waya ();

// Anzisha usambazaji wa I2C

Uwasilishaji wa waya (Addr);

// Chagua rejista ya kudhibiti nguvu

Andika waya (0x2D);

// Chagua kulala usingizi kiotomatiki

Andika waya (0x08);

// Acha usambazaji wa I2C

Uwasilishaji wa waya ();

// Anzisha usambazaji wa I2C

Uwasilishaji wa waya (Addr);

// Chagua rejista ya fomati ya data

Andika waya (0x31);

// Chagua azimio kamili, +/- 2g

Andika waya (0x08);

// Mwisho wa usambazaji wa I2C

Uwasilishaji wa waya ();

kuchelewesha (300);

}

kitanzi batili ()

{

data isiyoingia [6];

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

{

// Anzisha usambazaji wa I2C

Uwasilishaji wa waya (Addr);

// Chagua rejista ya data

Andika waya ((50 + i));

// Acha usambazaji wa I2C

Uwasilishaji wa waya ();

// Omba 1 byte ya data kutoka kwa kifaa

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 iwe 10-bits

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

ikiwa (xAccl> 511)

{

xAccl - = 1024;

}

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

ikiwa (yAccl> 511)

{

yAccl - = 1024;

}

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

ikiwa (zAccl> 511)

{

zAccl - = 1024;

}

// 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));

}

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

ADXL345 ni nguvu ndogo, nyembamba, nguvu ya mwendo wa kasi, 3-axis accelerometer ambayo inaweza kuajiriwa kwenye vifaa vya mkono, vifaa vya matibabu n.k Maombi yake pia yanajumuisha vifaa vya Michezo ya Kubahatisha na kuelekeza, vifaa vya Viwanda, vifaa vya urambazaji wa kibinafsi na ulinzi wa Hard disk drive (HDD).

Ilipendekeza: