Taula de continguts:

Mesura de l’acceleració mitjançant H3LIS331DL i Raspberry Pi: 4 passos
Mesura de l’acceleració mitjançant H3LIS331DL i Raspberry Pi: 4 passos

Vídeo: Mesura de l’acceleració mitjançant H3LIS331DL i Raspberry Pi: 4 passos

Vídeo: Mesura de l’acceleració mitjançant H3LIS331DL i Raspberry Pi: 4 passos
Vídeo: Saló Nàutic 2023 | Accions del Pla Litoral de Barcelona 2018- 2028 2024, Juliol
Anonim
Image
Image

H3LIS331DL, és un acceleròmetre lineal de 3 eixos d'alt rendiment de baixa potència que pertany a la família "nano", amb interfície sèrie I²C digital. H3LIS331DL té una escala completa seleccionable per l'usuari de ± 100g / ± 200g / ± 400g i és capaç de mesurar acceleracions amb velocitats de dades de sortida de 0,5 Hz a 1 kHz. Es garanteix que el H3LIS331DL funciona en un interval de temperatura ampliat de -40 ° C a +85 ° C.

En aquest tutorial demostrarem la interfície de H3LIS331DL amb Raspberry Pi, utilitzant python com a llenguatge de programació.

Pas 1: maquinari necessari:

Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari

Els materials que necessitem per assolir el nostre objectiu inclouen els components de maquinari següents:

1. H3LIS331DL

2. Raspberry Pi

3. Cable I2C

4. Escut I2C per a gerds pi

5. Cable Ethernet

Pas 2: connexió de maquinari:

Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari

La secció de connexió de maquinari explica bàsicament les connexions de cablejat necessàries entre el sensor i el raspberry pi. Garantir connexions correctes és la necessitat bàsica mentre es treballa en qualsevol sistema per a la sortida desitjada. Per tant, les connexions necessàries són les següents:

El H3LIS331DL funcionarà sobre I2C. Aquí teniu un exemple de diagrama de cablejat, que demostra com connectar cada interfície del sensor.

Fora de la caixa, el tauler està configurat per a una interfície I2C, per tant, us recomanem que utilitzeu aquesta connexió si no sou agnòstic. Tot el que necessiteu són quatre cables.

Només es necessiten quatre connexions pins Vcc, Gnd, SCL i SDA i es connecten amb l'ajut del cable I2C.

Aquestes connexions es mostren a les imatges anteriors.

Pas 3: Codi Python per a la mesura de l’acceleració:

Codi Python per a la mesura de l’acceleració
Codi Python per a la mesura de l’acceleració

L'avantatge d'utilitzar el raspberry pi és que us proporciona la flexibilitat del llenguatge de programació en què voleu programar la placa per tal d'interfocar-hi el sensor. Aprofitant aquest avantatge d’aquest tauler, demostrem aquí la seva programació al pitó. Python és un dels llenguatges de programació més fàcils amb una sintaxi més senzilla. El codi python de H3LIS331DL es pot descarregar de la nostra comunitat de github que és DCUBE Store.

A més de la facilitat dels usuaris, aquí també expliquem el codi:

Com a primer pas de codificació, heu de descarregar la biblioteca SMBus en cas de python, perquè aquesta biblioteca admet les funcions utilitzades al codi. Per tant, per descarregar la biblioteca podeu visitar el següent enllaç:

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

Podeu copiar el codi de treball des d’aquí també:

importar smbus

temps d'importació

# Obtenir bus I2C = smbus. SMBus (1)

# Adreça H3LIS331DL, 0x18 (24)

# Seleccioneu el registre de control 1, 0x20 (32)

# 0x27 (39) Mode d'encesa, velocitat de sortida de dades = 50 Hz # X, Y, eix Z activat

bus.write_byte_data (0x18, 0x20, 0x27)

# Adreça H3LIS331DL, 0x18 (24) # Seleccioneu el registre de control 4, 0x23 (35)

# 0x00 (00) Actualització contínua, selecció a escala completa = +/- 100g

bus.write_byte_data (0x18, 0x23, 0x00)

time.sleep (0,5)

# Adreça H3LIS331DL, 0x18 (24)

# Llegiu les dades de 0x28 (40), 2 bytes

# Eix X LSB, eix X MSB

data0 = bus.read_byte_data (0x18, 0x28)

data1 = bus.read_byte_data (0x18, 0x29)

# Converteix dataxAccl = data1 * 256 + data0

si xAccl> 32767:

xAccl - = 65536

# Adreça H3LIS331DL, 0x18 (24)

# Llegiu les dades de 0x2A (42), 2 bytes

# Eix Y LSB, eix Y MSB

data0 = bus.read_byte_data (0x18, 0x2A)

data1 = bus.read_byte_data (0x18, 0x2B)

# Converteix les dades

yAccl = data1 * 256 + data0

si yAccl> 32767:

yAccl - = 65536

# Adreça H3LIS331DL, 0x18 (24)

# Llegiu les dades de 0x2C (44), 2 bytes

# Eix Z LSB, eix Z MSB

data0 = bus.read_byte_data (0x18, 0x2C)

data1 = bus.read_byte_data (0x18, 0x2D)

# Converteix les dades

zAccl = data1 * 256 + data0

si zAccl> 32767:

zAccl - = 65536

# Sortida de dades a la pantalla

imprimir "Acceleració a l'eix X:% d"% xAccl

imprimir "Acceleració a l'eix Y:% d"% yAccl

imprimir "Acceleració a l'eix Z:% d"% zAccl

El codi s'executa mitjançant l'ordre següent:

$> python H3LIS331DL.py gt; python H3LIS331DL.py

La sortida del sensor es mostra a la imatge superior per a la referència de l'usuari.

Pas 4: aplicacions:

Aplicacions
Aplicacions

Els acceleròmetres com H3LIS331DL troben principalment la seva aplicació en els jocs i el canvi de perfil de pantalla. Aquest mòdul de sensor també s'utilitza en el sistema avançat de gestió d'energia per a aplicacions mòbils. H3LIS331DL és un sensor d’acceleració digital triaxial que s’incorpora amb un controlador d’interrupció activat per moviment de xip intel·ligent.

Recomanat: