Isi kandungan:
Video: Tutorial Accelerometer Digital Arduino Nano - MMA8452Q 3-Axis 12-bit / 8-bit: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
MMA8452Q adalah akselerometer pintar, daya rendah, tiga paksi, kapasitif, micromachined dengan resolusi 12 bit. Pilihan yang dapat diprogramkan oleh pengguna yang fleksibel disediakan dengan bantuan fungsi tertanam di akselerometer, yang dapat dikonfigurasi untuk dua pin gangguan. Ia mempunyai skala penuh yang dapat dipilih pengguna ± 2g / ± 4g / ± 8g dengan data saringan lulus tinggi serta data yang tidak ditapis yang tersedia dalam masa nyata. Inilah demonstrasinya dengan Arduino nano.
Langkah 1: Apa yang Anda Perlu..
1. Arduino Nano
2. MMA8452Q
3. Kabel I²C
4. Perisai I²C untuk Arduino Nano
Langkah 2: Sambungan:
Ambil pelindung I2C untuk Arduino Nano dan perlahan-lahan menolaknya ke atas pin Nano.
Kemudian sambungkan satu hujung kabel I2C ke sensor MMA8452Q dan hujung yang lain ke pelindung I2C.
Sambungan ditunjukkan dalam gambar di atas.
Langkah 3: Kod:
Kod arduino untuk MMMA8452Q boleh dimuat turun dari github repositori kami - DCUBE Store.
Inilah pautannya.
Kami menyertakan perpustakaan Wire.h untuk memudahkan komunikasi sensor I2c dengan papan Arduino.
Anda juga boleh menyalin kod dari sini, ia diberikan seperti berikut:
// Diagihkan dengan lesen kehendak bebas.
// Gunakan dengan cara yang anda mahukan, untung atau percuma, dengan syarat ia sesuai dengan lesen karya yang berkaitan.
// MMA8452Q
// Kod ini direka untuk berfungsi dengan Modul Mini MMA8452Q_I2CS I2C.
#sertakan
// Alamat MMA8452Q I2C ialah 0x1C (28)
#tentukan Addr 0x1C
persediaan tidak sah ()
{
// Memulakan komunikasi I2C sebagai MASTER
Wire.begin ();
// Inisialisasi Serial Communication, tetapkan baud rate = 9600
Serial.begin (9600);
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Pilih daftar kawalan
Wire.write (0x2A);
// Mod bersedia
Wire.write (0x00);
// Hentikan Penghantaran I2C
Wire.endTransmission ();
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Pilih daftar kawalan
Wire.write (0x2A);
// Mod aktif
Wire.write (0x01);
// Hentikan Penghantaran I2C
Wire.endTransmission ();
// Mulakan Penghantaran I2C
Wire.beginTransmission (Addr);
// Pilih daftar kawalan
Wire.write (0x0E);
// Tetapkan julat hingga +/- 2g
Wire.write (0x00);
// Hentikan Penghantaran I2C
Wire.endTransmission ();
kelewatan (300);
}
gelung kosong ()
{
data int yang tidak ditandatangani [7];
// Minta 7 bait data
Wire.requestFrom (Addr, 7);
// Baca 7 bait data
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
jika (Wire.available () == 7)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
data [6] = Wire.read ();
}
// Tukarkan data menjadi 12-bit
int xAccl = ((data [1] * 256) + data [2]) / 16;
jika (xAccl> 2047)
{
xAccl - = 4096;
}
int yAccl = ((data [3] * 256) + data [4]) / 16;
jika (yAccl> 2047)
{
yAccl - = 4096;
}
int zAccl = ((data [5] * 256) + data [6]) / 16;
jika (zAccl> 2047)
{
zAccl - = 4096;
}
// Keluarkan data ke monitor bersiri
Serial.print ("Pecutan dalam X-Axis:");
Serial.println (xAccl);
Serial.print ("Pecutan dalam Y-Axis:");
Serial.println (yAccl);
Serial.print ("Pecutan dalam Z-Axis:");
Serial.println (zAccl);
kelewatan (500);
}
Langkah 4: Aplikasi:
MMA8452Q mempunyai pelbagai aplikasi yang merangkumi aplikasi E-Compass, pengesanan orientasi Statik yang menggabungkan Potret / Landskap, Atas / Bawah, Kiri / Kanan, Pengenalan posisi Belakang / Depan, Notebook, e-reader, dan Laptop Tumble and Freefall Detection, Real-time pengesanan orientasi termasuk realiti maya dan maklum balas kedudukan pengguna permainan 3D, analisis aktiviti Masa nyata seperti pengiraan langkah pedometer, pengesanan penurunan jatuh untuk HDD, sandaran GPS yang dikira mati dan banyak lagi.
Disyorkan:
Tutorial Arduino Accelerometer: Mengawal Jambatan Kapal Menggunakan Motor Servo: 5 Langkah
Tutorial Arduino Accelerometer: Mengendalikan Jambatan Kapal Menggunakan Motor Servo: Sensor Accelerometer kini terdapat di kebanyakan telefon pintar kami untuk memberi mereka pelbagai penggunaan dan kemampuan yang kami gunakan setiap hari, tanpa mengetahui bahawa yang bertanggung jawab atasnya adalah accelerometer. Salah satu keupayaan ini adalah
Tutorial Accelerometer CubeSat: 6 Langkah
Tutorial Accelerometer CubeSat: cubesat adalah sejenis satelit miniatur untuk penyelidikan ruang angkasa yang terdiri daripada gandaan 10x10x10 cm unit padu dan jisim tidak lebih dari 1,33 kilogram per unit. Cubesats membolehkan sejumlah besar satelit dihantar ke ruang angkasa dan
Arduino Nano dan Visuino: Tukar Pecutan ke Sudut Dari Accelerometer dan Giroskop Sensor MPU6050 I2C: 8 Langkah (dengan Gambar)
Arduino Nano dan Visuino: Tukar Pecutan ke Sudut Dari Accelerometer dan Giroskop MPU6050 Sensor I2C: Beberapa ketika yang lalu saya menyiarkan tutorial bagaimana anda boleh menghubungkan MPU9250 Accelerometer, Gyroscope dan Compass Sensor ke Arduino Nano dan memprogramkannya dengan Visuino untuk mengirim data paket dan memaparkan pada Skop dan Instrumen Visual. Accelerometer menghantar X, Y
Arduino Nano: Accelerometer Gyroscope Compass Sensor MPU9250 I2C With Visuino: 11 Langkah
Arduino Nano: Accelerometer Gyroscope Compass Sensor MPU9250 I2C Dengan Visuino: MPU9250 adalah salah satu sensor Accelerometer, Giroskop dan Kompas bersaiz kecil yang paling maju yang kini tersedia. Mereka mempunyai banyak ciri canggih, termasuk penapisan lulus rendah, pengesanan gerakan, dan bahkan pemproses khusus yang dapat diprogram
Tutorial Accelerometer & Gyro: 3 Langkah
Tutorial Accelerometer & Gyro: Pendahuluan Panduan ini ditujukan kepada semua orang yang berminat menggunakan Accelerometer dan Giroskop serta peranti IMU gabungan (Unit Pengukuran Inersia) dalam projek elektronik mereka. Kami akan membahas: Apa yang mengukur ukuran pecutan?