Talaan ng mga Nilalaman:

Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: 4 na Hakbang
Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: 4 na Hakbang

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

Video: Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: 4 na Hakbang
Video: Raspberry Pi ADXL345 3-Axis Accelerometer Java Tutorial 2024, Nobyembre
Anonim
Image
Image

Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na may mataas na resolusyon (13-bit) na pagsukat hanggang sa ± 16 g. Ang data ng output ng digital ay na-format bilang 16-bit na twos komplemento at maa-access sa pamamagitan ng digital interface ng I2 C. Sinusukat nito ang static na pagpabilis ng gravity sa mga application na nakakiling, at pati na rin ang pabago-bagong paggalaw na nagreresulta mula sa paggalaw o pagkabigla. Ang mataas na resolusyon (3.9 mg / LSB) ay nagbibigay-daan sa pagsukat ng mga pagbabago sa pagkahilig mas mababa sa 1.0 °. Narito ang pagpapakitang ito gamit ang raspberry pi gamit ang java code.

Hakbang 1: Ano ang Kailangan Mo.. !

Ang iyong kailangan..!!
Ang iyong kailangan..!!

1. Raspberry Pi

2. ADXL345

3. I²C Cable

4. I²C Shield para sa Raspberry Pi

5. Ethernet Cable

Hakbang 2: Mga Koneksyon:

Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon

Kumuha ng isang kalasag I2C para sa raspberry pi at dahan-dahang itulak ito sa mga gpio pin ng raspberry pi.

Pagkatapos ikonekta ang isang dulo ng I2C cable sa ADXL345 sensor at ang iba pang mga dulo sa I2C kalasag.

Ikonekta din ang Ethernet cable sa pi o maaari kang gumamit ng isang module ng WiFi.

Ang mga koneksyon ay ipinapakita sa larawan sa itaas.

Hakbang 3: Code:

Code
Code

Ang java code para sa ADXL345 ay maaaring ma-download mula sa aming GitHub repository- Dcube Store

Narito ang link para sa pareho:

github.com/DcubeTechVentures/ADXL345

Gumamit kami ng pi4j library para sa java code, ang mga hakbang upang mai-install ang pi4j sa raspberry pi ay inilarawan dito:

pi4j.com/install.html

Maaari mo ring kopyahin ang code mula dito, ibinibigay ito tulad ng sumusunod:

// Ipinamamahagi ng isang lisensyang malaya ang kalooban.

// Gumamit nito sa anumang paraan na nais mo, kumita o libre, naibigay na umaangkop ito sa mga lisensya ng mga nauugnay na gawa nito.

// ADXL345

// Ang code na ito ay dinisenyo upang gumana sa ADXL345_I2CS I2C Mini Module na magagamit sa Dcube Store.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

i-import ang java.io. IOException;

pampublikong klase ADXL345

{

public static void main (String args ) nagtatapon ng Exception

{

// Lumikha ng I2C bus

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

// Kumuha ng I2C device, ang address ng I2C ng aparato ay 0x53 (83)

I2CDevice aparato = Bus.getDevice (0x53);

// Piliin ang Pagrehistro sa rate ng bandwidth

// Normal mode, rate ng data ng Output = 100 Hz

aparato. magsulat (0x2C, (byte) 0x0A);

// Piliin ang Pagrehistro ng kontrol sa kuryente

// Hindi paganahin ang auto-sleep

aparato. magsulat (0x2D, (byte) 0x08);

// Select Data format register

// Self test disable, 4-wire interface, Buong resolusyon, saklaw = +/- 2g

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

Thread.tulog (500);

// Basahin ang 6 bytes ng data

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

byte data = bagong byte [6];

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

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

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

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

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

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

// I-convert ang data sa 10-bit

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

kung (xAccl> 511)

{

xAccl - = 1024;

}

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

kung (yAccl> 511)

{

yAccl - = 1024;

}

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

kung (zAccl> 511)

{

zAccl - = 1024;

}

// Output data sa screen

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

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

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

}

}

Hakbang 4: Mga Aplikasyon:

Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na maaaring magamit sa Handsets, Medical instrumentation atbp Kasama rin sa aplikasyon nito ang Gaming at mga tumuturo na aparato, Industrial instrumentation, Personal na nabigasyon na aparato at proteksyon ng Hard disk drive (HDD).

Inirerekumendang: