Мазмуну:

Raspberry Pi MMA8452Q 3-Axis 12-бит/8-бит Digital Accelerometer Python үйрөткүчү: 4 кадам
Raspberry Pi MMA8452Q 3-Axis 12-бит/8-бит Digital Accelerometer Python үйрөткүчү: 4 кадам

Video: Raspberry Pi MMA8452Q 3-Axis 12-бит/8-бит Digital Accelerometer Python үйрөткүчү: 4 кадам

Video: Raspberry Pi MMA8452Q 3-Axis 12-бит/8-бит Digital Accelerometer Python үйрөткүчү: 4 кадам
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial 2024, Июль
Anonim
Image
Image

MMA8452Q-бул акылдуу, аз кубаттуу, үч огу, сыйымдуулугу, 12 биттик токтому бар микромахиндүү акселерометр. Колдонуучунун ийкемдүү программалоочу параметрлери акселерометрдеги камтылган функциялардын жардамы менен камсыз кылынат, эки үзгүлтүктүү казыкка конфигурацияланат. Бул колдонуучу тандап ала турган толук масштабга ээ ± 2g/± 4g/± 8g жогорку өткөргүч чыпкаланган маалыматтар менен, ошондой эле реалдуу убакытта чыпкаланбаган маалыматтар. Бул жерде python кодун колдонуп, малина pi менен анын көрсөтмөсү.

1 -кадам: Сизге эмне керек..

Сизге эмне керек.. !!
Сизге эмне керек.. !!

1. Raspberry Pi

2. MMA8452Q

3. I²C кабели

4. Raspberry Pi үчүн I²C Shield

5. Ethernet кабели

2 -кадам: Байланыштар:

Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар

Малина пи үчүн I2C калканчын алыңыз жана аны акырын малинанын пи gpio казыктарынын үстүнө басыңыз.

Андан кийин I2C кабелинин бир учун MMA8452Q сенсоруна, экинчи учун I2C калканчына туташтырыңыз.

Ethernet кабелин пи -ге туташтырыңыз же WiFi модулун колдонсоңуз болот.

Байланыштар жогорудагы сүрөттө көрсөтүлгөн.

3 -кадам: Код:

Код
Код

MMA8452Q үчүн питон кодун биздин github репозиторийибизден жүктөп алсаңыз болот- ControlEverythingCommunity

Мына шилтеме.

Биз SMBus китепканасын python коду үчүн колдонгонбуз, малина пи боюнча SMBus орнотуу кадамдары бул жерде сүрөттөлгөн:

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

Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:

# Эркин лицензия менен бөлүштүрүлгөн.

# Аны каалагандай колдон, пайда же бекер, эгерде ал тиешелүү эмгектеринин лицензиясына туура келсе.

# MMA8452Q

# Бул код MMA8452Q_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан.

smbus импорттоо

импорттоо убактысы

# I2C автобусун алыңыз

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

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

# Control регистрин танда, 0x2A (42)

# 0x00 (00) StandBy режими

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

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

# Control регистрин танда, 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)

убакыт.уйку (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

# Экранга маалыматтарды чыгаруу

басып чыгаруу "Акселерде ылдамдануу: %d" %xAccl

басып чыгаруу "Y огунда ылдамдануу: %d" %yAccl

басып чыгаруу "Z-огунда ылдамдануу: %d" %zAccl

4 -кадам: Тиркемелер:

MMA8452Q ар кандай тиркемелерге ээ, анын ичинде E-Compass тиркемелери, Статикалык багытты аныктоо, анын ичинде Портрет/Пейзаж, Өйдө/ылдый, Сол/Оң, Артка/Алдыңкы позицияны аныктоо, Ноутбук, электрондук окурман, жана Ноутбуктар кулап түшүү жана Акысыз түшүү, Реалдуу убакыт багыттоону аныктоо, анын ичинде виртуалдык чындык жана оюн 3D колдонуучунун позициясы боюнча пикирлер, педометрдин кадамын эсептөө сыяктуу реалдуу убакытта анализ, HDD үчүн кулап түшүүнү аныктоо, GPSтин камдык көчүрмөсү жана башкалар.

Сунушталууда: