Indholdsfortegnelse:

Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 trin
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 trin

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 trin

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 trin
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial 2024, Juli
Anonim
Image
Image

MMA8452Q er et smart, laveffekt, tre-akset, kapacitivt, mikromaskinet accelerometer med 12 bits opløsning. Fleksible brugerprogrammerbare muligheder leveres ved hjælp af integrerede funktioner i accelerometeret, der kan konfigureres til to afbrydelsesnåle. Den har brugervalgbare fulde skalaer på ± 2g/± 4g/± 8g med højpasfilterfiltrerede data samt ikke-filtrerede data tilgængelige i realtid. Her er dens demonstration med hindbær pi ved hjælp af python -kode.

Trin 1: Hvad du har brug for..

Hvad du har brug for..!!
Hvad du har brug for..!!

1. Hindbær Pi

2. MMA8452Q

3. I²C -kabel

4. I²C Shield til Raspberry Pi

5. Ethernet -kabel

Trin 2: Forbindelser:

Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger
Tilslutninger

Tag et I2C -skjold til hindbærpi og skub det forsigtigt hen over gpio -benene på hindbærpi.

Tilslut derefter den ene ende af I2C -kablet til MMA8452Q -sensoren og den anden ende til I2C -skærmen.

Tilslut også Ethernet -kablet til pi'en, eller du kan bruge et WiFi -modul.

Forbindelser er vist på billedet ovenfor.

Trin 3: Kode:

Kode
Kode

Python-koden til MMA8452Q kan downloades fra vores github-lager- ControlEverythingCommunity

Her er linket.

Vi har brugt SMBus -bibliotek til python -kode, trinene til at installere SMBus på hindbær pi er beskrevet her:

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

Du kan også kopiere koden herfra, den er givet som følger:

# Distribueret med en fri vilje-licens.

# Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker.

# MMA8452Q

# Denne kode er designet til at fungere med MMA8452Q_I2CS I2C Mini Module.

import smbus

importtid

# Få I2C -bus

bus = smbus. SMBus (1)

# MMA8452Q adresse, 0x1C (28)

# Vælg kontrolregister, 0x2A (42)

# 0x00 (00) Standby -tilstand

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

# MMA8452Q adresse, 0x1C (28)

# Vælg kontrolregister, 0x2A (42)

# 0x01 (01) Aktiv tilstand

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

# MMA8452Q adresse, 0x1C (28)

# Vælg konfigurationsregister, 0x0E (14)

# 0x00 (00) Indstil område til +/- 2g

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

time.sleep (0,5)

# MMA8452Q adresse, 0x1C (28)

# Læs data tilbage fra 0x00 (0), 7 bytes

# Statusregister, 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)

# Konverter dataene

xAccl = (data [1] * 256 + data [2]) / 16

hvis xAccl> 2047:

xAccl -= 4096

yAccl = (data [3] * 256 + data [4]) / 16

hvis yAccl> 2047:

yAccl -= 4096 z

Accl = (data [5] * 256 + data [6]) / 16

hvis zAccl> 2047:

zAccl -= 4096

# Output data til skærmen

print "Acceleration i X-akse: %d" %xAccl

print "Acceleration i Y-akse: %d" %yAccl

print "Acceleration i Z-akse: %d" %zAccl

Trin 4: Ansøgninger:

MMA8452Q har forskellige applikationer, som omfatter E-Kompass-applikationer, Statisk orienteringsdetektering, der inkorporerer Portræt/Landskab, Op/Ned, Venstre/Højre, Tilbage/Front position identifikation, Notebook, e-reader og Laptop Tumble og Freefall Detection, Real-time orienteringsdetektering inklusive virtual reality og gaming 3D brugerpositionsfeedback, realtidsaktivitetsanalyse såsom skridttæller-trintælling, freefall-drop-detektion for HDD, dødregning af GPS-backup og meget mere.

Anbefalede: