Përmbajtje:

Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Accelerometer dixhital Python Tutorial: 4 hapa
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Accelerometer dixhital Python Tutorial: 4 hapa

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

Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Accelerometer dixhital Python Tutorial: 4 hapa
Video: How to use MPU-9250 Gyroscope, Accelerometer, Magnetometer for Arduino 2024, Korrik
Anonim
Image
Image

MMA8452Q është një akselerometër i zgjuar, me fuqi të ulët, me tre boshte, kapacitiv, me mikromakinim me 12 bit rezolucion. Opsionet fleksibile të programueshme të përdoruesit sigurohen me ndihmën e funksioneve të ngulitura në akselerometër, të konfigurueshme në dy kunja ndërprerëse. Ajo ka shkallë të plota të zgjedhshme nga përdoruesi ± 2g/± 4g/± 8g me të dhëna të filtruara me filtër të lartë, si dhe të dhëna të pa filtruara të disponueshme në kohë reale. Këtu është demonstrimi i tij me mjedër pi duke përdorur kodin python.

Hapi 1: Ajo që ju nevojitet.. !

Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!

1. Raspberry Pi

2. MMA8452Q

3. Kabllo I²C

4. Mburoja I²C për Raspberry Pi

5. Kabllo Ethernet

Hapi 2: Lidhjet:

Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet
Lidhjet

Merrni një mburojë I2C për mjedrën pi dhe shtyjeni butësisht mbi kunjat e gpio të mjedrës pi.

Pastaj lidhni njërin skaj të kabllit I2C me sensorin MMA8452Q dhe skajin tjetër me mburojën I2C.

Gjithashtu lidhni kabllon Ethernet me pi ose mund të përdorni një modul WiFi.

Lidhjet janë treguar në figurën e mësipërme.

Hapi 3: Kodi:

Kodi
Kodi

Kodi python për MMA8452Q mund të shkarkohet nga depoja jonë github- ControlEverythingCommunity

Këtu është lidhja.

Ne kemi përdorur bibliotekën SMBus për kodin python, hapat për të instaluar SMBus në mjedër pi janë përshkruar këtu:

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

Ju gjithashtu mund të kopjoni kodin nga këtu, ai jepet si më poshtë:

# Shpërndarë me një licencë me vullnet të lirë.

# Përdoreni atë në çdo mënyrë që dëshironi, fitimprurëse ose falas, me kusht që të përshtatet në licencat e veprave të tij shoqëruese.

# MMA8452Q

# Ky kod është krijuar për të punuar me Mini Modulin MMA8452Q_I2CS I2C.

import smbus

koha e importit

# Merrni autobusin I2C

autobus = smbus. SMBus (1)

Adresa # MMA8452Q, 0x1C (28)

# Zgjidh regjistrin e Kontrollit, 0x2A (42)

# 0x00 (00) Modaliteti i gatishmërisë

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

Adresa # MMA8452Q, 0x1C (28)

# Zgjidh regjistrin e Kontrollit, 0x2A (42)

# 0x01 (01) Mënyra aktive

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

Adresa # MMA8452Q, 0x1C (28)

# Zgjidh regjistrin e konfigurimit, 0x0E (14)

# 0x00 (00) Vendosni diapazonin në +/- 2g

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

koha. gjumi (0.5)

# MMA8452Q adresa, 0x1C (28)

# Lexoni të dhënat përsëri nga 0x00 (0), 7 bajt

# Regjistri i statusit, X-Boshti MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB

të dhëna = bus.read_i2c_block_data (0x1C, 0x00, 7)

# Konvertoni të dhënat

xAccl = (të dhëna [1] * 256 + të dhëna [2]) / 16

nëse xAccl> 2047:

xAccl -= 4096

yAccl = (të dhëna [3] * 256 + të dhëna [4]) / 16

nëse yAccl> 2047:

yAccl -= 4096 z

Accl = (të dhënat [5] * 256 + të dhënat [6]) / 16

nëse zAccl> 2047:

zAccl -= 4096

# Dalja e të dhënave në ekran

print "Përshpejtimi në boshtin X: %d" %xAccl

print "Përshpejtimi në Boshtin Y: %d" %yAccl

print "Përshpejtimi në Boshtin Z: %d" %zAccl

Hapi 4: Aplikimet:

MMA8452Q ka aplikacione të ndryshme të cilat përfshijnë aplikacione E-Compass, zbulim të orientimit statik të cilat përfshijnë Portret/Peizazh, Lart/Poshtë, Majtas/Djathtas, Identifikimi i pozicionit mbrapa/përpara, Fletore, lexues elektronik, dhe Laptop Tumble and Freefall Detection, në kohë reale zbulimi i orientimit përfshirë realitetin virtual dhe reagimet e pozicionit të përdoruesit 3D të lojërave, analiza e aktivitetit në kohë reale, të tilla si numërimi i hapave të pedometrit, zbulimi i rënies së rënies së lirë për HDD, kopjimi GPS i llogaritur i vdekur dhe shumë më tepër.

Recommended: