Съдържание:

Raspberry Pi - ADXL345 3 -осен акселерометър Java Урок: 4 стъпки
Raspberry Pi - ADXL345 3 -осен акселерометър Java Урок: 4 стъпки

Видео: Raspberry Pi - ADXL345 3 -осен акселерометър Java Урок: 4 стъпки

Видео: Raspberry Pi - ADXL345 3 -осен акселерометър Java Урок: 4 стъпки
Видео: ADXL345 Accelerometer Visualization 2024, Ноември
Anonim
Image
Image

ADXL345 е малък, тънък, 3-осен акселерометър с ултра ниска мощност с измерване с висока разделителна способност (13 бита) до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2 C цифров интерфейс. Той измерва статичното ускорение на гравитацията в приложенията за отчитане на наклона, както и динамичното ускорение в резултат на движение или удар. Неговата висока разделителна способност (3,9 mg/LSB) позволява измерване на промените в наклона под 1,0 °. Ето демонстрацията с малинов пи с помощта на java код.

Стъпка 1: Какво ви трябва..

От какво имаш нужда..!!
От какво имаш нужда..!!

1. Малина Пи

2. ADXL345

3. Кабел I²C

4. I²C щит за Raspberry Pi

5. Ethernet кабел

Стъпка 2: Връзки:

Връзки
Връзки
Връзки
Връзки
Връзки
Връзки
Връзки
Връзки

Вземете I2C щит за малиново пи и внимателно го натиснете върху щифтовете на gpio на малиново пи.

След това свържете единия край на I2C кабела към сензора ADXL345, а другия край към I2C щита.

Свържете също Ethernet кабела към pi или можете да използвате WiFi модул.

Връзките са показани на снимката по -горе.

Стъпка 3: Код:

Код
Код

Java кодът за ADXL345 може да бъде изтеглен от нашето хранилище на GitHub- Dcube Store

Ето линк за същото:

github.com/DcubeTechVentures/ADXL345

Използвахме библиотека pi4j за java код, стъпките за инсталиране на pi4j на raspberry pi са описани тук:

pi4j.com/install.html

Можете също да копирате кода от тук, той е даден, както следва:

// Разпространява се с лиценз за свободна воля.

// Използвайте го по какъвто начин искате, печалба или безплатно, при условие че се вписва в лицензите на свързаните с него произведения.

// ADXL345

// Този код е проектиран да работи с ADXL345_I2CS I2C мини модул, наличен в Dcube Store.

внос com.pi4j.io.i2c. I2CBus;

внос com.pi4j.io.i2c. I2CDevice;

внос com.pi4j.io.i2c. I2CFactory;

импортиране на java.io. IOException;

публичен клас ADXL345

{

public static void main (String args ) хвърля Exception

{

// Създаване на I2C шина

I2CBus шина = I2CFactory.getInstance (I2CBus. BUS_1);

// Вземете I2C устройство, I2C адресът на устройството е 0x53 (83)

I2CDevice устройство = Bus.getDevice (0x53);

// Изберете регистър на честотната лента

// Нормален режим, Скорост на изходните данни = 100 Hz

device.write (0x2C, (байт) 0x0A);

// Изберете регистър за управление на мощността

// Деактивиране на автоматичното заспиване

device.write (0x2D, (байт) 0x08);

// Изберете регистър за формат на данни

// Самодиагностиката е деактивирана, 4-жичен интерфейс, пълна разделителна способност, обхват = +/- 2g

device.write (0x31, (байт) 0x08);

Thread.sleep (500);

// Прочетете 6 байта данни

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

байт данни = нов байт [6];

данни [0] = (байт) device.read (0x32);

данни [1] = (байт) device.read (0x33);

данни [2] = (байт) device.read (0x34);

данни [3] = (байт) device.read (0x35);

данни [4] = (байт) device.read (0x36);

данни [5] = (байт) device.read (0x37);

// Конвертираме данните в 10-бита

int xAccl = ((данни [1] & 0x03) * 256 + (данни [0] & 0xFF));

ако (xAccl> 511)

{

xAccl -= 1024;

}

int yAccl = ((данни [3] & 0x03) * 256 + (данни [2] & 0xFF));

ако (yAccl> 511)

{

yAccl -= 1024;

}

int zAccl = ((данни [5] & 0x03) * 256 + (данни [4] & 0xFF));

ако (zAccl> 511)

{

zAccl -= 1024;

}

// Извеждане на данни на екрана

System.out.printf ("Ускорение по ос X: %d %n", xAccl);

System.out.printf ("Ускорение по оста Y: %d %n", yAccl);

System.out.printf ("Ускорение по Z-ос: %d %n", zAccl);

}

}

Стъпка 4: Приложения:

ADXL345 е малък, тънък, 3-осен акселерометър с ултра ниска мощност, който може да се използва в телефони, медицински инструменти и др. Приложението му включва също игри и посочващи устройства, промишлени инструменти, лични навигационни устройства и защита на твърдия диск (HDD).

Препоръчано: