Мазмұны:

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 қадам
Бейне: SKR 1.4 - Definitive User Guide 2024, Шілде
Anonim
Image
Image

MMA8452Q-ақылды, қуаты аз, үш осі бар, сыйымдылығы 12 микротехникалық акселерометр, ажыратымдылығы 12 бит. Қолданбалы бағдарламаланатын икемді опциялар акселерометрге ендірілген функциялардың көмегімен қамтамасыз етілген, олар екі үзу түйреуішіне теңшеледі. Онда ± 2g/± 4g/± 8g пайдаланушы таңдауға болатын толық шкаласы бар, жоғары сүзгіден өткен сүзілген деректер, сонымен қатар нақты уақытта қол жетімді сүзгіленбеген деректер бар. Міне, оның таңқурай pi көмегімен питон кодының көмегімен көрсетілуі.

1 -қадам: Сізге не керек..

Сізге не керек.. !!
Сізге не керек.. !!

1. Raspberry Pi

2. MMA8452Q

3. I²C кабелі

4. Raspberry Pi үшін I²C қалқаны

5. Ethernet кабелі

2 -қадам: Қосылымдар:

Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар

Таңқурай пи үшін I2C қалқанын алыңыз және оны таңқурай пи gpio түйреуіштерінен ақырын басыңыз.

Содан кейін I2C кабелінің бір ұшын MMA8452Q сенсорына, екінші ұшын I2C қалқанына қосыңыз.

Ethernet кабелін pi -ге қосыңыз немесе WiFi модулін қолдана аласыз.

Қосылымдар жоғарыдағы суретте көрсетілген.

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

Код
Код

MMA8452Q үшін питон кодын біздің github репозиторийінен жүктеуге болады- ControlEverythingCommunity

Міне сілтеме.

Біз питон коды үшін SMBus кітапханасын қолдандық, мұнда таңқурай pi -де SMBus орнату қадамдары сипатталған:

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)

уақыт.ұйқы (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

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 z

Accl = (деректер [5] * 256 + деректер [6]) / 16

егер zAccl> 2047:

zAccl -= 4096

# Деректерді экранға шығару

басып шығару «X осіндегі үдеу: %d» %xAccl

басып шығару «Y осінде үдеу: %d» %yAccl

басып шығару «Z осінде үдеу: %d» %zAccl

4 -қадам: Өтініштер:

MMA8452Q әр түрлі қосымшаларға ие, оған электронды компас қосымшалары, портрет/пейзаж, жоғары/төмен, солға/оңға, артқа/алдыңғы позиция идентификаторы, ноутбук, электронды оқырман, ноутбуктің құлдырауы мен құлауды анықтау кіреді. бағдарларды анықтау, оның ішінде виртуалды шындық пен ойынның 3D пайдаланушылардың позициясы туралы кері байланыс, қадамдық қадамдарды санау, HDD үшін құлаудың түсуін анықтау, GPS резервтік көшірмесі және тағы басқалар сияқты нақты уақыттағы белсенділікті талдау.

Ұсынылған: