INFORMACIÓN
El BMM150 es un sensor geomagnético digital triaxial (X,Y y Z)optimizado para aplicaciones de baja potencia y alta precisión. Diseñado por Bosch Sensortec, proporciona mediciones absolutas del campo magnético en los ejes X, Y y Z. se integra perfectamente mediante I²C o SPI garantiza su compatibilidad con Arduino, ESP32 y Raspberry Pi.
Ideal para tareas de brújula electrónica y navegación inercial. espacio y energía, como dispositivos wearables, robótica móvil y vehículos aéreos no tripulados (UAVs).
ESPECIFICACIONES Y CARACTERÍSTICAS
- Marca: UNIT Electronics
- Tipo: Sensor geomagnético
- Tecnología: FlipCore de Bosch
- Circuito integrado: BMM150
- Voltaje
- Operación: 3.3V
- Entrada por el pin VCC: 3.6 a 6.0 V (a través del regulador de voltaje integrado en la placa)
- Ejes: 3 ejes (X,Y y Z)
- Rango de medición: ±1300 µT
- Resolución: ~0.3 µT
- Conectividad: vía conector JST (1 mm pitch)
- I2C : x1 (0x10 – 0x13)
- SPI : x1
- INT (Interrupción programable): Permite generar interrupciones configurables según ciertos eventos
- Temperatura de operación: -40°C a +85°C
- Dimensiones: 25.4mm x 17.23 mmx 4.5mm
- Peso: 1.75g
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
Test y recomendaciones de uso
El módulo integra un dip switch para seleccionar la interfaz de comunicación ya sea por I2C o SPI. Para I2C; la interfaz por defecto y por SPI se requiere configuración con el Switch 1:
- ON > modo I2C
- OFF > modo SPI
El segundo Switch nos ayuda a configurar la dirección I2C del dispositivo se determina con la combinación de los bits A0 y A1, definidos por los switches 2 y 3. Según la configuración mostrada en la siguiente tabla, las direcciones disponibles son:


Código
El siguiente programa tiene la finalidad de mostrar las mediciones referente en los ejes X,Y y Z.
#include <Wire.h>
#include "DFRobot_BMM150.h"
// Crear un nuevo bus I2C en los pines GPIO 6 (SDA) y 7 (SCL)
TwoWire I2CBMM = TwoWire(1);
// Dirección I2C por defecto del BMM150 (depende del cableado de CS y SDO)
DFRobot_BMM150_I2C bmm150(&I2CBMM, I2C_ADDRESS_4);
void setup() {
Serial.begin(115200);
delay(1000);
// Iniciar el nuevo bus I2C
I2CBMM.begin(6, 7); // SDA = 6, SCL = 7
// Iniciar sensor
while (bmm150.begin()) {
Serial.println("bmm150 init failed, Please try again!");
delay(1000);
}
Serial.println("bmm150 init success!");
bmm150.setOperationMode(BMM150_POWERMODE_NORMAL);
bmm150.setPresetMode(BMM150_PRESETMODE_HIGHACCURACY);
bmm150.setRate(BMM150_DATA_RATE_10HZ);
bmm150.setMeasurementXYZ();
}
void loop() {
sBmm150MagData_t magData = bmm150.getGeomagneticData();
Serial.print("mag x = "); Serial.print(magData.x); Serial.println(" uT");
Serial.print("mag y = "); Serial.print(magData.y); Serial.println(" uT");
Serial.print("mag z = "); Serial.print(magData.z); Serial.println(" uT");
float compassDegree = bmm150.getCompassDegree();
Serial.print("Compass angle (deg): ");
Serial.println(compassDegree);
Serial.println("------------------------------");
delay(200);
}

MPU-9250 IMU de 9DOF 9250































Valoraciones
No hay valoraciones aún.