Table des matières:

Raspberry Pi - Tutoriel Python de l'accéléromètre à 3 axes ADXL345 : 4 étapes
Raspberry Pi - Tutoriel Python de l'accéléromètre à 3 axes ADXL345 : 4 étapes

Vidéo: Raspberry Pi - Tutoriel Python de l'accéléromètre à 3 axes ADXL345 : 4 étapes

Vidéo: Raspberry Pi - Tutoriel Python de l'accéléromètre à 3 axes ADXL345 : 4 étapes
Vidéo: PiicoDev 3-Axis Accelerometer LIS3DH | Guide for Raspberry Pi 2024, Juillet
Anonim

L'ADXL345 est un petit accéléromètre mince, ultrabasse consommation, à 3 axes avec une mesure haute résolution (13 bits) jusqu'à ±16 g. Les données de sortie numériques sont formatées en complément à deux de 16 bits et sont accessibles via l'interface numérique I2 C. Il mesure l'accélération statique de la gravité dans les applications de détection d'inclinaison, ainsi que l'accélération dynamique résultant d'un mouvement ou d'un choc. Sa haute résolution (3,9 mg/LSB) permet de mesurer des changements d'inclinaison inférieurs à 1,0°. Voici la démonstration avec raspberry pi en utilisant du code python.

Étape 1: Ce dont vous avez besoin.

De quoi as-tu besoin..!!
De quoi as-tu besoin..!!
De quoi as-tu besoin..!!
De quoi as-tu besoin..!!

1. Framboise Pi

2. ADXL345

3. Câble I²C

4. Bouclier I²C pour Raspberry Pi

5. Câble Ethernet

Étape 2: Connexion:

Lien
Lien
Lien
Lien
Lien
Lien
Lien
Lien

Prenez un shield I2C pour raspberry pi et poussez-le doucement sur les broches gpio de raspberry pi.

Connectez ensuite l'une des extrémités du câble I2C au capteur ADXL345 et l'autre extrémité au blindage I2C.

Connectez également le câble Ethernet au pi ou vous pouvez utiliser un module WiFi.

Les connexions sont montrées dans l'image ci-dessus.

Étape 3: Coder:

Code
Code

Le code python pour ADXL345 peut être téléchargé depuis notre référentiel GitHub - Dcube Store

Voici le lien pour le même:

github.com/DcubeTechVentures/ADXL345..

Nous avons utilisé la bibliothèque SMBus pour le code python, les étapes pour installer SMBus sur raspberry pi sont décrites ici:

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

Vous pouvez également copier le code d'ici, il est donné comme suit:

# Distribué avec une licence libre-arbitre.

# Utilisez-le comme vous le souhaitez, à profit ou gratuitement, à condition qu'il s'intègre dans les licences de ses œuvres associées.

# ADXL345

# Ce code est conçu pour fonctionner avec le mini module ADXL345_I2CS I2C disponible dans Dcube Store.

importer smbus

heure d'importation

# Obtenez le bus I2C

bus = smbus. SMbus(1)

# Adresse ADXL345, 0x53(83)

# Sélectionnez le registre de débit de bande passante, 0x2C(44)# 0x0A(10) Mode normal, Débit de données de sortie = 100 Hz

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

# Adresse ADXL345, 0x53(83)

# Sélectionnez le registre de contrôle de puissance, 0x2D(45)

# 0x08(08) Désactiver la veille automatique

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

# Adresse ADXL345, 0x53(83)

# Sélectionnez le registre de format de données, 0x31(49)

# 0x08(08) Autotest désactivé, interface 4 fils

# Pleine résolution, Portée = +/-2g

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

temps.sommeil (0,5)

# Adresse ADXL345, 0x53(83)

# Lire les données à partir de 0x32(50), 2 octets

# LSB sur l'axe X, MSB sur l'axe X

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

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

# Convertir les données en 10 bits

xAccl = ((données1 & 0x03) * 256) + données0

si xAccl > 511:

xAccl -= 1024

# Adresse ADXL345, 0x53(83)

# Lire les données de 0x34(52), 2 octets

# Axe Y LSB, Axe Y MSB

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

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

# Convertir les données en 10 bits

yAccl = ((données1 & 0x03) * 256) + données0

si yAccl > 511:

yAccl -= 1024

# Adresse ADXL345, 0x53(83)

# Lire les données de 0x36(54), 2 octets

# LSB sur l'axe Z, MSB sur l'axe Z

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

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

# Convertir les données en 10 bits

zAccl = ((données1 & 0x03) * 256) + données0

si zAccl > 511:

zAccl -= 1024

# Données de sortie à l'écran

print "Accélération dans l'axe X: %d" %xAccl

print "Accélération dans l'axe Y: %d" %yAccl

print "Accélération dans l'axe Z: %d" %zAccl

Étape 4: Candidatures:

L'ADXL345 est un petit accéléromètre mince à très faible consommation d'énergie à 3 axes qui peut être utilisé dans les combinés, l'instrumentation médicale, etc. Son application comprend également les appareils de jeu et de pointage, l'instrumentation industrielle, les appareils de navigation personnels et la protection des disques durs (HDD).

Conseillé: