Kazalo:

Raspberry Pi MMA8452Q 3-osni 12-bitni/8-bitni digitalni merilnik pospeška Python Vadnica: 4 koraki
Raspberry Pi MMA8452Q 3-osni 12-bitni/8-bitni digitalni merilnik pospeška Python Vadnica: 4 koraki

Video: Raspberry Pi MMA8452Q 3-osni 12-bitni/8-bitni digitalni merilnik pospeška Python Vadnica: 4 koraki

Video: Raspberry Pi MMA8452Q 3-osni 12-bitni/8-bitni digitalni merilnik pospeška Python Vadnica: 4 koraki
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial 2024, Julij
Anonim
Image
Image

MMA8452Q je pameten, triosni, kapacitivni, mikroobdelovalni merilnik pospeška z nizko porabo energije z ločljivostjo 12 bitov. Prilagodljive možnosti, ki jih lahko programira uporabnik, so na voljo s pomočjo vgrajenih funkcij v merilniku pospeška, ki jih je mogoče konfigurirati na dva prekinitvena zatiča. Ima polne lestvice, ki jih lahko izbere uporabnik ± 2 g/± 4 g/± 8 g, z visokofrekvenčnimi filtriranimi podatki in nefiltriranimi podatki, ki so na voljo v realnem času. Tukaj je njegova predstavitev z malinovim pi z uporabo kode python.

Korak: Kaj potrebujete.. !

Kaj rabiš..!!
Kaj rabiš..!!

1. Malina Pi

2. MMA8452Q

3. Kabel I²C

4. I²C ščit za Raspberry Pi

5. Ethernetni kabel

2. korak: Povezave:

Povezave
Povezave
Povezave
Povezave
Povezave
Povezave
Povezave
Povezave

Za malino pi vzemite ščit I2C in ga nežno potisnite čez zatiče gpio maline pi.

Nato en konec kabla I2C priključite na senzor MMA8452Q, drugi konec pa na ščit I2C.

Ethernetni kabel priključite tudi na pi ali pa uporabite modul WiFi.

Povezave so prikazane na zgornji sliki.

3. korak: Koda:

Koda
Koda

Kodo python za MMA8452Q lahko prenesete iz našega skladišča github- ControlEverythingCommunity

Tukaj je povezava.

Za kodo python smo uporabili knjižnico SMBus, koraki za namestitev SMBus na malino pi so opisani tukaj:

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

Kodo lahko tudi kopirate od tu, podana je na naslednji način:

# Razdeljeno z licenco za svobodno voljo.

# Uporabite ga kakor koli želite, dobičkonosno ali brezplačno, pod pogojem, da ustreza licencam pripadajočih del.

# MMA8452Q

# Ta koda je zasnovana za delo z mini modulom MMA8452Q_I2CS I2C.

uvoz smbus

čas uvoza

# Pridobite avtobus I2C

vodilo = smbus. SMBus (1)

# Naslov MMA8452Q, 0x1C (28)

# Izberite Nadzorni register, 0x2A (42)

# 0x00 (00) Način StandBy

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

# Naslov MMA8452Q, 0x1C (28)

# Izberite Nadzorni register, 0x2A (42)

# 0x01 (01) Aktivni način

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

# Naslov MMA8452Q, 0x1C (28)

# Izberite register konfiguracije, 0x0E (14)

# 0x00 (00) Nastavite obseg na +/- 2g

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

time.sleep (0,5)

# Naslov MMA8452Q, 0x1C (28)

# Preberite podatke nazaj od 0x00 (0), 7 bajtov

# Register statusa, X-osi MSB, X-osi LSB, Y-osi MSB, Y-osi LSB, Z-osi MSB, Z-osi LSB

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

# Pretvorite podatke

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

če je xAccl> 2047:

xAccl -= 4096

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

če je yAccl> 2047:

yAccl -= 4096 z

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

če je zAccl> 2047:

zAccl -= 4096

# Iznesite podatke na zaslon

natisni "Pospešek v osi X: %d" %xAccl

natisni "Pospešek v osi Y: %d" %yAccl

natisni "Pospešek v osi Z: %d" %zAccl

4. korak: Aplikacije:

MMA8452Q ima različne aplikacije, ki vključujejo aplikacije za e-kompas, zaznavanje statične orientacije, ki vključujejo pokončno/ležeče, gor/dol, levo/desno, identifikacijo položaja zadaj/spredaj, prenosni računalnik, e-bralnik ter zaznavanje padca in prenosnika prenosnega računalnika v realnem času odkrivanje orientacije, vključno z navidezno resničnostjo in povratnimi informacijami o položaju uporabnika v igrah 3D, analizo aktivnosti v realnem času, kot je štetje korakov pedometra, zaznavanje padcev prostega padca za trdi disk, varnostno kopiranje GPS-a in še veliko več.

Priporočena: