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);
}

Gravity Kit de 37 Sensores Compatibles con Arduino KIT0150
CAU-115A Cautin Tipo Lapiz de 35W 127V con Accesorios
UNIT Kit ESP32 Básico con 10 practicas
Kit Soldador Eléctrico 60W 110V Cautín Multímetro
STM32F103C8T6 Tarjeta de Desarrollo con CH340
Conector de Audio XLR 3 Pines Plateado Hembra y Macho
Porta Pila CR2032 ON/OFF SH1mm
SYB-500 Protoboard 2700 Puntos
































Valoraciones
No hay valoraciones aún.