Orodha ya maudhui:

Kuingiliana kwa Sensor ya Gyroscope ya 3-Axis BMG160 Na Arduino Nano: Hatua 5
Kuingiliana kwa Sensor ya Gyroscope ya 3-Axis BMG160 Na Arduino Nano: Hatua 5

Video: Kuingiliana kwa Sensor ya Gyroscope ya 3-Axis BMG160 Na Arduino Nano: Hatua 5

Video: Kuingiliana kwa Sensor ya Gyroscope ya 3-Axis BMG160 Na Arduino Nano: Hatua 5
Video: How to use MPU-9250 Gyroscope, Accelerometer, Magnetometer for Arduino 2024, Novemba
Anonim
Image
Image

Katika ulimwengu wa leo, zaidi ya nusu ya vijana na watoto wanapenda michezo ya kubahatisha na wale wote wanaopenda, wanavutiwa na mambo ya kiufundi ya uchezaji wanajua umuhimu wa kuhisi mwendo katika uwanja huu. Tulishangazwa pia na kitu hicho hicho na kuileta tu kwenye bodi, tulifikiria kufanya kazi kwa sensa ya gyroscope ambayo inaweza kupima kiwango cha angular cha kitu chochote. Kwa hivyo, sensa tuliyochukua kushughulikia kazi hiyo ni BMG160. BMG160 ni sensorer 16-bit, digital, triaxial, gyroscope ambayo inaweza kupima kiwango cha angular katika vipimo vitatu vya chumba.

Katika mafunzo haya, tutaonyesha kazi ya BMG160 na Arduino Nano.

Vifaa ambavyo utahitaji kwa kusudi hili ni kama ifuatavyo:

1. BMG160

2. Arduino Nano

3. Cable ya I2C

4. I2C Ngao Kwa Arduino Nano

Hatua ya 1: Muhtasari wa BMG160:

Unachohitaji..!!
Unachohitaji..!!

Kwanza kabisa tungependa kukujulisha na sifa za msingi za moduli ya sensorer ambayo ni BMG160 na itifaki ya mawasiliano ambayo inafanya kazi.

BMG160 kimsingi ni sensa ya 16-bit, dijiti, triaxial, gyroscope ambayo inaweza kupima viwango vya angular. Ina uwezo wa kuhesabu viwango vya angular katika vipimo vitatu vya chumba, x-, y- na z-mhimili, na kutoa ishara zinazofanana za pato. Inaweza kuwasiliana na bodi ya rasipberry pi kutumia itifaki ya mawasiliano ya I2C. Moduli hii imeundwa kukidhi mahitaji ya matumizi ya watumiaji na pia madhumuni ya viwanda.

Itifaki ya mawasiliano ambayo sensor inafanya kazi ni I2C. I2C inasimama kwa mzunguko uliounganishwa. Ni itifaki ya mawasiliano ambayo mawasiliano hufanyika kupitia SDA (data ya serial) na mistari ya SCL (saa ya serial). Inaruhusu kuunganisha vifaa vingi kwa wakati mmoja. Ni mojawapo ya itifaki rahisi na bora zaidi ya mawasiliano.

Hatua ya 2: Unachohitaji.. !

Unachohitaji..!!
Unachohitaji..!!
Unachohitaji..!!
Unachohitaji..!!
Unachohitaji..!!
Unachohitaji..!!

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

1. BMG160

2. Arduino Nano

3. Cable ya I2C

4. I2C Shield kwa Arduino Nano

Hatua ya 3: 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 Arduino. Kuhakikisha unganisho sahihi ni hitaji la msingi wakati unafanya kazi kwenye mfumo wowote wa pato unalotaka. Kwa hivyo, viunganisho vinavyohitajika ni kama ifuatavyo.

BMG160 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 4: 3-Axis Gyroscope kipimo Arduino Code:

Kipimo cha 3-Axis Gyroscope Code Arduino
Kipimo cha 3-Axis Gyroscope Code Arduino
Kipimo cha 3-Axis Gyroscope Code Arduino
Kipimo cha 3-Axis Gyroscope Code Arduino

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

# ni pamoja na // BMG160 Anwani ya I2C ni 0x68 (104)

#fafanua Kijalizo 0x68

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 Masafa

Andika waya (0x0F);

// Sanidi kiwango kamili cha 2000 dps

Andika waya (0x80);

// Acha Uhamisho wa I2C

Uwasilishaji wa waya ();

// Anza Uhamisho wa I2C

Uwasilishaji wa waya (Addr);

// Chagua rejista ya Bandwidth

Andika waya (0x10);

// Weka bandwidth = 200 Hz

Andika waya (0x04);

// Acha Uhamisho wa I2C

Uwasilishaji wa waya ();

kuchelewesha (300);

}

kitanzi batili ()

{

data isiyoingia [6];

// Anza Uhamisho wa I2C

Uwasilishaji wa waya (Addr);

// Chagua sajili ya data ya Gyrometer

Andika waya (0x02);

// Acha Uhamisho wa I2C

Uwasilishaji wa waya ();

// Omba ka 6 za data

Ombi la Wire. Toka (Addr, 6);

// Soma ka 6 za data

// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro 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

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

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

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

// data ya Pato kwa mfuatiliaji wa serial

Serial.print ("X-Axis ya Mzunguko:");

Serial.println (xGyro); Serial.print ("Y-Axis ya Mzunguko:");

Serial.println (yGyro); Serial.print ("Z-Axis ya Mzunguko:");

Serial.println (zGyro);

kuchelewesha (500);

}

Hatua ya 5: Maombi:

Maombi
Maombi

BMG160 ina idadi anuwai ya matumizi katika vifaa kama simu za rununu, vifaa vya kiunganishi vya mashine ya binadamu. Moduli hii ya sensorer imeundwa kukidhi mahitaji ya matumizi ya watumiaji kama vile utulivu wa picha (DSC na kamera-simu), vifaa vya michezo ya kubahatisha na kuelekeza. Inatumika pia katika mifumo ambayo inahitaji utambuzi wa ishara na mifumo inayotumika katika urambazaji wa ndani.

Ilipendekeza: