Оглавление:

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

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

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

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

Шаг 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: Код:

Код
Код

Код Python для MMA8452Q можно скачать из нашего репозитория github - ControlEverythingCommunity

Вот ссылка.

Мы использовали библиотеку SMBus для кода Python, шаги по установке SMBus на Raspberry Pi описаны здесь:

pypi.python.org/pypi/smbus-cffi/0.5.1

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

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

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

# MMA8452Q

# Этот код предназначен для работы с мини-модулем MMA8452Q_I2CS I2C.

импортировать smbus

время импорта

# Получить шину I2C

автобус = smbus. SMBus (1)

# MMA8452Q адрес, 0x1C (28)

# Выбрать регистр управления, 0x2A (42)

# 0x00 (00) Режим ожидания

bus.write_byte_data (0x1C, 0x2A, 0x00)

# MMA8452Q адрес, 0x1C (28)

# Выбрать регистр управления, 0x2A (42)

# 0x01 (01) Активный режим

bus.write_byte_data (0x1C, 0x2A, 0x01)

# MMA8452Q адрес, 0x1C (28)

# Выбрать регистр конфигурации, 0x0E (14)

# 0x00 (00) Установить диапазон +/- 2g

bus.write_byte_data (0x1C, 0x0E, 0x00)

time.sleep (0,5)

# MMA8452Q адрес, 0x1C (28)

# Считать данные обратно из 0x00 (0), 7 байт

# Регистр состояния, MSB оси X, LSB оси X, MSB оси Y, LSB оси Y, MSB оси Z, LSB оси Z

data = bus.read_i2c_block_data (0x1C, 0x00, 7)

# Конвертируем данные

xAccl = (данные [1] * 256 + данные [2]) / 16

если xAccl> 2047:

xAccl - = 4096

yAccl = (данные [3] * 256 + данные [4]) / 16

если yAccl> 2047:

yAccl - = 4096 г

Accl = (данные [5] * 256 + данные [6]) / 16

если zAccl> 2047:

zAccl - = 4096

# Выводить данные на экран

print "Ускорение по оси X:% d"% xAccl

print "Ускорение по оси Y:% d"% yAccl

print "Ускорение по оси Z:% d"% zAccl

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

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

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