Съдържание:

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 стъпки
Видео: Хадас ВИМ4. Безупречное 4K 60. Выпущена 64-битная версия Android 11. 2024, Ноември
Anonim
Image
Image

MMA8452Q е интелигентен, триосен, капацитивен, микромашинен акселерометър с ниска мощност с 12 бита резолюция. Гъвкавите програмируеми от потребителя опции се предлагат с помощта на вградени функции в акселерометъра, конфигурирани с два прекъсвания. Той има избираеми от потребителя пълни скали от ± 2 g/± 4 g/± 8 g с високочестотни филтрирани данни, както и нефилтрирани данни, налични в реално време. Ето демонстрацията му с малиново пи, използващо код на python.

Стъпка 1: Какво ви трябва..

От какво имаш нужда..!!
От какво имаш нужда..!!

1. Малина Пи

2. MMA8452Q

3. Кабел I²C

4. I²C щит за Raspberry Pi

5. Ethernet кабел

Стъпка 2: Връзки:

Връзки
Връзки
Връзки
Връзки
Връзки
Връзки
Връзки
Връзки

Вземете I2C щит за малиново пи и внимателно го натиснете върху щифтовете на gpio на малиново пи.

След това свържете единия край на I2C кабела към сензора MMA8452Q, а другия край към I2C щита.

Свържете също Ethernet кабела към pi или можете да използвате WiFi модул.

Връзките са показани на снимката по -горе.

Стъпка 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) Режим StandBy

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 байта

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

данни = 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 z

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

ако zAccl> 2047:

zAccl -= 4096

# Извеждане на данни на екрана

отпечатайте "Ускорение по ос X: %d" %xAccl

отпечатайте "Ускорение по оста Y: %d" %yAccl

отпечатайте "Ускорение по ос Z: %d" %zAccl

Стъпка 4: Приложения:

MMA8452Q има различни приложения, които включват приложения за електронни компаси, разпознаване на статична ориентация, които включват портрет/пейзаж, нагоре/надолу, наляво/надясно, идентификация на позицията отзад/отпред, преносим компютър, електронен четец и откриване на преобръщане и свободно падане в реално време откриване на ориентация, включително виртуална реалност и игрална 3D обратна връзка за позицията на потребителя, анализ на активността в реално време, като броене на стъпки на крачкомер, откриване на падане на свободно падане за твърд диск, резервно копие на GPS с мъртви данни и много други.

Препоръчано: