Table des matières:
Vidéo: Raspberry Pi - Tutoriel Python de l'accéléromètre à 3 axes ADXL345 : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
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.
1. Framboise Pi
2. ADXL345
3. Câble I²C
4. Bouclier I²C pour Raspberry Pi
5. Câble Ethernet
Étape 2: Connexion:
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:
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é:
Contrôle de mouvement avec Raspberry Pi et LIS3DHTR, accéléromètre à 3 axes, utilisant Python : 6 étapes
Contrôle de mouvement avec Raspberry Pi et LIS3DHTR, Accéléromètre 3 axes, Utilisation de Python : La beauté nous entoure, mais généralement, nous devons nous promener dans un jardin pour le savoir. - RumiEn tant que groupe instruit que nous semblons être, nous investissons la grande majorité de notre énergie à travailler avant nos PC et nos téléphones portables. Par conséquent, nous laissons fréquemment notre bien-être
Accéléromètre à 3 axes, ADXL345 avec Raspberry Pi en utilisant Python : 6 étapes
Accéléromètre à 3 axes, ADXL345 avec Raspberry Pi à l'aide de Python : Pensez à un gadget qui peut vérifier le point auquel votre tout-terrain est incliné pour s'attarder. Ne serait-ce pas agréable dans le cas où quelqu'un est réglé alors qu'il y a une possibilité de basculement ? Évidemment oui. Ce serait vrai
Interfaçage du capteur gyroscope 3 axes BMG160 avec Raspberry Pi : 5 étapes
Interfaçage du capteur gyroscope à 3 axes BMG160 avec Raspberry Pi : Dans le monde d'aujourd'hui, plus de la moitié des jeunes et des enfants aiment le jeu et tous ceux qui en sont friands, fascinés par les aspects techniques du jeu, connaissent l'importance de la détection de mouvement dans ce domaine. Nous avons également été étonnés par la même chose et
Module accéléromètre 3 axes LIS2HH12 : 10 étapes (avec photos)
Module accéléromètre 3 axes LIS2HH12 : ce Instructable est considéré comme un niveau débutant avec une certaine expérience avec le logiciel arduino et la soudure. Le module LIS2HH12 est fabriqué par Tiny9. Tiny9 est une nouvelle entreprise qui se lance dans la vente de modules de capteurs pour les bricoleurs, les entreprises ou les inventeurs. Là
Préliminaire* SPI sur le Pi : Communiquer avec un accéléromètre 3 axes SPI à l'aide d'un Raspberry Pi : 10 étapes
Préliminaire* SPI sur le Pi : communiquer avec un accéléromètre 3 axes SPI à l'aide d'un Raspberry Pi : guide étape par étape sur la façon de configurer Raspbian et de communiquer avec un périphérique SPI à l'aide de la bibliothèque SPI bcm2835 (PAS de bit frappé !) C'est toujours très préliminaire… J'ai besoin d'ajouter de meilleures images de connexion physique et de travailler sur une partie du code maladroit