Satura rādītājs:
- 1. darbība: BMG160 pārskats:
- 2. solis: kas jums nepieciešams..
- 3. darbība. Aparatūras savienošana:
- 4. solis: 3 asu žiroskopa mērīšana Arduino kods:
- 5. darbība. Lietojumprogrammas:
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:52
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 darbu ar Arduino Nano.
Aparatūra, kas jums būs nepieciešama šim nolūkam, ir šāda:
1. BMG160
2. Arduino Nano
3. I2C kabelis
4. I2C vairogs Arduino Nano
1. darbība: BMG160 pārskats:
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..
Materiāli, kas nepieciešami mūsu mērķa sasniegšanai, ietver šādas aparatūras sastāvdaļas:
1. BMG160
2. Arduino Nano
3. I2C kabelis
4. I2C vairogs Arduino Nano
3. darbība. Aparatūras savienošana:
Aparatūras savienošanas sadaļa pamatā izskaidro nepieciešamos vadu savienojumus starp sensoru un Arduino. 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īšana Arduino kods:
Sāksim ar arduino kodu tūlīt.
Izmantojot sensoru moduli ar arduino, mēs iekļaujam Wire.h bibliotēku. "Wire" bibliotēkā ir funkcijas, kas atvieglo i2c komunikāciju starp sensoru un arduino plati.
Viss arduino kods lietotāja ērtībai ir norādīts zemāk:
#include // BMG160 I2C adrese ir 0x68 (104)
#define Addr 0x68
anulēts iestatījums ()
{
// Inicializēt I2C komunikāciju kā MASTER
Wire.begin ();
// Inicializēt seriālo komunikāciju, iestatīt pārraides ātrumu = 9600
Sērijas sākums (9600);
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasiet diapazona reģistru
Wire.write (0x0F);
// Pilna skalas diapazona 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 Girometra 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
int xGyro = ((dati [1] * 256) + dati [0]);
int yGyro = ((dati [3] * 256) + dati [2]);
int zGyro = ((dati [5] * 256) + dati [4]);
// Izvadiet datus uz seriālo monitoru
Serial.print ("Rotācijas X ass:");
Serial.println (xGyro); Serial.print ("Y rotācijas ass:");
Sērijas.println (yGyro); Serial.print ("Z rotācijas ass:");
Serial.println (zGyro);
kavēšanās (500);
}
5. darbība. 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:
Žiroskopa sensora kontrolēta platforma labirints mīklai: 3 soļi
Žiroskopa sensora kontrolēta platforma labirints mīklai: šī pamācība tika izveidota, izpildot Dienvidfloridas Universitātes kursa Make prasību par projektu (www.makecourse.com). "Šis vienkāršais projekts, ko iedvesmojusi pašbalansējoša platforma, kas ņem atsauksmes no akselerācijas
3 asu žiroskopa sensora BMG160 saskarne ar Raspberry Pi: 5 soļi
Trīs asu žiroskopa sensora BMG160 saskarne ar Raspberry Pi: 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 kustību noteikšanas nozīmi. šajā domēnā. Arī mēs bijām pārsteigti par to pašu
3 asu žiroskopa sensora BMG160 saskarne ar daļiņu: 5 soļi
Trīs asu žiroskopa sensora BMG160 saskarne ar daļiņām: 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 kustības uztveres nozīmi. šo domēnu. Arī mēs bijām pārsteigti par to pašu
MPU6050-akselerometrs+žiroskopa sensora pamati: 3 soļi
MPU6050-akselerometrs+žiroskopa sensora pamati: MPU6050 ir ļoti noderīgs sensors. MPU 6050 ir IMU: inerciāla mērvienība (IMU) ir elektroniska ierīce, kas mēra un ziņo par ķermeņa īpašo spēku, leņķisko ātrumu un dažreiz arī orientāciju ķermeņa, izmantojot kombināciju
6 asu sensora modulis FSP200 Kalibrēšana un pārbaude: 6 soļi
6 asu sensora moduļa FSP200 kalibrēšana un pārbaude: FSP200 ir 6 asu inerciālās mērvienības procesors, kas nodrošina virziena un virziena izvadi. Tas veic akselerometra un žiroskopu sensoru saplūšanu, lai nodrošinātu stabilu un precīzu virzienu un virzienu. FSP200 ir piemērots lietošanai robotizētā