Оглавление:
Видео: Raspberry Pi MMA8452Q 3-осевой 12-битный / 8-битный цифровой акселерометр Java Tutorial: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
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 и многое другое.
Рекомендуемые:
Цифровой духовный уровень на базе Arduino и MPU6050: 3 шага
Цифровой духовный уровень на базе Arduino и MPU6050: Добро пожаловать на мой первый инструктаж! Я надеюсь, что вы найдете его информативным. Пожалуйста, не стесняйтесь оставлять отзывы, будь то положительные или отрицательные. Этот проект направлен на создание Arduino & Цифровой спиртовой уровень на базе MPU6050. Пока готовый дизайн и
Arduino Nano - MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Tutorial: 4 шага
Arduino Nano - MMA8452Q 3-осевой 12-битный / 8-битный цифровой акселерометр Учебное пособие: MMA8452Q - это интеллектуальный, маломощный, трехосевой, емкостный, микромашинный акселерометр с разрешением 12 бит. Гибкие возможности программирования пользователем предоставляются с помощью встроенных функций в акселерометр, конфигурируемых на два прерывания
Цифровой секундомер Simple CloudX M633: 4 шага
Простой цифровой секундомер CloudX M633: в этом проекте мы собираемся создать версию цифровых часов, которые могут вести учет часов, минут и секунд, как секундомер на вашем мобильном телефоне! Мы собираемся использовать ЖК-дисплей для отображения времени
Как снести цифровой штангенциркуль и как работает цифровой штангенциркуль: 4 шага
Как снести цифровой штангенциркуль и как работает цифровой штангенциркуль: многие люди знают, как использовать штангенциркуль для измерения. Из этого туториала Вы узнаете, как разобрать цифровой штангенциркуль, и объясните, как работает цифровой штангенциркуль
MPU6050-Акселерометр + Датчик гироскопа: основные сведения: 3 шага
MPU6050-акселерометр + гироскоп. Основные сведения о датчике: MPU6050 - очень полезный датчик. Mpu 6050 - это IMU: инерциальный измерительный блок (IMU) - это электронное устройство, которое измеряет и сообщает удельную силу тела, угловую скорость, а иногда и ориентацию тела, используя комбинацию