Isi kandungan:

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

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

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

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. Berikut adalah demonstrasinya dengan raspberry pi menggunakan kod java.

Langkah 1: Apa yang Anda Perlu..

Apa yang kamu perlu..!!
Apa yang kamu perlu..!!

1. Raspberry Pi

2. MMA8452Q

3. Kabel I²C

4. Perisai I²C untuk Raspberry Pi

5. Kabel Ethernet

Langkah 2: Sambungan:

Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan

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

Kemudian sambungkan satu hujung kabel I2C ke sensor MMA8452Q dan hujung yang lain ke pelindung I2C.

Sambungkan juga kabel Ethernet ke pi atau anda boleh menggunakan modul WiFi.

Sambungan ditunjukkan dalam gambar di atas.

Langkah 3: Kod:

Kod
Kod

Kod Java untuk MMA8452Q boleh dimuat turun dari repositori GitHub- Dcube Store kami

Berikut adalah pautan yang sama:

github.com/DcubeTechVentures/MMA8452Q

Kami telah menggunakan perpustakaan pi4j untuk kod java, langkah-langkah untuk memasang pi4j pada raspberry pi dijelaskan di sini:

pi4j.com/install.html

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

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

kelas awam MMA8452Q

{

utama kekosongan statik awam (String args ) melontarkan Pengecualian

{

// Buat bas I2C

Bas I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Dapatkan peranti I2C, alamat MMA8452Q I2C ialah 0x1C (28)

Peranti I2CDevice = bus.getDevice (0x1C);

// Hantar arahan siap sedia

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

// Hantar arahan aktif

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

// Tetapkan Julat hingga +/- 2g

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

Thread.sleep (500);

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

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

bait data = bait baru [7];

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

// Tukarkan 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 skrin

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

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

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

}

}

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: