Isi kandungan:

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-paksi kecil, tipis, kuasa ultra kecil dengan ukuran resolusi tinggi (13-bit) hingga ± 16 g. Data output digital diformat sebagai pelengkap dua-bit 16-bit dan dapat diakses melalui antara muka digital I2 C. Ini mengukur percepatan graviti statik dalam aplikasi penginderaan kecondongan, serta percepatan dinamis yang dihasilkan dari gerakan atau kejutan. Resolusi tinggi (3.9 mg / LSB) memungkinkan pengukuran perubahan kecenderungan kurang dari 1.0 °. Inilah demonstrasi dengan raspberry pi menggunakan kod java.

Langkah 1: Apa yang Anda Perlu..

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

1. Raspberry Pi

2. ADXL345

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 ADXL345 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 ADXL345 boleh dimuat turun dari repositori GitHub- Dcube Store kami

Berikut adalah pautan yang sama:

github.com/DcubeTechVentures/ADXL345

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.

// ADXL345

// Kod ini direka untuk berfungsi dengan Modul Mini ADXL345_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 ADXL345

{

utama kekosongan statik awam (String args ) melontarkan Pengecualian

{

// Buat bas I2C

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

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

Peranti I2CDevice = Bus.getDevice (0x53);

// Pilih daftar kadar Lebar Lebar

// Mod normal, Kadar data output = 100 Hz

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

// Pilih Daftar kawalan kuasa

// Matikan tidur automatik

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

// Pilih daftar format Data

// Uji kendiri dilumpuhkan, antara muka 4 wayar, Resolusi penuh, julat = +/- 2g

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

Thread.sleep (500);

// Baca 6 bait data

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

bait data = bait baru [6];

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

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

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

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

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

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

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

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

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

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

}

}

Langkah 4: Aplikasi:

ADXL345 adalah kecil, tipis, daya ultralow, akselerometer 3-paksi yang dapat digunakan di Handset, alat perubatan dll. Aplikasinya juga merangkumi Perisian permainan dan penunjuk, Instrumentasi industri, Peranti navigasi peribadi dan perlindungan cakera keras (HDD).

Disyorkan: