Daftar Isi:

Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial: 4 Langkah
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial: 4 Langkah

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial: 4 Langkah

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial: 4 Langkah
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial 2024, November
Anonim
Image
Image

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 demonstrasi dengan raspberry pi menggunakan kode java.

Langkah 1: Yang Anda Butuhkan.

Apa yang kau butuhkan..!!
Apa yang kau butuhkan..!!

1. Raspberry Pi

2. MMA8452Q

3. Kabel I²C

4. Perisai I²C untuk Raspberry Pi

5. Kabel Ethernet

Langkah 2: Koneksi:

Koneksi
Koneksi
Koneksi
Koneksi
Koneksi
Koneksi
Koneksi
Koneksi

Ambil pelindung I2C untuk raspberry pi dan dorong perlahan ke atas pin gpio dari raspberry pi.

Kemudian sambungkan salah satu ujung kabel I2C ke sensor MMA8452Q dan ujung lainnya ke pelindung I2C.

Hubungkan juga kabel Ethernet ke pi atau Anda dapat menggunakan modul WiFi.

Koneksi ditunjukkan pada gambar di atas.

Langkah 3: Kode:

Kode
Kode

Kode Java untuk MMA8452Q dapat diunduh dari repositori GitHub kami- Dcube Store

Berikut ini tautan untuk hal yang sama:

github.com/DcubeTechVentures/MMA8452Q

Kami telah menggunakan pustaka pi4j untuk kode java, langkah-langkah untuk menginstal pi4j pada raspberry pi dijelaskan di sini:

pi4j.com/install.html

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 yang tersedia di Dcube Store.

impor com.pi4j.io.i2c. I2CBus;

impor com.pi4j.io.i2c. I2CDevice;

impor com.pi4j.io.i2c. I2CFfactory;

impor java.io. IOException;

kelas publik MMA8452Q

{

public static void main(String args) melempar Pengecualian

{

// Buat bus I2C

I2CBus bus = I2CFfactory.getInstance(I2CBus. BUS_1);

// Dapatkan perangkat I2C, alamat I2C MMA8452Q adalah 0x1C(28)

Perangkat I2CDevice = bus.getDevice(0x1C);

// Kirim perintah siaga

device.write(0x2A, (byte)0x00);

// Kirim perintah aktif

device.write(0x2A, (byte)0x01);

// Atur Rentang hingga +/-2g

device.write(0x0E, (byte)0x00);

Thread.sleep(500);

// Baca 7 byte data dari alamat 0x00(0)

// Status, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb

byte data = byte baru[7];

device.read(0x00, data, 0, 7);

// Konversi nilai

int xAccl = (((data[1] & 0xFF) * 256) + (data[2] & 0xFF)) / 16;

jika (xAccl > 2047)

{

xAccl = xAccl - 4096;

}

int yAccl = (((data[3] & 0xFF) * 256) + (data[4] & 0xFF)) / 16;

jika (yAccl > 2047)

{

yAccl = yAccl - 4096;

}

int zAccl = (((data[5] & 0xFF) * 256) + (data[6] & 0xFF)) / 16;

jika (zAccl > 2047)

{

zAccl = zAccl - 4096;

}

// Keluarkan data ke layar

System.out.printf("Sumbu X: %d %n", xAccl);

System.out.printf("Sumbu Y: %d %n", yAccl);

System.out.printf("Sumbu Z: %d %n", zAccl);

}

}

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: