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 ADXL345 un Arduino Nano: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
ADXL345 ir mazs, plāns, īpaši mazas 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 I2 C digitālo saskarni. 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ā ir parādīta ADXL345 sensora moduļa saskarne ar arduino nano. Lai nolasītu paātrinājuma vērtības, mēs esam izmantojuši arduino ar I2c adapteri. Šis I2C adapteris padara savienojumu ar sensora moduli vieglu un uzticamāku.
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. ADXL345
2. Arduino Nano
3. I2C kabelis
4. I2C vairogs Arduino Nano
2. darbība. Aparatūras savienošana:
Aparatūras savienošanas sadaļa pamatā izskaidro nepieciešamos vadu savienojumus starp sensoru un arduino nano. 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:
ADXL345 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 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:
#iekļaut
// ADXL345 I2C adrese ir 0x53 (83)
#define Addr 0x53
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 joslas platuma likmju reģistru
Wire.write (0x2C);
// Normālais režīms, izejas datu pārraides ātrums = 100 Hz
Wire.write (0x0A);
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasiet jaudas kontroles reģistru
Wire.write (0x2D);
// Automātiskā miega režīma atspējošana
Wire.write (0x08);
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasīt datu formāta reģistru
Wire.write (0x31);
// Pašpārbaude atspējota, 4 vadu interfeiss, pilna izšķirtspēja, diapazons = +/- 2 g
Wire.write (0x08);
// Apturēt I2C pārraidi
Wire.endTransmission ();
kavēšanās (300);
}
tukša cilpa ()
{
neparakstīti int dati [6];
par (int i = 0; i <6; i ++)
{
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasiet datu reģistru
Wire.write ((50 + i));
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Pieprasīt 1 baitu datu
Wire.requestFrom (Addr, 1);
// Lasīt 6 baitus datu
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
ja (Wire.available () == 1)
{
dati = Wire.read ();
}
}
// Pārvērst datus par 10 bitiem
int xAccl = (((dati [1] & 0x03) * 256) + dati [0]);
ja (xAccl> 511)
{
xAccl -= 1024;
}
int yAccl = (((dati [3] & 0x03) * 256) + dati [2]);
ja (yAccl> 511)
{
yAccl -= 1024;
}
int zAccl = (((dati [5] & 0x03) * 256) + dati [4]);
ja (zAccl> 511)
{
zAccl -= 1024;
}
// Izvadiet datus uz seriālo monitoru
Serial.print ("Paātrinājums X-asī ir:");
Serial.println (xAccl);
Serial.print ("Paātrinājums Y-asī ir:");
Serial.println (yAccl);
Serial.print ("Paātrinājums Z-asī ir:");
Serial.println (zAccl);
kavēšanās (300);
}
Vadu bibliotēkā Wire.write () un Wire.read () tiek izmantotas komandu rakstīšanai un sensora izejas nolasīšanai.
Serial.print () un Serial.println () tiek izmantoti, lai parādītu sensora izvadi Arduino IDE sērijas monitorā.
Sensora izeja ir parādīta attēlā iepriekš.
4. darbība. Lietojumprogrammas:
ADXL345 ir mazs, plāns, īpaši zems jauda, 3 asu akselerometrs, ko var izmantot tālruņos, medicīnas instrumentos uc
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
Paātrinājuma mērīšana, izmantojot H3LIS331DL un Arduino Nano: 4 soļi
Paātrinājuma mērīšana, izmantojot H3LIS331DL un Arduino Nano: 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 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 ADXL345 un Raspberry Pi: 4 soļi
Paātrinājuma mērīšana, izmantojot ADXL345 un Raspberry Pi: ADXL345 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 I2 C digitālo saskarni. Tas mēra
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