Sommario:

Raspberry Pi MMA8452Q Esercitazione su Python per accelerometro digitale a 3 assi a 12 bit / 8 bit: 4 passaggi
Raspberry Pi MMA8452Q Esercitazione su Python per accelerometro digitale a 3 assi a 12 bit / 8 bit: 4 passaggi

Video: Raspberry Pi MMA8452Q Esercitazione su Python per accelerometro digitale a 3 assi a 12 bit / 8 bit: 4 passaggi

Video: Raspberry Pi MMA8452Q Esercitazione su Python per accelerometro digitale a 3 assi a 12 bit / 8 bit: 4 passaggi
Video: Саммит разработчиков TensorFlow 2018 — прямая трансляция 2024, Dicembre
Anonim
Image
Image

L'MMA8452Q è un accelerometro intelligente, a bassa potenza, a tre assi, capacitivo, microlavorato con 12 bit di risoluzione. Opzioni flessibili programmabili dall'utente sono fornite con l'ausilio di funzioni integrate nell'accelerometro, configurabili su due pin di interruzione. Dispone di scale complete selezionabili dall'utente di ±2g/±4g/±8g con dati filtrati con filtro passa-alto e dati non filtrati disponibili in tempo reale. Ecco la sua dimostrazione con raspberry pi usando il codice python.

Passaggio 1: ciò di cui hai bisogno.

Quello di cui hai bisogno..!!
Quello di cui hai bisogno..!!

1. Lampone Pi

2. MMA8452Q

3. Cavo I²C

4. Scudo I²C per Raspberry Pi

5. Cavo Ethernet

Passaggio 2: connessioni:

Connessioni
Connessioni
Connessioni
Connessioni
Connessioni
Connessioni
Connessioni
Connessioni

Prendi uno scudo I2C per lampone pi e spingilo delicatamente sui pin gpio di lampone pi.

Quindi collegare un'estremità del cavo I2C al sensore MMA8452Q e l'altra estremità allo schermo I2C.

Collega anche il cavo Ethernet al pi oppure puoi utilizzare un modulo WiFi.

I collegamenti sono mostrati nell'immagine sopra.

Passaggio 3: codice:

Codice
Codice

Il codice python per MMA8452Q può essere scaricato dal nostro repository github- ControlEverythingCommunity

Ecco il link.

Abbiamo utilizzato la libreria SMBus per il codice Python, i passaggi per installare SMBus su raspberry pi sono descritti qui:

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

Puoi anche copiare il codice da qui, è fornito come segue:

# Distribuito con una licenza libera.

# Usalo come preferisci, a scopo di lucro o gratuito, a condizione che si adatti alle licenze delle opere associate.

# MMA8452Q

# Questo codice è progettato per funzionare con il Mini Modulo I2C MMA8452Q_I2CS.

import smbus

tempo di importazione

# Ottieni l'autobus I2C

bus = smbus. SMBus(1)

# indirizzo MMA8452Q, 0x1C(28)

# Seleziona Registro di controllo, 0x2A(42)

# 0x00(00) Modalità standby

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

# indirizzo MMA8452Q, 0x1C(28)

# Seleziona Registro di controllo, 0x2A(42)

# 0x01(01) Modalità attiva

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

# indirizzo MMA8452Q, 0x1C(28)

# Seleziona il registro di configurazione, 0x0E(14)

# 0x00(00) Imposta l'intervallo su +/- 2g

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

tempo.sonno(0.5)

# indirizzo MMA8452Q, 0x1C(28)

# Rilegge i dati da 0x00(0), 7 byte

# Registro di stato, MSB asse X, LSB asse X, MSB asse Y, LSB asse Y, MSB asse Z, LSB asse Z

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

# Converti i dati

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

se xAccl > 2047:

xAccl -= 4096

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

se yAccl > 2047:

yAccl -= 4096 z

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

se zAccl > 2047:

zAccl -= 4096

# Invia i dati allo schermo

print "Accelerazione nell'asse X: %d" %xAccl

print "Accelerazione nell'asse Y: %d" %yAccl

print "Accelerazione nell'asse Z: %d" %zAccl

Passaggio 4: applicazioni:

MMA8452Q ha varie applicazioni che includono applicazioni E-Compass, rilevamento dell'orientamento statico che incorpora verticale/orizzontale, su/giù, sinistra/destra, identificazione della posizione posteriore/anteriore, notebook, e-reader e rilevamento di caduta e caduta libera del laptop, in tempo reale rilevamento dell'orientamento, tra cui realtà virtuale e feedback sulla posizione dell'utente di gioco 3D, analisi dell'attività in tempo reale come il conteggio dei passi del pedometro, rilevamento della caduta libera per HDD, backup GPS stimata e molto altro.

Consigliato: