Съдържание:
Видео: Raspberry Pi MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Python Урок: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
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 с мъртви данни и много други.
Препоръчано:
Raspberry Pi - ADXL345 3 -осен акселерометър Python Урок: 4 стъпки
Raspberry Pi-ADXL345 3-осен акселерометър Python Урок: ADXL345 е малък, тънък, ултра нисък мощност, 3-осен акселерометър с измерване с висока разделителна способност (13-битов) до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2 C цифров интерфейс. Измерва
Raspberry Pi - ADXL345 3 -осен акселерометър Java Урок: 4 стъпки
Raspberry Pi-ADXL345 3-осен акселерометър Java Урок: ADXL345 е малък, тънък, свръхниска мощност, 3-осен акселерометър с измерване с висока разделителна способност (13-битов) до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2 C цифров интерфейс. Измерва
Raspberry Pi - BH1715 Цифров сензор за околна светлина Python Урок: 4 стъпки
Raspberry Pi - BH1715 Цифров сензор за околна светлина Python Урок: BH1715 е цифров сензор за околна светлина с интерфейс I²C шина. BH1715 обикновено се използва за получаване на данни за околната светлина за регулиране на мощността на подсветката на LCD и клавиатурата за мобилни устройства. Това устройство предлага 16-битова резолюция и настройва
Урок за акселерометър Arduino: Управление на корабен мост с помощта на серво мотор: 5 стъпки
Урок за акселерометър Arduino: Управление на корабен мост с помощта на серво мотор: Сензорите за акселерометър вече са в повечето от нашите смартфони, за да им предоставят голямо разнообразие от възможности за използване и възможности, които използваме ежедневно, без дори да знаем, че отговорен за това е акселерометърът. Една от тези възможности е контролът
Raspberry Pi - TMD26721 Инфрачервен цифров детектор за близост Python Урок: 4 стъпки
Raspberry Pi-TMD26721 Инфрачервен цифров детектор за близост Python Урок: TMD26721 е инфрачервен цифров детектор за близост, който осигурява пълна система за откриване на близост и логика на цифров интерфейс в един 8-пинов модул за повърхностен монтаж. Откриването на близост включва подобрен сигнал към шум и точност. Приблизително