Orodha ya maudhui:

Upimaji wa Kuharakisha Kutumia BMA250 na Arduino Nano: Hatua 4
Upimaji wa Kuharakisha Kutumia BMA250 na Arduino Nano: Hatua 4

Video: Upimaji wa Kuharakisha Kutumia BMA250 na Arduino Nano: Hatua 4

Video: Upimaji wa Kuharakisha Kutumia BMA250 na Arduino Nano: Hatua 4
Video: 🟡 POCO X5 PRO - САМЫЙ ДЕТАЛЬНЫЙ ОБЗОР и ТЕСТЫ 2024, Julai
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 kuongeza kasi kwa shoka zote tatu za kutumia kwa kutumia BMA250 na Arduino Nano.

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. Arduino Nano

3. Cable ya I2C

4. I2C Ngao Kwa Arduino Nano

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 uunganisho wa wiring unaohitajika kati ya sensor na arduino. 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 Arduino ya Upimaji wa Kuharakisha:

Nambari ya Arduino ya Upimaji wa Kuharakisha
Nambari ya Arduino ya Upimaji wa Kuharakisha
Nambari ya Arduino ya Upimaji wa Kuharakisha
Nambari ya Arduino ya Upimaji wa Kuharakisha

Wacha tuanze na nambari ya Arduino sasa.

Wakati wa kutumia moduli ya sensorer na Arduino, tunajumuisha maktaba ya Wire.h. Maktaba ya "Waya" ina kazi ambazo zinawezesha mawasiliano ya i2c kati ya sensa na bodi ya Arduino.

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

# pamoja

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

#fafanua Addr 0x18

kuanzisha batili ()

{

// Anzisha mawasiliano ya I2C kama MASTER

Wire.begin ();

// Awali Mawasiliano ya Siri, 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

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

ikiwa (xAccl> 511)

{

xAccl - = 1024;

}

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

ikiwa (yAccl> 511)

{

yAccl - = 1024;

}

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

ikiwa (zAccl> 511)

{

zAccl - = 1024;

}

// data ya Pato kwa mfuatiliaji wa serial

Serial.print ("Kuongeza kasi katika X-Axis:");

Serial.println (xAccl);

Serial.print ("Kuongeza kasi katika Y-Axis:");

Serial.println (yAccl);

Serial.print ("Kuongeza kasi katika Z-Axis:");

Serial.println (zAccl);

}

Katika maktaba ya waya Wire.write () na Wire.read () hutumiwa kuandika amri na kusoma pato la sensorer. Serial.print () na Serial.println () hutumiwa kuonyesha pato la sensorer kwenye mfuatiliaji wa serial wa IDE ya Arduino.

Pato la sensorer linaonyeshwa kwenye picha hapo juu.

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: