Оглавление:

Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: 4 шага
Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: 4 шага

Видео: Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: 4 шага

Видео: Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: 4 шага
Видео: Raspberry Pi ADXL345 3-Axis Accelerometer Java Tutorial 2024, Июль
Anonim
Image
Image

ADXL345 - это небольшой, тонкий, сверхмалопотребляющий 3-осевой акселерометр с высоким разрешением (13 бит) и измерением до ± 16 г. Данные цифрового вывода форматируются как 16-битное дополнение до двоек и доступны через цифровой интерфейс I2C. Он измеряет статическое ускорение свободного падения в приложениях для измерения наклона, а также динамическое ускорение, возникающее в результате движения или удара. Его высокое разрешение (3,9 мг / младший значащий бит) позволяет измерять изменения наклона менее 1,0 °. Вот это демонстрация с Raspberry Pi с использованием Java-кода.

Шаг 1: Что вам нужно..

Что вам нужно..!!
Что вам нужно..!!

1. Raspberry Pi

2. ADXL345

3. Кабель I²C

4. I²C Shield для Raspberry Pi

5. Кабель Ethernet.

Шаг 2: Подключения:

Подключения
Подключения
Подключения
Подключения
Подключения
Подключения
Подключения
Подключения

Возьмите щит I2C для raspberry pi и осторожно наденьте его на контакты gpio raspberry pi.

Затем подключите один конец кабеля I2C к датчику ADXL345, а другой конец - к экрану I2C.

Также подключите кабель Ethernet к Pi, или вы можете использовать модуль Wi-Fi.

Подключения показаны на картинке выше.

Шаг 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.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

публичный класс ADXL345

{

public static void main (String args ) выдает исключение

{

// Создаем шину I2C

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

// Получение устройства I2C, адрес устройства I2C 0x53 (83)

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

// Выбираем регистр пропускной способности

// Нормальный режим, частота выходных данных = 100 Гц

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

byte data = новый байт [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).

Рекомендуемые: