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
- Pais de origen: Hecho en México
- 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);
}

Cable para Batería de 9V con Broche
CAU-115A Cautin Tipo Lapiz de 35W 127V con Accesorios
Kit de Separadores de Latón M3 120 Piezas
Pasta Limpiadora para Puntas de Cautín 6g
VL53L0X Medidor de distancia Laser I2C 940nm ToF
Kit Tablero de Práctica para Soldadura SMD DIY
Puntas para Multímetro de 1000V 10A
Pasta para Soldar ZJ-18 30g
DualMCU ONE ESP32 + RP2040 - UNIT DevLab
































Valoraciones
No hay valoraciones aún.