Obsah:

Raspberry Pi MMA8452Q 3osý 12bitový/8bitový digitální akcelerometr Python Výuka: 4 kroky
Raspberry Pi MMA8452Q 3osý 12bitový/8bitový digitální akcelerometr Python Výuka: 4 kroky

Video: Raspberry Pi MMA8452Q 3osý 12bitový/8bitový digitální akcelerometr Python Výuka: 4 kroky

Video: Raspberry Pi MMA8452Q 3osý 12bitový/8bitový digitální akcelerometr Python Výuka: 4 kroky
Video: Adafruit MMA8451 Acceleromter + Processing 2024, Červenec
Anonim
Image
Image

MMA8452Q je chytrý, tříosý, kapacitní, mikroosý akcelerometr s nízkým výkonem a 12bitovým rozlišením. Flexibilní uživatelsky programovatelné možnosti jsou poskytovány pomocí vestavěných funkcí v akcelerometru, konfigurovatelných na dva kolíky přerušení. Má uživatelem volitelná plná měřítka ± 2 g/± 4 g/± 8 g s filtrovanými daty filtrovanými horním průchodem i nefiltrovanými daty, která jsou k dispozici v reálném čase. Zde je jeho ukázka s malinou pi pomocí kódu pythonu.

Krok 1: Co potřebujete..

Co potřebuješ..!!
Co potřebuješ..!!

1. Raspberry Pi

2. MMA8452Q

3. I²C kabel

4. I²C štít pro Raspberry Pi

5. Ethernetový kabel

Krok 2: Připojení:

Připojení
Připojení
Připojení
Připojení
Připojení
Připojení
Připojení
Připojení

Vezměte I2C štít pro malinový pi a jemně jej zatlačte přes gpio piny malinového pi.

Poté připojte jeden konec kabelu I2C k senzoru MMA8452Q a druhý konec ke stínění I2C.

Připojte také ethernetový kabel k pí nebo můžete použít modul WiFi.

Připojení jsou znázorněna na obrázku výše.

Krok 3: Kód:

Kód
Kód

Pythonový kód pro MMA8452Q lze stáhnout z našeho úložiště github- ControlEverythingCommunity

Tady je odkaz.

Pro kód pythonu jsme použili knihovnu SMBus, kroky k instalaci SMBus na Raspberry Pi jsou popsány zde:

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

Odtud můžete také zkopírovat kód, který je uveden následovně:

# Distribuováno s licencí svobodné vůle.

# Použijte jej jakýmkoli způsobem, ať už ziskem nebo zdarma, za předpokladu, že se vejde do licencí souvisejících děl.

# MMA8452Q

# Tento kód je navržen pro práci s mini modulem MMA8452Q_I2CS I2C.

importovat smbus

čas importu

# Získejte autobus I2C

bus = smbus. SMBus (1)

# MMA8452Q adresa, 0x1C (28)

# Vyberte řídicí registr, 0x2A (42)

# 0x00 (00) Standby režim

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

# MMA8452Q adresa, 0x1C (28)

# Vyberte řídicí registr, 0x2A (42)

# 0x01 (01) Aktivní režim

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

# MMA8452Q adresa, 0x1C (28)

# Vyberte konfigurační registr, 0x0E (14)

# 0x00 (00) Nastavit rozsah na +/- 2g

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

time.sleep (0,5)

# MMA8452Q adresa, 0x1C (28)

# Přečtěte data zpět od 0x00 (0), 7 bytů

# Stavový registr, osa X MSB, osa X LSB, osa Y MSB, osa Y LSB, osa Z MSB, osa Z LSB

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

# Převeďte data

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

pokud xAccl> 2047:

xAccl -= 4096

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

pokud yAccl> 2047:

yAccl -= 4096 z

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

pokud zAccl> 2047:

zAccl -= 4096

# Výstup dat na obrazovku

tisk "Zrychlení v ose X: %d" %xAccl

tisk "Zrychlení v ose Y: %d" %yAccl

tisk "Zrychlení v ose Z: %d" %zAccl

Krok 4: Aplikace:

MMA8452Q má různé aplikace, které zahrnují aplikace E-Compass, detekci statické orientace, která zahrnuje portrét/krajina, nahoru/dolů, doleva/doprava, identifikace polohy zezadu/zepředu, notebook, elektronická čtečka a detekce pádu a volného pádu notebooku, v reálném čase detekce orientace včetně virtuální reality a hraní 3D zpětná vazba o poloze uživatele, analýza aktivity v reálném čase, jako je počítání kroků krokoměru, detekce pádu volného pádu pro pevný disk, zálohování GPS s mrtvým účtem a mnoho dalšího.

Doporučuje: