Brzi početak
Ova pločica mjeri magnetsko polje na tri osi. Povežite je preko I2C-a, instalirajte biblioteku za svoje okruženje i pokrenite osnovni primjer očitanja da biste vidjeli X, Y i Z komponentu polja u mikroteslama (µT) i temperaturu senzora.
Programirate kontroler spojen na ovu pločicu. Sama pločica nije flashana.
- Arduino
- MicroPython
1. Povežite pločicu
Priključite Qwiic kabel u bilo koji Qwiic konektor na pločici i u Qwiic konektor na svojem kontroleru. Jedan kabel prenosi napajanje i I2C.
| NULA DeepSleep | Soldered 3-axis Magnetometer BMM350 Breakout |
|---|---|
| Qwiic konektor | Qwiic konektor |
Bez Qwiic-a: spajanje na eksperimentalnoj pločici
Zalemite priložene pin headere i spojite 4-pinski header na napajanje i I2C pinove svojeg kontrolera:
| NULA DeepSleep | Soldered 3-axis Magnetometer BMM350 Breakout |
|---|---|
| GND | GND |
| 3V3 | 3V3 |
| IO8 | SDA |
| IO9 | SCL |
Strana headera radi od 2 V do 5 V, preko regulatora od 1,8 V i I2C pretvarača naponskih razina na pločici. Qwiic konektori dijele isto napajanje, pa ako header napajate s 5 V, oba Qwiic konektora također daju 5 V.
2. Instalirajte biblioteku
Preuzmite biblioteku Soldered BMM350 Geomagnetic Sensor s njezina GitHub repozitorija i dodajte je u Arduino IDE kao ZIP biblioteku.
🔗Soldered BMM350 Geomagnetic Sensor
Provjerena Arduino biblioteka na commitu 8ef2cae
Savjet: preuzimanje s GitHuba. Na GitHub stranici biblioteke kliknite zeleni gumb Code i odaberite Download ZIP, zatim ga dodajte u Arduino IDE-u preko Sketch → Include Library → Add .ZIP Library....
3. Pokrenite prvi primjer
Ovo je basicReadings.ino, najjednostavniji primjer iz biblioteke. Pokreće
senzor na zadanoj adresi 0x14 i ispisuje polje na sve tri osi u
µT te temperaturu u °C, otprilike 10 puta u sekundi. Učitajte ga, zatim otvorite
Serijski monitor na 115200 baud.
/**
**************************************************
*
* @file basicReadings.ino
*
* @brief Example showing how to read compensated magnetometer and
* temperature data from the Soldered BMM350 Geomagnetic
* Sensor breakout over I2C
*
* @link solde.red/333359 : Soldered BMM350 Geomagnetic Sensor breakout
*
* @authors Soldered Electronics
***************************************************/
#include <BMM350-SOLDERED.h>
// Create an instance of the BMM350 sensor
Soldered_BMM350 magSensor;
void setup()
{
// Initialize serial for output
Serial.begin(115200);
Serial.println("BMM350 Example - Basic Readings");
// Initialize I2C bus
Wire.begin();
// Check if sensor is connected and initialize it.
// Address is optional, defaults to 0x14 (ADSEL tied low on this breakout)
while (magSensor.begin() != BMM350_OK)
{
Serial.println("Error: BMM350 not connected, check wiring and I2C address!");
delay(1000);
}
Serial.println("BMM350 connected!");
}
void loop()
{
// Get new measurements from the sensor. This must be called before
// accessing the magX/magY/magZ/temperature data, otherwise it will never update
if (magSensor.getSensorData() == BMM350_OK)
{
Serial.print("X: ");
Serial.print(magSensor.magX, 2);
Serial.print(" uT\t");
Serial.print("Y: ");
Serial.print(magSensor.magY, 2);
Serial.print(" uT\t");
Serial.print("Z: ");
Serial.print(magSensor.magZ, 2);
Serial.print(" uT\t");
Serial.print("Temperature: ");
Serial.print(magSensor.temperature, 2);
Serial.println(" degC");
}
// Print 10x per second
delay(100);
}
4. Provjerite rezultat
Kad senzor odgovori, Serijski monitor prikazuje dva početna retka, zatim jedan
redak po očitanju, otprilike svakih 100 ms: polje na X:, Y: i Z: u uT
s dvije decimale, zatim Temperature: u degC, odvojeno tabulatorima.
BMM350 Example - Basic Readings
BMM350 connected!
X: 12.84 uT Y: -21.37 uT Z: -38.92 uT Temperature: 24.61 degC
X: 12.79 uT Y: -21.42 uT Z: -38.88 uT Temperature: 24.62 degC
X: 12.86 uT Y: -21.35 uT Z: -38.95 uT Temperature: 24.62 degC
X: 12.81 uT Y: -21.40 uT Z: -38.90 uT Temperature: 24.63 degC
Ako umjesto toga jednom u sekundi vidite Error: BMM350 not connected, check wiring and I2C address!,
senzor nije odgovorio na 0x14.
5. Ako ne radi
Nastavite s poglavljem Otklanjanje poteškoća i nakon svake promjene ponovno pokrenite ovaj najjednostavniji primjer.
1. Povežite pločicu
Priključite Qwiic kabel u bilo koji Qwiic konektor na pločici i u Qwiic konektor na svojem kontroleru. Jedan kabel prenosi napajanje i I2C.
| NULA DeepSleep | Soldered 3-axis Magnetometer BMM350 Breakout |
|---|---|
| Qwiic konektor | Qwiic konektor |
Bez Qwiic-a: spajanje na eksperimentalnoj pločici
Zalemite priložene pin headere i spojite 4-pinski header na svoj kontroler. Primjer u nastavku koristi I2C sabirnicu 0 sa SDA na GPIO 8 i SCL na GPIO 9; spojite te pinove ili ih u primjeru promijenite u pinove koje koristite.
| NULA DeepSleep | Soldered 3-axis Magnetometer BMM350 Breakout |
|---|---|
| GND | GND |
| 3V3 | 3V3 |
| IO8 | SDA |
| IO9 | SCL |
Strana headera radi od 2 V do 5 V, preko regulatora od 1,8 V i I2C pretvarača naponskih razina na pločici. Qwiic konektori dijele isto napajanje, pa ako header napajate s 5 V, oba Qwiic konektora također daju 5 V.
2. Instalirajte modul
Upotrijebite mim ili, nakon instalacije paketa mpremote, instalirajte biblioteku na svoju pločicu sljedećom naredbom:
mpremote mip install github:SolderedElectronics/Soldered-BMM350-MicroPython-Library
Ili, ako koristite operacijski sustav Windows:
python -m mpremote mip install github:SolderedElectronics/Soldered-BMM350-MicroPython-Library
🔗Soldered BMM350 MicroPython library
Provjereni MicroPython modul na commitu 0995e8d
Savjet: preuzimanje s GitHuba. Bez mpremote otvorite .py
datoteku modula na GitHubu i kliknite Download raw file, zatim je otvorite u Thonnyju i preko
File → Save as... → MicroPython device kopirajte na pločicu.
3. Pokrenite prvi primjer
Ovo je bmm350-basicReadings.py. Stvara I2C sabirnicu, pokreće senzor na
zadanoj adresi 0x14 i ispisuje polje na sve tri osi u µT te
temperaturu u °C, otprilike svakih 100 ms. Promijenite pinove scl i sda u
retku I2C(...) u pinove koje ste spojili, zatim ga pokrenite na svojoj pločici.
# FILE: bmm350-basicReadings.py
# AUTHOR: Soldered Electronics
# BRIEF: Reads compensated magnetometer and temperature data from the BMM350
# sensor over I2C
# WORKS WITH: BMM350 Geomagnetic Sensor breakout: www.solde.red/333359
# LAST UPDATED: 2026-09-22
from bmm350 import BMM350, BMM350_OK
from machine import I2C, Pin
import time
# Change these to match how your board wires I2C
i2c = I2C(0, scl=Pin(9), sda=Pin(8))
sensor = BMM350(i2c)
if sensor.status != BMM350_OK:
raise Exception("Failed to initialize BMM350: " + sensor.status_string())
print("BMM350 connected!")
while True:
if sensor.get_sensor_data() == BMM350_OK:
print(
"X: {:.2f} uT\tY: {:.2f} uT\tZ: {:.2f} uT\tTemperature: {:.2f} degC".format(
sensor.data.mag_x, sensor.data.mag_y, sensor.data.mag_z, sensor.data.temperature
)
)
else:
print("Failed to read sensor data:", sensor.status_string())
time.sleep_ms(100)
🔗Otvorite cijeli primjer
bmm350-basicReadings.py na commitu 0995e8d
4. Provjerite rezultat
Kad senzor odgovori, ljuska prikazuje BMM350 connected!, zatim jedan redak po
očitanju, otprilike svakih 100 ms: polje na X:, Y: i Z: u uT s dvije
decimale, zatim Temperature: u degC, odvojeno tabulatorima.
BMM350 connected!
X: 12.47 uT Y: -8.31 uT Z: -37.92 uT Temperature: 24.58 degC
X: 12.52 uT Y: -8.28 uT Z: -37.85 uT Temperature: 24.58 degC
X: 12.44 uT Y: -8.35 uT Z: -37.96 uT Temperature: 24.61 degC
X: 12.50 uT Y: -8.29 uT Z: -37.89 uT Temperature: 24.61 degC
Ako čitanje ne uspije, redak glasi Failed to read sensor data: i zatim
razlog.
Ako senzor ne odgovori, skripta se zaustavlja iznimkom koja navodi
adresu koju je pokušala koristiti, na primjer BMM350 not responding on address 0x14.
5. Ako ne radi
Nastavite s poglavljem Otklanjanje poteškoća i nakon svake promjene ponovno pokrenite ovaj najjednostavniji primjer.