Satura rādītājs:

Raspberry Pi MMA8452Q 3 asu 12 bitu/8 bitu digitālā akselerometra Python apmācība: 4 soļi
Raspberry Pi MMA8452Q 3 asu 12 bitu/8 bitu digitālā akselerometra Python apmācība: 4 soļi

Video: Raspberry Pi MMA8452Q 3 asu 12 bitu/8 bitu digitālā akselerometra Python apmācība: 4 soļi

Video: Raspberry Pi MMA8452Q 3 asu 12 bitu/8 bitu digitālā akselerometra Python apmācība: 4 soļi
Video: Raspebrry Pi MCP3425 I2C Analog to Digital Converter Python Tutorial 2024, Jūlijs
Anonim
Image
Image

MMA8452Q ir gudrs, mazjaudas, trīs asu, kapacitatīvs, mikromehāniski apstrādāts akselerometrs ar 12 bitu izšķirtspēju. Elastīgas lietotāja programmējamas opcijas tiek nodrošinātas ar akselerometrā iebūvēto funkciju palīdzību, kuras var konfigurēt ar divām pārtraukšanas tapām. Tam ir lietotāja atlasītas pilnas skalas ± 2g/± 4g/± 8g ar augstfrekvences filtra filtrētiem datiem, kā arī reāllaikā pieejami nefiltrēti dati. Šeit ir tā demonstrācija ar aveņu pi, izmantojot python kodu.

1. solis: kas jums nepieciešams..

Ko tev vajag..!!
Ko tev vajag..!!

1. Aveņu Pi

2. MMA8452Q

3. I²C kabelis

4. I²C vairogs Raspberry Pi

5. Ethernet kabelis

2. darbība. Savienojumi:

Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi
Savienojumi

Paņemiet I2C vairogu aveņu pi un viegli piespiediet to pa aveņu pi gpio tapām.

Pēc tam pievienojiet I2C kabeļa vienu galu MMA8452Q sensoram un otru galu I2C vairogam.

Pievienojiet arī Ethernet kabeli pie pi vai varat izmantot WiFi moduli.

Savienojumi ir parādīti attēlā iepriekš.

3. darbība: kods:

Kods
Kods

MMA8452Q python kodu var lejupielādēt no mūsu github krātuves- ControlEverythingCommunity

Šeit ir saite.

Mēs esam izmantojuši SMBus bibliotēku python kodam, soļi SMBus instalēšanai aveņu pi ir aprakstīti šeit:

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

Varat arī nokopēt kodu no šejienes, tas ir norādīts šādi:

# Izplatīts ar brīvās gribas licenci.

# Izmantojiet to jebkurā veidā, bez peļņas vai bez maksas, ja vien tas atbilst saistīto darbu licencēm.

# MMA8452Q

# Šis kods ir paredzēts darbam ar MMA8452Q_I2CS I2C mini moduli.

importēt smbus

importa laiks

# Iegūstiet I2C autobusu

autobuss = smbus. SMBus (1)

# MMA8452Q adrese, 0x1C (28)

# Atlasiet vadības reģistru, 0x2A (42)

# 0x00 (00) Gaidīšanas režīms

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

# MMA8452Q adrese, 0x1C (28)

# Atlasiet vadības reģistru, 0x2A (42)

# 0x01 (01) Aktīvais režīms

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

# MMA8452Q adrese, 0x1C (28)

# Atlasiet konfigurācijas reģistru, 0x0E (14)

# 0x00 (00) Iestatiet diapazonu uz +/- 2g

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

miega laiks (0,5)

# MMA8452Q adrese, 0x1C (28)

# Lasīt datus no 0x00 (0), 7 baitiem

# Statusa reģistrs, X ass MSB, X ass LSB, Y ass MSB, Y ass LSB, Z ass MSB, Z ass ass LSB

dati = bus.read_i2c_block_data (0x1C, 0x00, 7)

# Konvertējiet datus

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

ja xAccl> 2047:

xAccl -= 4096

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

ja yAccl> 2047:

yAccl -= 4096 z

Akl = (dati [5] * 256 + dati [6]) / 16

ja zAccl> 2047:

zAccl -= 4096

# Izvadiet datus ekrānā

drukāt "Paātrinājums X-asī: %d" %xAccl

drukāt "Paātrinājums Y-asī: %d" %yAccl

drukāt "Paātrinājums Z-asī: %d" %zAccl

4. darbība. Lietojumprogrammas:

MMA8452Q ir dažādas lietojumprogrammas, kas ietver E-kompasa lietojumprogrammas, statiskās orientācijas noteikšanu, kas ietver portreta/ainavas, augšup/lejup, pa kreisi/pa labi, aizmugures/priekšējās pozīcijas identifikāciju, piezīmjdatoru, e-lasītāju un klēpjdatora veļas un brīvā kritiena noteikšanu, reālā laikā orientācijas noteikšana, ieskaitot virtuālo realitāti un spēļu 3D lietotāja atrašanās vietas atgriezenisko saiti, reāllaika darbību analīze, piemēram, soļu skaitīšanas soļu skaitīšana, brīvā kritiena noteikšana HDD, mirušo aprēķinu GPS dublēšana un daudz kas cits.

Ieteicams: