Taula de continguts:

Raspberry Pi - Tutorial d’acceleròmetre de 3 eixos ADXL345 Python: 4 passos
Raspberry Pi - Tutorial d’acceleròmetre de 3 eixos ADXL345 Python: 4 passos

Vídeo: Raspberry Pi - Tutorial d’acceleròmetre de 3 eixos ADXL345 Python: 4 passos

Vídeo: Raspberry Pi - Tutorial d’acceleròmetre de 3 eixos ADXL345 Python: 4 passos
Vídeo: ADXL335: Интерфейс Raspberry Pi с датчиком MEMS — 3-осевой акселерометр 2024, Juliol
Anonim

L’ADXL345 és un acceleròmetre de 3 eixos petit, prim i ultralleuger, de 3 eixos, amb una resolució d’alta resolució (13 bits) de fins a ± 16 g. Les dades de sortida digital es formaten com a complement de dos bits de 16 bits i són accessibles a través de la interfície digital I2 C. Mesura l’acceleració estàtica de la gravetat en aplicacions de detecció d’inclinació, així com l’acceleració dinàmica resultant del moviment o xoc. La seva alta resolució (3,9 mg / LSB) permet mesurar canvis d’inclinació inferiors a 1,0 °. Aquí teniu la demostració amb raspberry pi mitjançant codi Python.

Pas 1: el que necessiteu..

Què necessites..!!
Què necessites..!!
Què necessites..!!
Què necessites..!!

1. Raspberry Pi

2. ADXL345

3. Cable I²C

4. Escut I²C per a Raspberry Pi

5. Cable Ethernet

Pas 2: connexió:

Connexió
Connexió
Connexió
Connexió
Connexió
Connexió
Connexió
Connexió

Agafeu un escut I2C per a raspberry pi i passeu-lo suaument per sobre dels pins gpio de raspberry pi.

A continuació, connecteu un extrem del cable I2C al sensor ADXL345 i l’altre extrem a l’escut I2C.

Connecteu també el cable Ethernet al pi o podeu utilitzar un mòdul WiFi.

Les connexions es mostren a la imatge superior.

Pas 3: Codi:

Codi
Codi

El codi python de l'ADXL345 es pot descarregar des del nostre dipòsit GitHub - Dcube Store

Aquí teniu l’enllaç per al mateix:

github.com/DcubeTechVentures/ADXL345..

Hem utilitzat la biblioteca SMBus per al codi python; aquí es descriuen els passos per instal·lar SMBus al raspberry pi:

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

També podeu copiar el codi des d’aquí, es dóna de la següent manera:

# Distribuït amb una llicència de lliure voluntat.

# Utilitzeu-lo de la manera que vulgueu, de beneficis o de franc, sempre que encaixi en les llicències de les obres associades.

# ADXL345

# Aquest codi està dissenyat per funcionar amb el mini mòdul ADXL345_I2CS I2C disponible a Dcube Store.

importar smbus

temps d'importació

# Aconsegueix un bus I2C

bus = smbus. SMBus (1)

# ADXL345 adreça, 0x53 (83)

# Seleccioneu el registre de velocitat d'amplada de banda, 0x2C (44) # 0x0A (10) Mode normal, velocitat de dades de sortida = 100 Hz

bus.write_byte_data (0x53, 0x2C, 0x0A)

# ADXL345 adreça, 0x53 (83)

# Seleccioneu el registre de control de potència, 0x2D (45)

# 0x08 (08) Desactivació de la suspensió automàtica

bus.write_byte_data (0x53, 0x2D, 0x08)

# ADXL345 adreça, 0x53 (83)

# Seleccioneu el registre de format de dades, 0x31 (49)

# 0x08 (08) Autotest desactivat, interfície de 4 fils

# Resolució completa, rang = +/- 2g

bus.write_byte_data (0x53, 0x31, 0x08)

time.sleep (0,5)

# ADXL345 adreça, 0x53 (83)

# Llegiu les dades de 0x32 (50), 2 bytes

# Eix X LSB, eix X MSB

data0 = bus.read_byte_data (0x53, 0x32)

data1 = bus.read_byte_data (0x53, 0x33)

# Converteix les dades a 10 bits

xAccl = ((dades1 i 0x03) * 256) + dades0

si xAccl> 511:

xAccl - = 1024

# ADXL345 adreça, 0x53 (83)

# Llegiu les dades de 0x34 (52), 2 bytes

# Eix Y LSB, eix Y MSB

data0 = bus.read_byte_data (0x53, 0x34)

data1 = bus.read_byte_data (0x53, 0x35)

# Converteix les dades a 10 bits

yAccl = ((dades1 i 0x03) * 256) + dades0

si yAccl> 511:

yAccl - = 1024

# ADXL345 adreça, 0x53 (83)

# Llegiu les dades de 0x36 (54), 2 bytes

# Eix Z LSB, eix Z MSB

data0 = bus.read_byte_data (0x53, 0x36)

data1 = bus.read_byte_data (0x53, 0x37)

# Converteix les dades a 10 bits

zAccl = ((dades1 i 0x03) * 256) + dades0

si zAccl> 511:

zAccl - = 1024

# 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

Pas 4: aplicacions:

L'ADXL345 és un acceleròmetre de 3 eixos petit, prim i de poca potència, que es pot utilitzar en telèfons mòbils, instrumentació mèdica, etc.

Recomanat: