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

Kit Lancha Solar STEM
TB6600 Driver Para Motor A Pasos 4A Nema
CAU-170 Desoldador de Succión
WCS1700 Sensor de Corriente Ajustable 70A
Lilypad ATmega32U4 USB Compatible con Arduino
Kit 120 Capacitores Cerámicos 2KV 12 Valores
UShieldX Shield de Expansión para Arduino UNO
Beetle ESP32 - C3 (RISC-V Core) DFR0868
Sensor de Inclinacion KY-020































Valoraciones
No hay valoraciones aún.