Оглавление:

Raspberry Pi MMA8452Q 3-осевой 12-битный / 8-битный цифровой акселерометр Java Tutorial: 4 шага
Raspberry Pi MMA8452Q 3-осевой 12-битный / 8-битный цифровой акселерометр Java Tutorial: 4 шага

Видео: Raspberry Pi MMA8452Q 3-осевой 12-битный / 8-битный цифровой акселерометр Java Tutorial: 4 шага

Видео: Raspberry Pi MMA8452Q 3-осевой 12-битный / 8-битный цифровой акселерометр Java Tutorial: 4 шага
Видео: Raspberry Pi MMA8452Q 3-осевой 12-битный/8-битный цифровой акселерометр Учебное пособие по Python 2024, Ноябрь
Anonim
Image
Image

MMA8452Q - это умный, маломощный, трехосевой, емкостной, микромашинный акселерометр с разрешением 12 бит. Гибкие возможности программирования пользователем предоставляются с помощью встроенных функций в акселерометр, конфигурируемых на два контакта прерывания. Он имеет выбираемую пользователем полную шкалу ± 2 г / ± 4 г / ± 8 г с данными, отфильтрованными фильтром высоких частот, а также нефильтрованными данными, доступными в реальном времени. Вот его демонстрация с Raspberry Pi с использованием Java-кода.

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

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

1. Raspberry Pi

2. MMA8452Q

3. Кабель I²C

4. I²C Shield для Raspberry Pi

5. Кабель Ethernet.

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

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

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

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

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

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

Шаг 3: Код:

Код
Код

Код Java для MMA8452Q можно скачать из нашего репозитория GitHub - Dcube Store.

Вот ссылка на то же самое:

github.com/DcubeTechVentures/MMA8452Q

Мы использовали библиотеку pi4j для java-кода, шаги по установке pi4j на raspberry pi описаны здесь:

pi4j.com/install.html

Вы также можете скопировать код отсюда, он выглядит следующим образом:

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

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

// MMA8452Q

// Этот код предназначен для работы с мини-модулем MMA8452Q_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;

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

{

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

{

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

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

// Получение устройства I2C, адрес I2C MMA8452Q - 0x1C (28)

Устройство I2CDevice = bus.getDevice (0x1C);

// Отправляем команду ожидания

device.write (0x2A, (байт) 0x00);

// Отправляем активную команду

device.write (0x2A, (байт) 0x01);

// Устанавливаем диапазон до +/- 2g

device.write (0x0E, (байт) 0x00);

Thread.sleep (500);

// Считываем 7 байтов данных с адреса 0x00 (0)

// Статус, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb

byte data = новый байт [7];

device.read (0x00, данные, 0, 7);

// Преобразуем значения

int xAccl = (((данные [1] & 0xFF) * 256) + (данные [2] & 0xFF)) / 16;

если (xAccl> 2047)

{

xAccl = xAccl - 4096;

}

int yAccl = (((данные [3] & 0xFF) * 256) + (данные [4] & 0xFF)) / 16;

если (yAccl> 2047)

{

yAccl = yAccl - 4096;

}

int zAccl = (((данные [5] & 0xFF) * 256) + (данные [6] & 0xFF)) / 16;

если (zAccl> 2047)

{

zAccl = zAccl - 4096;

}

// Выводим данные на экран

System.out.printf («Ось X:% d% n», xAccl);

System.out.printf ("Ось Y:% d% n", yAccl);

System.out.printf ("Ось Z:% d% n", zAccl);

}

}

Шаг 4: Приложения:

MMA8452Q имеет различные приложения, в том числе приложения E-Compass, обнаружение статической ориентации, которое включает в себя портрет / пейзаж, вверх / вниз, влево / вправо, определение положения сзади / спереди, ноутбук, электронную книгу и обнаружение падения и падения ноутбука в режиме реального времени. определение ориентации, включая виртуальную реальность и игровую трехмерную обратную связь о положении пользователя, анализ активности в реальном времени, такой как подсчет шагов шагомером, обнаружение свободного падения для жесткого диска, резервное копирование по GPS и многое другое.

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