Taula de continguts:
- Pas 1: maquinari necessari:
- Pas 2: connexió de maquinari:
- Pas 3: Codi de mesura de l’acceleració:
- Pas 4: aplicacions:
Vídeo: Mesura de l’acceleració mitjançant ADXL345 i Raspberry Pi: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
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 °.
En aquest tutorial es demostra la interfície del mòdul del sensor ADXL345 amb el raspberry pi i també s'ha il·lustrat la seva programació mitjançant llenguatge python. Per llegir els valors de l’acceleració en tots els eixos 3, hem utilitzat raspberry pi amb un adaptador I2C, que facilita i fa més fiable la connexió al mòdul del sensor.
Pas 1: maquinari necessari:
Els materials que necessitem per assolir el nostre objectiu inclouen els components de maquinari següents:
1. ADXL345
2. Raspberry Pi
3. Cable I2C
4. Escut I2C per a gerds pi
5. Cable Ethernet
Pas 2: 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:
L'ADXL345 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 de 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ó. El codi python per ADXL345 es pot descarregar de la nostra comunitat de github que és Control Everything Community.
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 python de treball d’aquest sensor també des d’aquí:
importar smbus
temps d'importació
# Obtenir bus I2C = smbus. SMBus (1)
# ADXL345 adreça, 0x53 (83)
# Seleccioneu el registre de taxa 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
La part de codi esmentada a continuació inclou les biblioteques necessàries per a la correcta execució dels codis python.
importació de temps d'importació smbus
El codi es pot executar escrivint l'ordre esmentada a continuació a l'indicador d'ordres.
$> python ADXL345.py
La sortida del sensor també es mostra a la imatge superior per a la referència de l'usuari.
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:
Mesura de l’acceleració mitjançant ADXL345 i fotó de partícules: 4 passos
Mesura de l’acceleració mitjançant l’ADXL345 i el fotó de partícules: l’ADXL345 és un acceleròmetre de 3 eixos petit, prim i ultralleuger, amb una resolució alta (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 el
Mesura de l’acceleració mitjançant H3LIS331DL i Arduino Nano: 4 passos
Mesura de l’acceleració mitjançant H3LIS331DL i Arduino Nano: 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 w
Mesura de l’acceleració mitjançant H3LIS331DL i Raspberry Pi: 4 passos
Mesura de l’acceleració mitjançant H3LIS331DL i Raspberry Pi: 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 w
Mesura de l’acceleració mitjançant ADXL345 i Arduino Nano: 4 passos
Mesura de l’acceleració mitjançant ADXL345 i Arduino Nano: l’ADXL345 és un acceleròmetre de 3 eixos petit, prim i de poca potència, amb un mesurament 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 el
Mesura de l’acceleració mitjançant BMA250 i Raspberry Pi: 4 passos
Mesurament de l’acceleració mitjançant BMA250 i Raspberry Pi: BMA250 és un acceleròmetre de 3 eixos petit, prim i de poca potència, amb un mesurament 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 I2C. Mesura l'estàtic