Satura rādītājs:
- 1. darbība. Nepieciešamā aparatūra:
- 2. darbība. Aparatūras savienošana:
- 3. darbība. Paātrinājuma mērīšanas kods:
- 4. darbība. Lietojumprogrammas:
Video: Paātrinājuma mērīšana, izmantojot BMA250 un daļiņu fotonu: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
BMA250 ir mazs, plāns, īpaši zems jauda, 3 asu akselerometrs ar augstas izšķirtspējas (13 bitu) mērījumu līdz ± 16 g. Digitālie izvaddati tiek formatēti kā 16 bitu papildinājumi, un tie ir pieejami, izmantojot I2C digitālo interfeisu. Tas mēra statisko gravitācijas paātrinājumu slīpuma noteikšanas lietojumos, kā arī dinamisku paātrinājumu, ko rada kustība vai trieciens. Tā augstā izšķirtspēja (3,9 mg/LSB) ļauj izmērīt slīpuma izmaiņas, kas ir mazākas par 1,0 °.
Šajā apmācībā mēs izmērīsim paātrinājumu visās trīs perpendikulārajās asīs, izmantojot BMA250 un daļiņu fotonu.
1. darbība. Nepieciešamā aparatūra:
Materiāli, kas nepieciešami mūsu mērķa sasniegšanai, ietver šādas aparatūras sastāvdaļas:
1. BMA250
2. Daļiņu fotons
3. I2C kabelis
4. I2C vairogs daļiņu fotonam
2. darbība. Aparatūras savienošana:
Aparatūras savienošanas sadaļa pamatā izskaidro nepieciešamos vadu savienojumus starp sensoru un daļiņu fotonu. 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:
BMA250 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.
3. darbība. Paātrinājuma mērīšanas 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
// BMA250 I2C adrese ir 0x18 (24)
#define Addr 0x18
int xAccl = 0, yAccl = 0, zAccl = 0;
anulēts iestatījums ()
{
// Iestatīt mainīgo
Particle.variable ("i2cdevice", "BMA250");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// 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);
// Atlasīt diapazona izvēles reģistru
Wire.write (0x0F);
// Iestatīt diapazonu +/- 2g
Wire.write (0x03);
// 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 7,81 Hz
Wire.write (0x08);
// Apturēt I2C pārraidi
Wire.endTransmission ();
kavēšanās (300);}
tukša cilpa ()
{
neparakstīti int dati [0];
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasīt datu reģistrus (0x02 - 0x07)
Wire.write (0x02);
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Pieprasīt 6 baitus
Wire.requestFrom (Addr, 6);
// Izlasiet sešus baitus
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl 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);
// Pārvērst datus par 10 bitiem
xAccl = ((dati [1] * 256) + (dati [0] un 0xC0)) / 64;
ja (xAccl> 511)
{
xAccl -= 1024;
}
yAccl = ((dati [3] * 256) + (dati [2] un 0xC0)) / 64;
ja (yAccl> 511)
{
yAccl -= 1024;
}
zAccl = ((dati [5] * 256) + (dati [4] un 0xC0)) / 64;
ja (zAccl> 511)
{
zAccl -= 1024;
}
// Izvadiet datus informācijas panelī
Particle.publish ("Paātrinājums X-asī:", String (xAccl));
kavēšanās (1000);
Particle.publish ("Paātrinājums Y-asī:", String (yAccl));
kavēšanās (1000);
Particle.publish ("Paātrinājums Z-asī:", String (zAccl));
kavēšanās (1000);
}
Funkcija Particle.variable () izveido mainīgos, lai saglabātu sensora izvadi, un Particle.publish () funkcija parāda izvadi vietnes informācijas panelī.
Sensora izeja ir parādīta attēlā iepriekš.
4. darbība. Lietojumprogrammas:
Akselerometri, piemēram, BMA250, galvenokārt tiek izmantoti spēlēs un displeja profila pārslēgšanā. Šis sensora modulis tiek izmantots arī uzlabotajā enerģijas pārvaldības sistēmā mobilajām lietojumprogrammām. BMA250 ir trīsasu digitālais paātrinājuma sensors, kas ir apvienots ar inteliģentu mikroshēmas kustības izraisītu pārtraukuma kontrolieri.
Ieteicams:
Paātrinājuma mērīšana, izmantojot ADXL345 un daļiņu fotonu: 4 soļi
Paātrinājuma mērīšana, izmantojot ADXL345 un daļiņu fotonu: ADXL345 ir mazs, plāns, īpaši zems jauda, 3 asu akselerometrs ar augstas izšķirtspējas (13 bitu) mērījumu līdz ± 16 g. Digitālie izvaddati tiek formatēti kā 16 bitu papildinājumi, un tie ir pieejami, izmantojot I2 C digitālo saskarni. Tas mēra
Magnētiskā lauka mērīšana, izmantojot HMC5883 un daļiņu fotonu: 4 soļi
Magnētiskā lauka mērīšana, izmantojot HMC5883 un daļiņu fotonu: HMC5883 ir digitāls kompass, kas paredzēts zema lauka magnētiskai uztveršanai. Šai ierīcei ir plašs magnētiskā lauka diapazons +/- 8 Oe un izejas ātrums 160 Hz. HMC5883 sensora komplektā ietilpst automātiskie atdalīšanas siksnu draiveri, nobīdes atcelšana un
Paātrinājuma mērīšana, izmantojot H3LIS331DL un daļiņu fotonu: 4 soļi
Paātrinājuma mērīšana, izmantojot H3LIS331DL un daļiņu fotonu: H3LIS331DL ir mazjaudas augstas veiktspējas 3 asu lineārs akselerometrs, kas pieder “nano” saimei, ar digitālo I²C sērijas interfeisu. H3LIS331DL ir lietotāja atlasītas pilnas skalas ± 100 g/± 200 g/± 400 g, un tas spēj izmērīt paātrinājumus
Paātrinājuma mērīšana, izmantojot BMA250 un Arduino Nano: 4 soļi
Paātrinājuma mērīšana, izmantojot BMA250 un Arduino Nano: BMA250 ir mazs, plāns, īpaši zems jaudas 3 asu akselerometrs ar augstas izšķirtspējas (13 bitu) mērījumu līdz ± 16 g. Digitālie izvaddati tiek formatēti kā 16 bitu papildinājumi, un tie ir pieejami, izmantojot I2C digitālo interfeisu. Tas mēra statisko
Paātrinājuma mērīšana, izmantojot BMA250 un Raspberry Pi: 4 soļi
Paātrinājuma mērīšana, izmantojot BMA250 un Raspberry Pi: BMA250 ir mazs, plāns, īpaši zems jaudas trīs asu akselerometrs ar augstas izšķirtspējas (13 bitu) mērījumu līdz ± 16 g. Digitālie izvaddati tiek formatēti kā 16 bitu papildinājumi, un tie ir pieejami, izmantojot I2C digitālo interfeisu. Tas mēra statisko