Table des matières:
- Étape 1: Matériel requis:
- Étape 2: connexion matérielle:
- Étape 3: Code Python pour la mesure de l'accélération:
- Étape 4: Candidatures:
Vidéo: Mesure de l'accélération à l'aide du BMA250 et du Raspberry Pi : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
Le BMA250 est un petit accéléromètre mince à très faible consommation d'énergie à 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 I2C. 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°.
Dans ce tutoriel, nous allons mesurer l'accélération dans les trois axes perpendiculaires à l'aide du BMA250 et du Raspberry Pi. Le capteur a été programmé en langage python.
Étape 1: Matériel requis:
Les matériaux dont nous avons besoin pour atteindre notre objectif comprennent les composants matériels suivants:
1. BMA250
2. Framboise Pi
3. Câble I2C
4. Bouclier I2C pour Raspberry Pi
5. Câble Ethernet
Étape 2: connexion matérielle:
La section de raccordement matériel explique essentiellement les connexions de câblage requises entre le capteur et le raspberry pi. Assurer des connexions correctes est la nécessité de base tout en travaillant sur n'importe quel système pour la sortie souhaitée. Ainsi, les connexions requises sont les suivantes:
Le BMA250 fonctionnera sur I2C. Voici l'exemple de schéma de câblage, montrant comment câbler chaque interface du capteur.
Prête à l'emploi, la carte est configurée pour une interface I2C, en tant que telle, nous vous recommandons d'utiliser cette connexion si vous êtes par ailleurs agnostique. Tout ce dont vous avez besoin, c'est de quatre fils !
Seules quatre connexions sont nécessaires pour les broches Vcc, Gnd, SCL et SDA et celles-ci sont connectées à l'aide d'un câble I2C.
Ces connexions sont illustrées dans les images ci-dessus.
Étape 3: Code Python pour la mesure de l'accélération:
L'avantage d'utiliser raspberry pi est qu'il vous offre la flexibilité du langage de programmation dans lequel vous souhaitez programmer la carte afin d'interfacer le capteur avec elle. Exploitant cet avantage de cette carte, nous démontrons ici sa programmation en python. Python est l'un des langages de programmation les plus simples avec la syntaxe la plus simple. Le code python pour BMA250 peut être téléchargé depuis notre communauté GitHub qui est Dcube Store
En plus de la facilité des utilisateurs, nous expliquons le code ici également:
Comme première étape de codage, vous devez télécharger la bibliothèque SMBus dans le cas de python car cette bibliothèque prend en charge les fonctions utilisées dans le code. Donc, pour télécharger la bibliothèque, vous pouvez visiter le lien suivant:
pypi.python.org/pypi/smbus-cffi/0.5.1
Vous pouvez également copier le code de travail à partir d'ici:
importer smbus
heure d'importation
# Obtenir le bus I2C = smbus. SMBus(1)
# Adresse BMA250, 0x18(24)
# Sélectionnez le registre de sélection de plage, 0x0F(15)
# 0x03(03) Plage définie = +/-2gbus.write_byte_data(0x18, 0x0F, 0x03)
# Adresse BMA250, 0x18(24)# Sélectionnez le registre de bande passante, 0x10(16)
# 0x08(08) Bande passante = 7,81 Hzbus.write_byte_data (0x18, 0x10, 0x08)
temps.sommeil (0,5)
# Adresse BMA250, 0x18(24)
# Lire les données de 0x02(02), 6 octets
# LSB axe X, MSB axe X, LSB axe Y, MSB axe Y, LSB axe Z, MSB axe Z
données = bus.read_i2c_block_data (0x18, 0x02, 6)
# Convertir les données en 10 bits
xAccl = (données[1] * 256 + (données[0] & 0xC0)) / 64
si xAccl > 511:
xAccl -= 1024
yAccl = (données[3] * 256 + (données[2] & 0xC0)) / 64
si yAccl > 511:
yAccl -= 1024
zAccl = (données[5] * 256 + (données[4] & 0xC0)) / 64
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
Le code est exécuté à l'aide de la commande suivante:
$> python BMA250.py gt; python BMA250.py
La sortie du capteur est indiquée dans l'image ci-dessus pour la référence de l'utilisateur.
Étape 4: Candidatures:
Les accéléromètres comme le BMA250 trouvent principalement leur application dans les jeux et le changement de profil d'affichage. Ce module de capteur est également utilisé dans le système avancé de gestion de l'alimentation pour les applications mobiles. Le BMA250 est un capteur d'accélération numérique triaxial qui est incorporé avec un contrôleur d'interruption déclenché par mouvement intelligent sur puce.
Conseillé:
Mesure de l'accélération à l'aide d'ADXL345 et de photons de particules : 4 étapes
Mesure de l'accélération à l'aide de l'ADXL345 et du photon de particules : 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 le
Mesure de l'accélération à l'aide de H3LIS331DL et Arduino Nano : 4 étapes
Mesure de l'accélération à l'aide de H3LIS331DL et Arduino Nano : H3LIS331DL, est un accéléromètre linéaire 3 axes hautes performances basse consommation appartenant à la famille « nano », avec interface série numérique I²C. Le H3LIS331DL a des pleines échelles sélectionnables par l'utilisateur de ±100g/±200g/±400g et il est capable de mesurer des accélérations avec
Mesure de l'accélération à l'aide de H3LIS331DL et de photons de particules : 4 étapes
Mesure de l'accélération à l'aide de H3LIS331DL et de photons de particules : H3LIS331DL, est un accéléromètre linéaire 3 axes hautes performances basse consommation appartenant à la famille « nano », avec interface série numérique I²C. Le H3LIS331DL a des pleines échelles sélectionnables par l'utilisateur de ±100g/±200g/±400g et il est capable de mesurer des accélérations avec
Mesure de l'accélération à l'aide du BMA250 et de l'Arduino Nano : 4 étapes
Mesure de l'accélération à l'aide du BMA250 et de l'Arduino Nano : le BMA250 est un petit accéléromètre mince à très faible 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 I2C. Il mesure la statique
Mesure de l'accélération à l'aide du BMA250 et du photon de particules : 4 étapes
Mesure de l'accélération à l'aide du BMA250 et du photon de particules : Le BMA250 est un petit accéléromètre mince à très faible 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 I2C. Il mesure la statique