Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-23 14:46
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 photon de particule.
É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. Photon de particule
3. Câble I2C
4. Bouclier I2C pour les photons de particules
Étape 2: connexion matérielle:
La section de raccordement matériel explique essentiellement les connexions de câblage requises entre le capteur et le photon particulaire. 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 pour mesurer l'accélération:
Commençons maintenant par le code des particules.
Lors de l'utilisation du module de capteur avec l'arduino, nous incluons les bibliothèques application.h et spark_wiring_i2c.h. Les bibliothèques "application.h" et spark_wiring_i2c.h contiennent les fonctions qui facilitent la communication i2c entre le capteur et la particule.
Le code de particule complet est donné ci-dessous pour la commodité de l'utilisateur:
#comprendre
#comprendre
// L'adresse I2C BMA250 est 0x18(24)
#define adresse 0x18
entier xAccl = 0, yAccl = 0, zAccl = 0;
void setup()
{
// Définir la variable
Particule.variable("i2cdevice", "BMA250");
Particule.variable("xAccl", xAccl);
Particule.variable("yAccl", yAccl);
Particule.variable("zAccl", zAccl);
// Initialiser la communication I2C en tant que MASTER
Fil.begin();
// Initialiser la communication série, définir le débit en bauds = 9600
Serial.begin(9600);
// Démarrer la transmission I2C
Wire.beginTransmission(Adr);
// Sélection du registre de sélection de plage
Wire.write(0x0F);
// Définir la plage +/- 2g
Wire.write(0x03);
// Arrêter la transmission I2C
Wire.endTransmission();
// Démarrer la transmission I2C
Wire.beginTransmission(Adr);
// Sélection du registre de bande passante
Wire.write(0x10);
// Définir la bande passante 7.81 Hz
Wire.write(0x08);
// Arrêter la transmission I2C
Wire.endTransmission();
retard (300);}
boucle vide()
{
données int non signées[0];
// Démarrer la transmission I2C
Wire.beginTransmission(Adr);
// Sélectionnez les registres de données (0x02 - 0x07)
Wire.write(0x02);
// Arrêter la transmission I2C
Wire.endTransmission();
// Requête 6 octets
Wire.requestFrom(Adr, 6);
// Lecture des six octets
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
if(Fil.disponible() == 6)
{
data[0] = Wire.read();
données[1] = Wire.read();
data[2] = Wire.read();
data[3] = Wire.read();
données[4] = Wire.read();
données[5] = Wire.read();
}
retard (300);
// 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;
}
// Sortie des données vers le tableau de bord
Particle.publish("Accélération dans l'axe X:", String(xAccl));
retard(1000);
Particle.publish("Accélération dans l'axe Y:", String(yAccl));
retard(1000);
Particle.publish("Accélération dans l'axe Z:", String(zAccl));
retard(1000);
}
La fonction Particle.variable() crée les variables pour stocker la sortie du capteur et la fonction Particle.publish() affiche la sortie sur le tableau de bord du site.
La sortie du capteur est montrée dans l'image ci-dessus pour votre référence.
É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 du champ magnétique à l'aide du HMC5883 et du photon de particules : 4 étapes
Mesure du champ magnétique à l'aide du HMC5883 et du photon de particules : Le HMC5883 est une boussole numérique conçue pour la détection magnétique à faible champ. Cet appareil a une large plage de champ magnétique de +/-8 Oe et un taux de sortie de 160 Hz. Le capteur HMC5883 comprend des pilotes de sangle de démagnétisation automatique, une annulation de décalage et un
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 Raspberry Pi : 4 étapes
Mesure de l'accélération à l'aide du BMA250 et du Raspberry Pi : 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