Оглавление:
Видео: Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
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).
Рекомендуемые:
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Java Tutorial: 4 шага
Raspberry Pi - TMD26721 Инфракрасный цифровой датчик приближения Учебное пособие по Java: TMD26721 - это инфракрасный цифровой датчик приближения, который обеспечивает полную систему обнаружения приближения и логику цифрового интерфейса в одном 8-контактном модуле для поверхностного монтажа. Обнаружение приближения включает улучшенное соотношение сигнал / шум и точность. Профи
Raspberry Pi - TSL45315 Датчик внешней освещенности Учебное пособие по Java: 4 шага
Raspberry Pi - TSL45315 Датчик внешней освещенности Учебное пособие по Java: TSL45315 - цифровой датчик внешней освещенности. Это приблизительно соответствует реакции человеческого глаза в различных условиях освещения. Устройства имеют три выбираемых времени интегрирования и обеспечивают прямой 16-битный выходной сигнал люкс через интерфейс шины I2C. Устройство со
Учебное пособие по Java для датчика температуры Raspberry Pi MCP9803: 4 шага
Учебное пособие по датчику температуры Raspberry Pi MCP9803 для Java: MCP9803 - это двухпроводный высокоточный датчик температуры. В них реализованы программируемые пользователем регистры, которые упрощают приложения для измерения температуры. Этот датчик подходит для сложной многозонной системы контроля температуры. Здесь
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: 4 шага
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: A1332 - это бесконтактный программируемый магнитный датчик углового положения с высоким разрешением на 360 °. Он разработан для цифровых систем, использующих интерфейс I2C. Он построен на технологии Кругового Вертикального Холла (CVH) и программируемом микропроцессорном сигнале
Raspberry Pi MMA8452Q 3-осевой 12-битный / 8-битный цифровой акселерометр Java Tutorial: 4 шага
Raspberry Pi MMA8452Q 3-осевой 12-битный / 8-битный цифровой акселерометр Java Учебное пособие: MMA8452Q - это умный, маломощный, трехосевой, емкостной, микромашинный акселерометр с разрешением 12 бит. Гибкие возможности программирования пользователем предоставляются с помощью встроенных функций в акселерометр, конфигурируемых на два прерывания