Tartalomjegyzék:

Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Python bemutató: 4 lépés
Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Python bemutató: 4 lépés

Videó: Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Python bemutató: 4 lépés

Videó: Raspberry Pi MMA8452Q 3 tengelyes 12 bites/8 bites digitális gyorsulásmérő Python bemutató: 4 lépés
Videó: Петух еще живой, погнали в DLC ► 16 Прохождение Dark Souls 3 2024, Július
Anonim
Image
Image

Az MMA8452Q egy intelligens, kis teljesítményű, három tengelyes, kapacitív, mikromotoros gyorsulásmérő, 12 bit felbontással. Rugalmas, felhasználó által programozható lehetőségek állnak rendelkezésre a gyorsulásmérő beágyazott funkciói segítségével, amelyek két megszakító csaphoz konfigurálhatók. A felhasználó által választható teljes skálák ± 2 g/± 4 g/± 8 g, felüláteresztő szűrőkkel, valamint valós időben elérhető nem szűrt adatokkal. Itt a bemutatója a málna pi -vel python kód használatával.

1. lépés: Amire szüksége van..

Amire szükséged van..!!
Amire szükséged van..!!

1. Málna Pi

2. MMA8452Q

3. I²C kábel

4. I²C pajzs a Raspberry Pi számára

5. Ethernet kábel

2. lépés: Csatlakozások:

Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások
Csatlakozások

Vegyünk egy I2C pajzsot a málna pi számára, és óvatosan toljuk át a málna pi gpio csapjaira.

Ezután csatlakoztassa az I2C kábel egyik végét az MMA8452Q érzékelőhöz, a másik végét pedig az I2C árnyékoláshoz.

Csatlakoztassa az Ethernet kábelt is a pi -hez, vagy használhat WiFi modult.

A csatlakozásokat a fenti kép mutatja.

3. lépés: Kód:

Kód
Kód

Az MMA8452Q python kódja letölthető a github tárhelyünkről- ControlEverythingCommunity

Itt a link.

Az SMBus könyvtárat használtuk a python kódhoz, az SMBus raspberry pi -re történő telepítésének lépéseit itt írjuk le:

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

Innen is másolhatja a kódot, ez a következőképpen van megadva:

# Szabad akaratú licenccel terjesztik.

# Használhatja bármilyen módon, nyereséggel vagy ingyen, feltéve, hogy illeszkedik a kapcsolódó művek licenceihez.

# MMA8452Q

# Ez a kód az MMA8452Q_I2CS I2C mini modullal való együttműködésre készült.

import smbus

importálási idő

# Szerezzen I2C buszt

busz = smbus. SMBus (1)

# MMA8452Q cím, 0x1C (28)

# Vezérlőregiszter kiválasztása, 0x2A (42)

# 0x00 (00) Készenléti mód

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

# MMA8452Q cím, 0x1C (28)

# Vezérlőregiszter kiválasztása, 0x2A (42)

# 0x01 (01) Aktív mód

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

# MMA8452Q cím, 0x1C (28)

# Válassza ki a konfigurációs regisztert, 0x0E (14)

# 0x00 (00) A tartomány beállítása +/- 2g

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

time.sleep (0,5)

# MMA8452Q cím, 0x1C (28)

# Adatok visszaolvasása 0x00 (0), 7 bájtból

# Állapotregiszter, X tengely MSB, X tengely LSB, Y tengely MSB, Y tengely LSB, Z tengely MSB, Z tengely LSB

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

# Konvertálja az adatokat

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

ha xAccl> 2047:

xAccl -= 4096

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

ha yAccl> 2047:

yAccl -= 4096 z

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

ha zAccl> 2047:

zAccl -= 4096

# Adatok megjelenítése a képernyőn

print "Gyorsulás az X-tengelyben: %d" %xAccl

print "Gyorsulás Y tengelyen: %d" %yAccl

print "Gyorsulás Z-tengelyben: %d" %zAccl

4. lépés: Alkalmazások:

Az MMA8452Q számos alkalmazással rendelkezik, beleértve az E-Iránytű alkalmazásokat, a Statikus tájolás érzékelést, amely magában foglalja a portré/tájképet, a fel/le, a bal/jobb, a hátsó/elülső pozíció azonosítását, a notebookot, az e-olvasót, valamint a laptop bukdácsolás és szabadesés érzékelését, valós idejű orientáció észlelés, beleértve a virtuális valóságot és a játék 3D felhasználói pozíció visszajelzését, valós idejű tevékenységelemzés, mint például lépésszámláló lépésszámlálása, szabadon eséses érzékelés a HDD-hez, holt-számláló GPS-mentés és még sok más.

Ajánlott: