Daftar Isi:
Video: Arduino Nano - MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
MMA8452Q adalah akselerometer micromachined yang cerdas, berdaya rendah, tiga sumbu, kapasitif, dengan resolusi 12 bit. Opsi yang dapat diprogram pengguna yang fleksibel disediakan dengan bantuan fungsi tertanam di akselerometer, dapat dikonfigurasi untuk dua pin interupsi. Ini memiliki skala penuh yang dapat dipilih pengguna ±2g/±4g/±8g dengan data terfilter filter high-pass serta data non-filter yang tersedia secara real-time. Berikut adalah demonstrasinya dengan Arduino nano.
Langkah 1: Yang Anda Butuhkan.
1. Arduino Nano
2. MMA8452Q
3. Kabel I²C
4. Perisai I²C untuk Arduino Nano
Langkah 2: Koneksi:
Ambil pelindung I2C untuk Arduino Nano dan dorong perlahan ke pin Nano.
Kemudian sambungkan salah satu ujung kabel I2C ke sensor MMA8452Q dan ujung lainnya ke pelindung I2C.
Koneksi ditunjukkan pada gambar di atas.
Langkah 3: Kode:
Kode arduino untuk MMMA8452Q dapat diunduh dari repositori github kami- DCUBE Store.
Ini tautannya.
Kami menyertakan library Wire.h untuk memfasilitasi komunikasi I2c dari sensor dengan board Arduino.
Anda juga dapat menyalin kode dari sini, diberikan sebagai berikut:
// Didistribusikan dengan lisensi kehendak bebas.
// Gunakan sesuka Anda, untung atau gratis, asalkan sesuai dengan lisensi karya terkait.
// MMA8452Q
// Kode ini dirancang untuk bekerja dengan Modul Mini MMA8452Q_I2CS I2C.
#termasuk
// Alamat I2C MMA8452Q adalah 0x1C(28)
#define Addr 0x1C
batalkan pengaturan()
{
// Inisialisasi komunikasi I2C sebagai MASTER
Kawat.mulai();
// Inisialisasi Komunikasi Serial, setel baud rate = 9600
Serial.begin(9600);
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Pilih register kontrol
Kawat.tulis (0x2A);
// Modus siaga
Kawat.tulis (0x00);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Pilih register kontrol
Kawat.tulis (0x2A);
// mode aktif
Kawat.tulis (0x01);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
// Mulai Transmisi I2C
Wire.beginTransmission(Addr);
// Pilih register kontrol
Kawat.tulis (0x0E);
// Setel rentang ke +/- 2g
Kawat.tulis (0x00);
// Hentikan Transmisi I2C
Kawat.endTransmisi();
penundaan (300);
}
lingkaran kosong()
{
data int yang tidak ditandatangani[7];
// Meminta 7 byte data
Wire.requestFrom(Addr, 7);
// Baca 7 byte data
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
if(Wire.available() == 7)
{
data[0] = Wire.read();
data[1] = Kawat.baca();
data[2] = Wire.read();
data[3] = Wire.read();
data[4] = Kawat.baca();
data[5] = Wire.read();
data[6] = Wire.read();
}
// Ubah 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 serial
Serial.print("Percepatan pada Sumbu X: ");
Serial.println(xAccl);
Serial.print("Percepatan pada Sumbu Y: ");
Serial.println(yAccl);
Serial.print("Percepatan pada Sumbu Z: ");
Serial.println(zAccl);
penundaan (500);
}
Langkah 4: Aplikasi:
MMA8452Q memiliki berbagai aplikasi yang meliputi aplikasi E-Compass, Deteksi orientasi statis yang menggabungkan Portrait/Landscape, Atas/Bawah, Kiri/Kanan, identifikasi posisi Belakang/Depan, Notebook, e-reader, dan Laptop Jatuh dan Deteksi Jatuh, Real-time deteksi orientasi termasuk realitas virtual dan umpan balik posisi pengguna game 3D, Analisis aktivitas waktu nyata seperti penghitungan langkah pedometer, deteksi jatuh bebas untuk HDD, pencadangan GPS perhitungan mati, dan banyak lagi.
Direkomendasikan:
Sistem Peringatan Kecelakaan Menggunakan GSM, GPS dan Accelerometer: 5 Langkah (dengan Gambar)
Sistem Peringatan Kecelakaan Menggunakan GSM, GPS dan Akselerometer: Tolong Pilih Saya untuk KontesTolong pilih saya untuk kontesSaat ini banyak orang meninggal di jalan karena kecelakaan, penyebab utamanya adalah "delay in rescue". Masalah ini sangat besar di negara berkembang, jadi saya merancang proyek ini untuk menyelamatkan
Claqueta Digital Con Arduino (Digital Clapperboard Dengan Arduino): 7 Langkah
Claqueta Digital Con Arduino (Digital Clapperboard Dengan Arduino): Buat propia claqueta digital, también puedes convertir una claqueta no digital en una, utilizando Arduino.MATERIALES Display de 7 segmentos MAX7219 de 8 digit kompatibel dengan arduino.Modulo de Reloj Model RTC kompatibel DS3231 con arduino.Arduin
Arduino Nano - BH1715 Digital Ambient Light Sensor Tutorial: 4 Langkah
Arduino Nano - BH1715 Digital Ambient Light Sensor Tutorial: BH1715 adalah Sensor Cahaya Sekitar digital dengan antarmuka bus I²C. BH1715 biasanya digunakan untuk mendapatkan data cahaya sekitar untuk menyesuaikan daya lampu latar LCD dan Keypad untuk perangkat seluler. Perangkat ini menawarkan resolusi 16-bit dan
Arduino Nano: Sensor Accelerometer Giroskop Kompas MPU9250 I2C Dengan Visuino: 11 Langkah
Arduino Nano: Accelerometer Gyroscope Compass Sensor MPU9250 I2C Dengan Visuino: MPU9250 adalah salah satu sensor gabungan Accelerometer, Giroskop, dan Kompas ukuran kecil yang tersedia saat ini. Mereka memiliki banyak fitur canggih, termasuk penyaringan lolos rendah, deteksi gerakan, dan bahkan prosesor khusus yang dapat diprogram
Pengukuran Sudut Menggunakan Gyro, Accelerometer dan Arduino: 5 Langkah
Pengukuran Sudut Menggunakan Gyro, Accelerometer dan Arduino: Perangkat ini adalah prototipe kasar dari apa yang pada akhirnya akan menjadi robot keseimbangan diri, ini adalah bagian kedua dari lubang (baca akselerometer dan kendalikan motor untuk menyeimbangkan diri). Bagian pertama dengan hanya gyro dapat ditemukan di sini. Di inst