Satura rādītājs:

3 asu žiroskopa sensora BMG160 saskarne ar daļiņu: 5 soļi
3 asu žiroskopa sensora BMG160 saskarne ar daļiņu: 5 soļi

Video: 3 asu žiroskopa sensora BMG160 saskarne ar daļiņu: 5 soļi

Video: 3 asu žiroskopa sensora BMG160 saskarne ar daļiņu: 5 soļi
Video: Test Gyroscope Sensor (For Angular Motion important for gaming) of Samsung #shorts #gyroscopesensor 2024, Jūlijs
Anonim
Image
Image

Mūsdienu pasaulē vairāk nekā puse jauniešu un bērnu aizraujas ar spēlēm, un visi, kam tā patīk, aizraujas ar spēļu tehniskajiem aspektiem, zina, cik liela nozīme šajā jomā ir kustību noteikšanai. Mēs arī bijām pārsteigti par to pašu, un, lai to parādītu uz dēļiem, mēs domājām strādāt pie žiroskopa sensora, kas var izmērīt jebkura objekta leņķisko ātrumu. Tātad sensors, kuru mēs izmantojām uzdevuma risināšanai, ir BMG160. BMG160 ir 16 bitu digitāls, triaksiāls žiroskopa sensors, kas var izmērīt leņķisko ātrumu trīs perpendikulāros telpas izmēros.

Šajā apmācībā mēs demonstrēsim BMG160 darbību ar daļiņu fotonu.

Aparatūra, kas jums būs nepieciešama šim nolūkam, ir šāda:

1. BMG160

2. Daļiņu fotons

3. I2C kabelis

4. I2C vairogs daļiņu fotonam

1. darbība: BMG160 pārskats:

Ko tev vajag..!!
Ko tev vajag..!!

Vispirms mēs vēlētos jūs iepazīstināt ar BMG160 sensora moduļa pamatfunkcijām un sakaru protokolu, kurā tas darbojas.

BMG160 būtībā ir 16 bitu digitāls, triaksiāls žiroskopa sensors, kas var izmērīt leņķisko ātrumu. Tas spēj aprēķināt leņķisko ātrumu trīs perpendikulāros telpas izmēros-x, y un z asī un nodrošināt atbilstošos izejas signālus. Tas var sazināties ar aveņu pi plati, izmantojot I2C sakaru protokolu. Šis konkrētais modulis ir izstrādāts, lai apmierinātu prasības attiecībā uz patēriņa lietojumiem, kā arī rūpnieciskiem mērķiem.

Sakaru protokols, kurā darbojas sensors, ir I2C. I2C apzīmē integrēto shēmu. Tas ir sakaru protokols, kurā saziņa notiek, izmantojot SDA (sērijas dati) un SCL (sērijas pulksteņa) līnijas. Tas ļauj vienlaikus savienot vairākas ierīces. Tas ir viens no vienkāršākajiem un efektīvākajiem sakaru protokoliem.

2. solis: kas jums nepieciešams..

Ko tev vajag..!!
Ko tev vajag..!!
Ko tev vajag..!!
Ko tev vajag..!!
Ko tev vajag..!!
Ko tev vajag..!!

Materiāli, kas nepieciešami mūsu mērķa sasniegšanai, ietver šādas aparatūras sastāvdaļas:

1. BMG160

2. Daļiņu fotons

3. I2C kabelis

4. I2C vairogs daļiņu fotonam

3. darbība. Aparatūras savienošana:

Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums
Aparatūras savienojums

Aparatūras savienošanas sadaļa pamatā izskaidro nepieciešamos vadu savienojumus starp sensoru un daļiņu. Pareizu savienojumu nodrošināšana ir pamatvajadzība, strādājot pie jebkuras sistēmas vēlamajam rezultātam. Tātad nepieciešamie savienojumi ir šādi:

BMG160 darbosies, izmantojot I2C. Šeit ir elektroinstalācijas shēmas piemērs, kas parāda, kā savienot katru sensora saskarni.

Izņemot komplektu, tāfele ir konfigurēta I2C saskarnei, tāpēc mēs iesakām izmantot šo savienojumu, ja esat citādi agnostiķis.

Viss, kas Jums nepieciešams, ir četri vadi! Nepieciešami tikai četri savienojumi Vcc, Gnd, SCL un SDA, un tie ir savienoti, izmantojot I2C kabeli.

Šie savienojumi ir parādīti iepriekš redzamajos attēlos.

4. solis: 3 asu žiroskopa mērīšanas daļiņu kods:

3 asu žiroskopa mērīšanas daļiņu kods
3 asu žiroskopa mērīšanas daļiņu kods
3 asu žiroskopa mērīšanas daļiņu kods
3 asu žiroskopa mērīšanas daļiņu kods

Sāksim ar daļiņu kodu tūlīt.

Izmantojot sensoru moduli ar arduino, mēs iekļaujam bibliotēku application.h un spark_wiring_i2c.h. Bibliotēkā "application.h" un spark_wiring_i2c.h ir funkcijas, kas atvieglo i2c komunikāciju starp sensoru un daļiņu.

Viss daļiņu kods lietotāja ērtībai ir norādīts zemāk:

#iekļaut

#iekļaut

// BMG160 I2C adrese ir 0x68 (104)

#define Addr 0x68

int xGyro = 0, yGyro = 0, zGyro = 0;

anulēts iestatījums ()

{

// Iestatīt mainīgo

Particle.variable ("i2cdevice", "BMG160");

Particle.variable ("xGyro", xGyro);

Particle.variable ("yGyro", yGyro);

Particle.variable ("zGyro", zGyro);

// Inicializēt I2C komunikāciju kā MASTER

Wire.begin ();

// Inicializēt seriālo komunikāciju

Sērijas sākums (9600);

// Sākt I2C pārraidi

Wire.beginTransmission (Addr);

// Atlasiet diapazona reģistru

Wire.write (0x0F);

// Pilnas skalas konfigurēšana 2000 dps

Wire.write (0x80);

// Apturēt I2C pārraidi

Wire.endTransmission ();

// Sākt I2C pārraidi

Wire.beginTransmission (Addr);

// Atlasiet joslas platuma reģistru

Wire.write (0x10);

// Iestatīt joslas platumu = 200 Hz

Wire.write (0x04);

// Apturēt I2C pārraidi

Wire.endTransmission ();

kavēšanās (300);

}

tukša cilpa ()

{

neparakstīti int dati [6];

// Sākt I2C pārraidi

Wire.beginTransmission (Addr);

// Atlasiet datu reģistru

Wire.write (0x02);

// Apturēt I2C pārraidi

Wire.endTransmission ();

// Pieprasīt 6 baitus datu

Wire.requestFrom (Addr, 6);

// Lasīt 6 baitus datu

// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb

ja (Wire.available () == 6)

{

dati [0] = Wire.read ();

dati [1] = Wire.read ();

dati [2] = Wire.read ();

dati [3] = Wire.read ();

dati [4] = Wire.read ();

dati [5] = Wire.read ();

}

kavēšanās (300);

// Konvertēt datus

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

ja (xGyro> 32767)

{

xGyro -= 65536;

}

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

ja (yGyro> 32767)

{

yGyro -= 65536;

}

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

ja (zGyro> 32767)

{

zGyro -= 65536;

}

// Izvadiet datus informācijas panelī

Particle.publish ("Rotācijas X ass:", String (xGyro));

Particle.publish ("Rotācijas Y ass:", String (yGyro));

Particle.publish ("Z rotācijas ass:", virkne (zGyro));

kavēšanās (1000);

}

5. darbība. Lietojumprogrammas:

Lietojumprogrammas
Lietojumprogrammas

BMG160 ir dažādas lietojumprogrammas tādās ierīcēs kā mobilie tālruņi, cilvēka un mašīnas saskarnes ierīces. Šis sensora modulis ir izstrādāts, lai atbilstu prasībām, kas attiecas uz tādām patērētāju vajadzībām kā attēlu stabilizācija (DSC un kamera-tālrunis), spēļu un rādītājierīces. To izmanto arī sistēmās, kurām nepieciešama žestu atpazīšana, un sistēmās, ko izmanto iekštelpu navigācijā.

Ieteicams: