
Isi kandungan:
2025 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2025-01-23 15:01

Dalam pelajaran ini, kita akan belajar bagaimana menggunakan sensor pecutan ADXL345.
Langkah 1: Komponen
- Papan Arduino Uno * 1
- Kabel USB * 1
- ADXL345 * 1
- Papan Roti * 1
- Wayar pelompat
Langkah 2: Prinsip
Accelerometer digunakan untuk mengukur daya yang dihasilkan semasa pecutan. Yang paling mendasar adalah pecutan graviti yang biasa diketahui iaitu 1g.
Dengan mengukur pecutan yang disebabkan oleh graviti, anda dapat mengira sudut kecondongan peranti ke permukaan yang rata. Dengan menganalisis pecutan dinamik, anda dapat mengetahui cara peranti bergerak. Sebagai contoh, papan pengimbang diri atau papan hover menggunakan sensor pecutan dan giroskop untuk penapis Kalman dan pembetulan postur.
ADXL345
ADXL345 adalah akselerometer 3-paksi kecil, nipis, rendah, dengan ukuran resolusi tinggi (13-bit) hingga ± 16 g. Data output digital diformat sebagai pelengkap 16-bit dua dan dapat diakses melalui antara muka digital SPI (3- atau 4-wayar) atau I2C. Dalam eksperimen ini, antara muka digital I2C digunakan.
Sangat cocok untuk mengukur percepatan statik gravitasi dalam aplikasi penginderaan kemiringan, serta percepatan dinamis yang dihasilkan dari gerakan atau kejutan. Resolusi tinggi (4 mg / LSB) memungkinkan pengukuran perubahan kecenderungan kurang dari 1.0 °. Dan kepekaan yang sangat baik (3.9mg / LSB @ 2g) memberikan output ketepatan tinggi sehingga ± 16g.
Bagaimana ADXL345 berfungsi
ADXL345 mengesan pecutan dengan komponen penginderaan di bahagian depan, dan kemudian komponen pengesan isyarat elektrik mengubahnya menjadi isyarat elektrik, yang bersifat analog. Seterusnya, penyesuai AD yang disepadukan pada modul akan menukar isyarat analog menjadi digital.
X_OUT, Y_OUT dan Z_OUT masing-masing adalah nilai pada paksi X, Y, dan Z. Letakkan modul menghadap ke atas: Z_OUT boleh mencapai + 1g paling banyak, minimum X_OUT adalah -1g menuju arah Ax, dan minimum Y_OUT adalah -1g ke arah Ay. Sebaliknya, putar modul terbalik: minimum Z_OUT ialah -1g, maksimum X_OUT adalah + 1g menuju arah Ax, dan maksimum Y_OUT adalah + 1g menuju arah Ay., seperti yang ditunjukkan di bawah. Putar modul ADXL345 dan anda akan melihat perubahan tiga nilai.
apabila saluran A berubah dari tahap tinggi ke tahap rendah, jika saluran B berada pada tahap tinggi, ini menunjukkan pengekod putar berputar mengikut arah jam (CW); jika pada saat itu saluran B berada pada tahap rendah, itu bermaksud putaran berlawanan arah jarum jam (CCW). Oleh itu, jika kita membaca nilai saluran B ketika saluran A berada pada tahap rendah, kita dapat mengetahui ke arah mana pengekod putar berputar.
Prinsip: Lihat gambarajah skema modul Rotary Encoder di bawah. Dari situ kita dapat melihat bahawa pin 3 dari pengekod putar, iaitu CLK pada modul, adalah saluran B. Pin 5, yang merupakan DT, adalah saluran A. Untuk mengetahui arah putaran perakam, baca nilai CLK dan DT.
Terdapat cip pengatur voltan 3.3v di litar, jadi anda boleh menghidupkan modul dengan 5V atau 3.3V.
Oleh kerana SDO telah disambungkan ke GND, alamat I2C ADXL345 adalah 0x53, 0xA6 untuk menulis, 0xA7 untuk dibaca
Fungsi Pin Modul ADXL345.
Langkah 3: Prosedur
Langkah 1. Bina litar.
Langkah 2:
Muat turun kod dari
Langkah 3:
Muat naik lakaran ke papan Arduino Uno
Klik ikon Muat Naik untuk memuat naik kod ke papan kawalan.
Sekiranya "Selesai memuat naik" muncul di bahagian bawah tetingkap, ini bermaksud lakaran berjaya dimuat naik.
Setelah memuat naik, buka Serial Monitor, di mana anda dapat melihat data yang dikesan. Apabila pecutan modul berubah, angka akan berubah sesuai pada tetingkap.
Langkah 4: Kod

// ADXL335
/********************************
ADXL335
nota: vcc5v, tetapi ADXL335 Vs adalah 3.3V
Litar:
5V: VCC
analog 0: paksi-x
analog 1: paksi-y
analog 2: paksi-z
Selepas membakar
program, buka tetingkap debug monitor bersiri, di mana anda dapat melihat data yang dikesan sedang dipaparkan. Apabila pecutan berbeza, angka akan berubah sesuai.
*********************************
/ E-mel:
// Laman Web: www.primerobotics.in
const int xpin =
A0; // paksi x pecutan
const int ypin =
A1; // paksi-y
const int zpin =
A2; // paksi-z (hanya pada model 3 paksi)
persediaan tidak sah ()
{
// memulakan komunikasi bersiri:
Serial.begin (9600);
}
gelung kosong ()
{
int x = analogRead (xpin); // baca dari xpin
kelewatan (1); //
int y = analogRead (ypin); // baca dari ypin
kelewatan (1);
int z = analogRead (zpin); // baca dari zpin
apungan zero_G = 338.0; // bekalan kuasa ADXL335
oleh Vs 3.3V: 3.3V / 5V * 1024 = 676/2 = 338
//Serial.print(x);
//Serial.print("\t ");
//Serial.print(y);
//Serial.print("\t ");
//Serial.print(z);
//Serial.print("\n ");
terapung
zero_Gx = 331.5; // output zero_G paksi x: (x_max + x_min) / 2
terapung
zero_Gy = 329.5; // output sifar_G bagi paksi y: (y_max + y_min) / 2
terapung zero_Gz = 340.0; // the
zero_G output paksi z: (z_max + z_min) / 2
skala apungan =
67.6; // bekalan kuasa oleh Vs 3.3V: 3.3v / 5v * 1024 / 3.3v * 330mv / g = 67.6g
skala apungan_x =
65; // skala paksi x: x_max / 3.3v * 330mv / g
skala apungan_y =
68.5; // skala paksi y: y_max / 3.3v * 330mv / g
skala apungan_z =
68; // skala paksi z: z_max / 3.3v * 330mv / g
Cetakan bersiri (((terapung) x
- zero_Gx) / skala_x); // mencetak nilai x pada monitor bersiri
Serial.print ("\ t");
Cetakan bersiri (((terapung) y
- zero_Gy) / skala_y); // mencetak nilai y pada monitor bersiri
Serial.print ("\ t");
Cetakan bersiri (((terapung) z
- zero_Gz) / skala_z); // mencetak nilai z pada monitor bersiri
Cetakan bersiri ("\ n");
kelewatan (1000); // tunggu selama 1 saat
}
Langkah 5: Analisis Kod
Kod untuk eksperimen ADXL345 merangkumi 3 bahagian: memulakan setiap port dan peranti, memperoleh dan menyimpan data yang dihantar dari sensor, dan menukar data.
Disyorkan:
DIY -- Cara Membuat Robot Labah-labah Yang Boleh Dikendalikan Menggunakan Telefon Pintar Menggunakan Arduino Uno: 6 Langkah

DIY || Cara Membuat Robot Labah-labah Yang Boleh Dikendalikan Menggunakan Telefon Pintar Menggunakan Arduino Uno: Semasa membuat robot Labah-labah, seseorang dapat mempelajari banyak perkara mengenai robotik. Seperti membuat Robot adalah Menjamu dan juga mencabar. Dalam video ini kami akan menunjukkan kepada anda bagaimana membuat robot Spider, yang dapat kami gunakan menggunakan telefon pintar kami (Androi
Pengukuran Pecutan Menggunakan ADXL345 dan Foton Partikel: 4 Langkah

Pengukuran Pecutan Menggunakan ADXL345 dan Foton Partikel: 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 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
3-Axis Accelerometer, ADXL345 Dengan Raspberry Pi Menggunakan Python: 6 Langkah

3-Axis Accelerometer, ADXL345 Dengan Raspberry Pi Menggunakan Python: Memikirkan alat yang dapat memeriksa titik di mana Offroader anda condong ke arah berlama-lama. Bukankah itu menyenangkan sekiranya seseorang diselaraskan apabila ada kemungkinan terbalik? Jelas ya. Ia akan benar