Taula de continguts:
- Pas 1: maquinari necessari:
- Pas 2: connexió de maquinari:
- Pas 3: Codi Arduino per a la mesura de l’acceleració:
- Pas 4: aplicacions:
Vídeo: Mesura de l’acceleració mitjançant BMA250 i Arduino Nano: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
El 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’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 anem a mesurar l’acceleració en els tres eixos perpendiculars mitjançant BMA250 i Arduino Nano.
Pas 1: maquinari necessari:
Els materials que necessitem per assolir el nostre objectiu inclouen els components de maquinari següents:
1. BMA250
2. Arduino Nano
3. Cable I2C
4. Escut I2C per a Arduino Nano
Pas 2: connexió de maquinari:
La secció de connexió de maquinari explica bàsicament les connexions de cablejat necessàries entre el sensor i l’arduino. 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:
El BMA250 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 Arduino per a la mesura de l’acceleració:
Comencem ara amb el codi Arduino.
Mentre s’utilitza el mòdul de sensor amb l’Arduino, incloem la biblioteca Wire.h. La biblioteca "Wire" conté les funcions que faciliten la comunicació i2c entre el sensor i la placa Arduino.
A continuació es proporciona tot el codi Arduino per a la comoditat de l’usuari:
#incloure
// L'adreça BMA250 I2C és 0x18 (24)
#define Addr 0x18
configuració nul·la ()
{
// Inicialitzar la comunicació I2C com a MASTER
Wire.begin ();
// Inicialitzar la comunicació en sèrie, establir la velocitat de transmissió = 9600
Serial.begin (9600);
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Seleccioneu el registre de selecció de rang
Wire.write (0x0F);
// Estableix l'interval +/- 2g
Wire.write (0x03);
// Atura la transmissió I2C
Wire.endTransmission ();
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Seleccioneu el registre d'ample de banda
Wire.write (0x10);
// Estableix l’amplada de banda 7,81 Hz
Wire.write (0x08);
// Atura la transmissió I2C
Wire.endTransmission (); retard (300);}
bucle buit ()
{
dades int sense signar [0];
// Inicieu la transmissió I2C
Wire.beginTransmission (Addr);
// Selecciona registres de dades (0x02 - 0x07)
Wire.write (0x02);
// Atura la transmissió I2C
Wire.endTransmission ();
// Sol·liciteu 6 bytes
Wire.requestFrom (Addr, 6);
// Llegiu els sis bytes
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
if (Wire.available () == 6)
{
dades [0] = Wire.read ();
dades [1] = Wire.read ();
dades [2] = Wire.read ();
dades [3] = Wire.read ();
dades [4] = Wire.read ();
dades [5] = Wire.read ();
}
retard (300);
// Converteix les dades en 10 bits
float xAccl = ((dades [1] * 256.0) + (dades [0] i 0xC0)) / 64;
if (xAccl> 511)
{
xAccl - = 1024;
}
float yAccl = ((dades [3] * 256.0) + (dades [2] i 0xC0)) / 64;
if (yAccl> 511)
{
yAccl - = 1024;
}
float zAccl = ((dades [5] * 256.0) + (dades [4] i 0xC0)) / 64;
if (zAccl> 511)
{
zAccl - = 1024;
}
// Data de sortida al monitor sèrie
Serial.print ("Acceleració a l'eix X:");
Serial.println (xAccl);
Serial.print ("Acceleració a l'eix Y:");
Serial.println (yAccl);
Serial.print ("Acceleració a l'eix Z:");
Serial.println (zAccl);
}
A la biblioteca de cables, s’utilitzen Wire.write () i Wire.read () per escriure les ordres i llegir la sortida del sensor. Serial.print () i Serial.println () s’utilitzen per mostrar la sortida del sensor al monitor sèrie de l’IDE Arduino.
La sortida del sensor es mostra a la imatge superior.
Pas 4: aplicacions:
Els acceleròmetres com el BMA250 troben principalment la seva aplicació en els jocs i el canvi de perfil de pantalla. Aquest mòdul de sensor també s'utilitza en el sistema avançat de gestió d'energia per a aplicacions mòbils. El BMA250 és un sensor d’acceleració digital triaxial que s’incorpora amb un controlador d’interrupció activat per moviment de xip intel·ligent.
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 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
Mesura de l’acceleració mitjançant BMA250 i fotó de partícules: 4 passos
Mesurament de l’acceleració mitjançant BMA250 i fotó de partícules: 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