Daftar Isi:

Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: 4 Langkah
Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: 4 Langkah

Video: Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: 4 Langkah

Video: Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: 4 Langkah
Video: Raspberry Pi ADXL345 3-Axis Accelerometer Java Tutorial 2024, November
Anonim
Image
Image

ADXL345 adalah akselerometer 3-sumbu kecil, tipis, berdaya ultra rendah dengan pengukuran resolusi tinggi (13-bit) hingga ±16 g. Data keluaran digital diformat sebagai pelengkap berpasangan 16-bit dan dapat diakses melalui antarmuka digital I2 C. Ini mengukur akselerasi statis gravitasi dalam aplikasi sensor kemiringan, serta akselerasi dinamis yang dihasilkan dari gerakan atau guncangan. Resolusi tinggi (3,9 mg/LSB) memungkinkan pengukuran perubahan kemiringan kurang dari 1,0°. Ini dia demonstrasi dengan raspberry pi menggunakan kode java.

Langkah 1: Yang Anda Butuhkan.

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

1. Raspberry Pi

2. ADXL345

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 ADXL345 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 ADXL345 dapat diunduh dari repositori GitHub kami- Dcube Store

Berikut ini tautan untuk hal yang sama:

github.com/DcubeTechVentures/ADXL345

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.

// ADXL345

// Kode ini dirancang untuk bekerja dengan Modul Mini ADXL345_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 ADXL345

{

public static void main(String args) melempar Pengecualian

{

// Buat bus I2C

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

// Dapatkan perangkat I2C, alamat perangkat I2C adalah 0x53(83)

Perangkat I2CDevice = Bus.getDevice(0x53);

// Pilih daftar laju Bandwidth

// Mode normal, Kecepatan data keluaran = 100 Hz

device.write(0x2C, (byte)0x0A);

// Pilih Daftar kontrol daya

// Nonaktifkan tidur otomatis

device.write(0x2D, (byte)0x08);

// Pilih Daftar format data

// Uji mandiri dinonaktifkan, antarmuka 4-kawat, Resolusi penuh, rentang = +/-2g

device.write(0x31, (byte)0x08);

Thread.sleep(500);

// Baca 6 byte data

// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

byte data = byte baru[6];

data[0] = (byte)device.read(0x32);

data[1] = (byte)device.read(0x33);

data[2] = (byte)device.read(0x34);

data[3] = (byte)device.read(0x35);

data[4] = (byte)device.read(0x36);

data[5] = (byte)device.read(0x37);

// Ubah data menjadi 10-bit

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

jika(xAccl > 511)

{

xAccl -= 1024;

}

int yAccl = ((data[3] & 0x03) * 256 + (data[2] & 0xFF));

jika(yAccl > 511)

{

yAccl -= 1024;

}

int zAccl = ((data[5] & 0x03) * 256 + (data[4] & 0xFF));

jika(zAccl > 511)

{

zAccl -= 1024;

}

// Keluarkan data ke layar

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

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

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

}

}

Langkah 4: Aplikasi:

ADXL345 adalah akselerometer 3-sumbu kecil, tipis, berdaya ultra rendah yang dapat digunakan di Handset, Instrumentasi medis, dll. Aplikasinya juga mencakup Gaming dan perangkat penunjuk, instrumentasi Industri, Perangkat navigasi pribadi, dan perlindungan Hard disk drive (HDD).

Direkomendasikan: