Isi kandungan:
- Langkah 1: Perkakasan Diperlukan:
- Langkah 2: Penyambungan Perkakasan:
- Langkah 3: Kod untuk Pengukuran Pecutan:
- Langkah 4: Aplikasi:
Video: Pengukuran Pecutan Menggunakan ADXL345 dan Foton Partikel: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
ADXL345 adalah akselerometer 3-paksi kecil, tipis, kuasa ultra kecil dengan ukuran resolusi tinggi (13-bit) hingga ± 16 g. Data output digital diformat sebagai pelengkap dua-bit 16-bit dan dapat diakses melalui antara muka digital I2 C. Ini mengukur percepatan graviti statik dalam aplikasi penginderaan kecondongan, serta percepatan dinamis yang dihasilkan dari gerakan atau kejutan. Resolusi tinggi (3.9 mg / LSB) memungkinkan pengukuran perubahan kecenderungan kurang dari 1.0 °.
Dalam tutorial ini antara muka modul sensor ADXL345 dengan foton zarah telah digambarkan. Untuk membaca nilai pecutan, kami telah menggunakan partikel dengan penyesuai I2c. Penyesuai I2C ini menjadikan sambungan ke modul sensor mudah dan lebih dipercayai.
Langkah 1: Perkakasan Diperlukan:
Bahan yang kami perlukan untuk mencapai tujuan kami merangkumi komponen perkakasan berikut:
1. ADXL345
2. Foton Zarah
3. Kabel I2C
4. Perisai I2C untuk foton zarah
Langkah 2: Penyambungan Perkakasan:
Bahagian penyambungan perkakasan pada dasarnya menerangkan sambungan pendawaian yang diperlukan antara sensor dan foton zarah. Memastikan sambungan yang betul adalah keperluan asas semasa mengerjakan sistem apa pun untuk output yang diinginkan. Jadi, sambungan yang diperlukan adalah seperti berikut:
ADXL345 akan berfungsi menggunakan I2C. Berikut adalah contoh rajah pendawaian, yang menunjukkan cara memasang setiap antara muka sensor.
Di luar kotak, papan dikonfigurasikan untuk antara muka I2C, oleh itu kami mengesyorkan menggunakan penyambungan ini jika anda tidak agnostik.
Yang anda perlukan hanyalah empat wayar! Hanya diperlukan empat sambungan pin Vcc, Gnd, SCL dan SDA dan ini disambungkan dengan bantuan kabel I2C.
Sambungan ini ditunjukkan dalam gambar di atas.
Langkah 3: Kod untuk Pengukuran Pecutan:
Mari mulakan dengan kod zarah sekarang.
Semasa menggunakan modul sensor dengan partikel, kami menyertakan library application.h dan spark_wiring_i2c.h. Perpustakaan "application.h" dan spark_wiring_i2c.h mengandungi fungsi yang memudahkan komunikasi i2c antara sensor dan zarah.
Keseluruhan kod zarah diberikan di bawah untuk kemudahan pengguna:
#sertakan
#sertakan
// Alamat ADXL345 I2C adalah 0x53 (83)
#tentukan Addr 0x53
int xAccl = 0, yAccl = 0, zAccl = 0;
persediaan tidak sah ()
{
// Tetapkan pemboleh ubah
Particle.variable ("i2cdevice", "ADXL345");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// Memulakan komunikasi I2C sebagai MASTER
Wire.begin ();
// Mulakan komunikasi bersiri, tetapkan kadar baud = 9600
Serial.begin (9600);
// Mulakan penghantaran I2C
Wire.beginTransmission (Addr);
// Pilih daftar kadar lebar jalur
Wire.write (0x2C);
// Pilih kadar data output = 100 Hz
Wire.write (0x0A);
// Hentikan Penghantaran I2C
Wire.endTransmission ();
// Mulakan penghantaran I2C
Wire.beginTransmission (Addr);
// Pilih daftar kawalan kuasa
Wire.write (0x2D);
// Pilih matikan tidur automatik
Wire.write (0x08);
// Hentikan penghantaran I2C
Wire.endTransmission ();
// Mulakan penghantaran I2C
Wire.beginTransmission (Addr);
// Pilih daftar format data
Wire.write (0x31);
// Pilih resolusi penuh, +/- 2g
Wire.write (0x08);
// Tamatkan penghantaran I2C
Wire.endTransmission ();
kelewatan (300);
}
gelung kosong ()
{
data int yang tidak ditandatangani [6];
untuk (int i = 0; i <6; i ++)
{
// Mulakan penghantaran I2C
Wire.beginTransmission (Addr);
// Pilih daftar data
Wire.write ((50 + i));
// Hentikan penghantaran I2C
Wire.endTransmission ();
// Minta 1 bait data dari peranti
Wire.requestFrom (Addr, 1);
// Baca 6 bait data
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
jika (Wire.available () == 1)
{
data = Wire.read ();
}
kelewatan (300);
}
// Tukarkan data menjadi 10-bit
int xAccl = (((data [1] & 0x03) * 256) + data [0]);
jika (xAccl> 511)
{
xAccl - = 1024;
}
int yAccl = (((data [3] & 0x03) * 256) + data [2]);
jika (yAccl> 511)
{
yAccl - = 1024;
}
int zAccl = (((data [5] & 0x03) * 256) + data [4]);
jika (zAccl> 511)
{
zAccl - = 1024;
}
// Keluarkan data ke papan pemuka
Particle.publish ("Pecutan dalam X-Axis adalah:", String (xAccl));
Particle.publish ("Pecutan dalam Y-Axis adalah:", String (yAccl));
Particle.publish ("Pecutan dalam Z-Axis adalah:", String (zAccl));
}
Fungsi Particle.variable () mencipta pemboleh ubah untuk menyimpan output sensor dan fungsi Particle.publish () memaparkan output di papan pemuka laman web.
Output sensor ditunjukkan dalam gambar di atas untuk rujukan anda.
Langkah 4: Aplikasi:
ADXL345 adalah kecil, tipis, daya ultralow, akselerometer 3-paksi yang dapat digunakan di Handset, alat perubatan dll. Aplikasinya juga merangkumi Perisian permainan dan penunjuk, Instrumentasi industri, Peranti navigasi peribadi dan perlindungan cakera keras (HDD).
Disyorkan:
Pengukuran Pecutan Menggunakan H3LIS331DL dan Arduino Nano: 4 Langkah
Pengukuran Percepatan Menggunakan H3LIS331DL dan Arduino Nano: H3LIS331DL, adalah akselerometer linear 3-paksi berprestasi tinggi kuasa rendah milik keluarga "nano", dengan antara muka siri I²C digital. H3LIS331DL mempunyai skala penuh yang boleh dipilih pengguna ± 100g / ± 200g / ± 400g dan mampu mengukur pecutan dengan
Pengukuran Pecutan Menggunakan H3LIS331DL dan Zarah Foton: 4 Langkah
Pengukuran Pecutan Menggunakan H3LIS331DL dan Foton Partikel: H3LIS331DL, adalah akselerometer linear 3-paksi berprestasi tinggi kuasa rendah milik keluarga "nano", dengan antara muka siri I²C digital. H3LIS331DL mempunyai skala penuh yang boleh dipilih pengguna ± 100g / ± 200g / ± 400g dan mampu mengukur pecutan dengan
Pengukuran Pecutan Menggunakan ADXL345 dan Raspberry Pi: 4 Langkah
Pengukuran Pecutan Menggunakan ADXL345 dan Raspberry Pi: ADXL345 adalah kecil, tipis, kuasa ultralow, akselerator 3-paksi dengan pengukuran resolusi tinggi (13-bit) hingga ± 16 g. Data output digital diformat sebagai pelengkap dua-bit 16-bit dan dapat diakses melalui antara muka digital I2 C. Mengukur
Pengukuran Pecutan Menggunakan ADXL345 dan Arduino Nano: 4 Langkah
Pengukuran Pecutan Menggunakan ADXL345 dan Arduino Nano: ADXL345 adalah kecil, nipis, kuasa ultralow, akselerator 3-paksi dengan pengukuran resolusi tinggi (13-bit) hingga ± 16 g. Data output digital diformat sebagai pelengkap dua-bit 16-bit dan dapat diakses melalui antara muka digital I2 C. Mengukur
Pengukuran Pecutan Menggunakan BMA250 dan Foton Zarah: 4 Langkah
Pengukuran Pecutan Menggunakan BMA250 dan Foton Partikel: BMA250 adalah kecil, nipis, kuasa ultralow, akselerator 3 paksi dengan pengukuran resolusi tinggi (13-bit) hingga ± 16 g. Data output digital diformat sebagai pelengkap dua-bit 16-bit dan dapat diakses melalui antara muka digital I2C. Mengukur statik