Orodha ya maudhui:

Kipimo cha kuongeza kasi Kutumia BMA250 na Particle Photon: 4 Hatua
Kipimo cha kuongeza kasi Kutumia BMA250 na Particle Photon: 4 Hatua

Video: Kipimo cha kuongeza kasi Kutumia BMA250 na Particle Photon: 4 Hatua

Video: Kipimo cha kuongeza kasi Kutumia BMA250 na Particle Photon: 4 Hatua
Video: 🛜Neil Degrasse Tyson, WRONG about Tesla?!? 🛜 ​⁠@joerogan (30min) 2024, Novemba
Anonim
Image
Image

BMA250 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 hupatikana kupitia I2C 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 tutapima uharakishaji katika shoka zote tatu zinazoendana kwa kutumia BMA250 na Particle photon.

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

2. Particle Photon

3. Cable ya I2C

4. I2C Shield kwa Particle 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.

BMA250 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 Kupima Kuongeza kasi:

Nambari ya Kupima Kuharakisha
Nambari ya Kupima 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 BMA250 I2C ni 0x18 (24)

#fafanua Addr 0x18

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

kuanzisha batili ()

{

// Weka tofauti

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

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 sajili ya uteuzi wa anuwai

Andika waya (0x0F);

// Weka safu +/- 2g

Andika waya (0x03);

// Acha Uhamisho wa I2C

Uwasilishaji wa waya ();

// Anza Uhamisho wa I2C

Uwasilishaji wa waya (Addr);

// Chagua rejista ya kipimo data

Andika waya (0x10);

// Weka bandwidth 7.81 Hz

Andika waya (0x08);

// Acha Uhamisho wa I2C

Uwasilishaji wa waya ();

kuchelewesha (300);}

kitanzi batili ()

{

data isiyoingia [0];

// Anza Uhamisho wa I2C

Uwasilishaji wa waya (Addr);

// Chagua Sajili za Takwimu (0x02 - 0x07)

Andika waya (0x02);

// Acha Uhamisho wa I2C

Uwasilishaji wa waya ();

// Omba 6 ka

Ombi la Wire. Toka (Addr, 6);

// Soma ka sita

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

ikiwa (Waya haipatikani () == 6)

{

data [0] = Wire.read ();

data [1] = soma kwa waya ();

data [2] = soma kwa waya ();

data [3] = soma kwa waya ();

data [4] = soma kwa waya ();

data [5] = soma kwa waya ();

}

kuchelewesha (300);

// Badilisha data iwe bits 10

xAccl = ((data [1] * 256) + (data [0] & 0xC0)) / 64;

ikiwa (xAccl> 511)

{

xAccl - = 1024;

}

yAccl = ((data [3] * 256) + (data [2] & 0xC0)) / 64;

ikiwa (yAccl> 511)

{

yAccl - = 1024;

}

zAccl = ((data [5] * 256) + (data [4] & 0xC0)) / 64;

ikiwa (zAccl> 511)

{

zAccl - = 1024;

}

// Pato la data kwenye dashibodi

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

kuchelewesha (1000);

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

kuchelewesha (1000);

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

kuchelewesha (1000);

}

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 BMA250 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. BMA250 ni sensa ya kuongeza kasi ya dijiti triaxial ambayo imejumuishwa na mwendo wa akili wa-chip uliosababisha mdhibiti wa usumbufu.

Ilipendekeza: