Sisällysluettelo:

Raspberry Pi MMA8452Q 3-akselinen 12-bittinen/8-bittinen digitaalinen kiihtyvyysanturi Python-opetusohjelma: 4 vaihetta
Raspberry Pi MMA8452Q 3-akselinen 12-bittinen/8-bittinen digitaalinen kiihtyvyysanturi Python-opetusohjelma: 4 vaihetta

Video: Raspberry Pi MMA8452Q 3-akselinen 12-bittinen/8-bittinen digitaalinen kiihtyvyysanturi Python-opetusohjelma: 4 vaihetta

Video: Raspberry Pi MMA8452Q 3-akselinen 12-bittinen/8-bittinen digitaalinen kiihtyvyysanturi Python-opetusohjelma: 4 vaihetta
Video: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial 2024, Heinäkuu
Anonim
Image
Image

MMA8452Q on älykäs, pienitehoinen, kolmiakselinen, kapasitiivinen, mikrotyöstettävä kiihtyvyysanturi, jonka tarkkuus on 12 bittiä. Joustavat käyttäjän ohjelmoitavat vaihtoehdot on varustettu kiihtyvyysmittarin upotetuilla toiminnoilla, jotka voidaan konfiguroida kahteen keskeytystappiin. Siinä on käyttäjän valittavissa olevat täydet asteikot ± 2 g/± 4 g/± 8 g, joissa on ylipäästösuodattimen suodatettua dataa ja reaaliajassa saatavilla suodattamatonta tietoa. Tässä on sen esittely vadelma pi: llä käyttäen python -koodia.

Vaihe 1: Mitä tarvitset..

Mitä tarvitset..!!
Mitä tarvitset..!!

1. Vadelma Pi

2. MMA8452Q

3. I²C -kaapeli

4. I²C -kilpi Raspberry Pi: lle

5. Ethernet -kaapeli

Vaihe 2: Liitännät:

Liitännät
Liitännät
Liitännät
Liitännät
Liitännät
Liitännät
Liitännät
Liitännät

Ota I2C -kilpi vadelma pi: lle ja työnnä sitä varovasti vadelma pi: n gpio -nastojen päälle.

Liitä sitten I2C -kaapelin toinen pää MMA8452Q -anturiin ja toinen pää I2C -suojaan.

Liitä myös Ethernet -kaapeli pi: hen tai voit käyttää WiFi -moduulia.

Liitännät näkyvät yllä olevassa kuvassa.

Vaihe 3: Koodi:

Koodi
Koodi

MMA8452Q: n python-koodin voi ladata github-arkistostamme- ControlEverythingCommunity

Tässä on linkki.

Olemme käyttäneet SMBus -kirjastoa python -koodille, SMBus -asennuksen vaiheet vadelma pi: lle on kuvattu tässä:

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

Voit myös kopioida koodin täältä, se annetaan seuraavasti:

# Jaetaan vapaaehtoisella lisenssillä.

# Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin.

# MMA8452Q

# Tämä koodi on suunniteltu toimimaan MMA8452Q_I2CS I2C Mini -moduulin kanssa.

tuoda smbus

tuonnin aika

# Hanki I2C -bussi

väylä = smbus. SMBus (1)

# MMA8452Q -osoite, 0x1C (28)

# Valitse Ohjausrekisteri, 0x2A (42)

# 0x00 (00) Valmiustila

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

# MMA8452Q -osoite, 0x1C (28)

# Valitse Ohjausrekisteri, 0x2A (42)

# 0x01 (01) Aktiivinen tila

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

# MMA8452Q -osoite, 0x1C (28)

# Valitse määritysrekisteri, 0x0E (14)

# 0x00 (00) Aseta alueeksi +/- 2 g

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

aika. unta (0,5)

# MMA8452Q -osoite, 0x1C (28)

# Lue tiedot takaisin 0x00 (0), 7 tavua

# Tilarekisteri, X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB

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

# Muunna tiedot

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

jos xAccl> 2047:

xAccl -= 4096

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

jos yAccl> 2047:

yAccl -= 4096 z

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

jos zAccl> 2047:

zAccl -= 4096

# Tulosta tiedot näytölle

tulosta "Kiihtyvyys X-akselilla: %d" %xAccl

tulosta "Kiihtyvyys Y-akselilla: %d" %yAccl

tulosta "Kiihtyvyys Z-akselilla: %d" %zAccl

Vaihe 4: Sovellukset:

MMA8452Q: ssa on useita sovelluksia, joihin kuuluvat E-kompassisovellukset, staattisen suunnan tunnistus, joka sisältää pystysuuntaisen/vaakasuuntaisen, ylös/alas, vasen/oikea, taka-/etuasennon tunnistuksen, kannettavan, e-lukijan ja kannettavan tietokoneen rummun ja putoamisen tunnistuksen, reaaliaikainen suunnan havaitseminen, mukaan lukien virtuaalitodellisuus ja pelaamisen 3D-käyttäjäpalaute, reaaliaikainen toiminta-analyysi, kuten askelmittarin askellaskenta, vapaapudotuksen havaitseminen kiintolevylle, kuolleen laskennan GPS-varmuuskopiointi ja paljon muuta.

Suositeltava: