Simple test¶
Ensure your device works with this simple test.
import time
from machine import Pin, I2C
from micropython_bmi270 import bmi270
i2c = I2C(1, sda=Pin(2), scl=Pin(3)) # Correct I2C pins for RP2040
bmi = bmi270.BMI270(i2c)
while True:
accx, accy, accz = bmi.acceleration
print(f"x:{accx:.2f}m/s2, y:{accy:.2f}m/s2, z{accz:.2f}m/s2")
time.sleep(0.5)
gyrox, gyroy, gyroz = bmi.gyro
print("x:{:.2f}°/s, y:{:.2f}°/s, z{:.2f}°/s".format(gyrox, gyroy, gyroz))
time.sleep(0.5)
Acceleration range settings¶
Example showing the Acceleration range setting
import time
from machine import Pin, I2C
from micropython_bmi270 import bmi270
i2c = I2C(1, sda=Pin(2), scl=Pin(3)) # Correct I2C pins for RP2040
bmi = bmi270.BMI270(i2c)
bmi.acceleration_range = bmi270.ACCEL_RANGE_8G
while True:
for acceleration_range in bmi270.acceleration_range_values:
print("Current Acceleration range setting: ", bmi.acceleration_range)
for _ in range(10):
accx, accy, accz = bmi.acceleration
print("x:{:.2f}m/s2, y:{:.2f}m/s2, z:{:.2f}m/s2".format(accx, accy, accz))
print()
time.sleep(0.5)
bmi.acceleration_range = acceleration_range
Acceleration operation mode settings¶
Example showing the Acceleration operation mode setting
import time
from machine import Pin, I2C
from micropython_bmi270 import bmi270
i2c = I2C(1, sda=Pin(2), scl=Pin(3)) # Correct I2C pins for RP2040
bmi = bmi270.BMI270(i2c)
bmi.acceleration_operation_mode = bmi270.ACCELERATOR_ENABLED
while True:
for acceleration_operation_mode in bmi270.acceleration_operation_mode_values:
print(
"Current Acceleration operation mode setting: ",
bmi.acceleration_operation_mode,
)
for _ in range(10):
accx, accy, accz = bmi.acceleration
print("x:{:.2f}m/s2, y:{:.2f}m/s2, z:{:.2f}m/s2".format(accx, accy, accz))
print()
time.sleep(0.5)
bmi.acceleration_operation_mode = acceleration_operation_mode
Gyro range settings¶
Example showing the Gyro range setting
import time
from machine import Pin, I2C
from micropython_bmi270 import bmi270
i2c = I2C(1, sda=Pin(2), scl=Pin(3)) # Correct I2C pins for RP2040
bmi = bmi270.BMI270(i2c)
bmi.gyro_range = bmi270.GYRO_RANGE_125
while True:
for gyro_range in bmi270.gyro_range_values:
print("Current Gyro range setting: ", bmi.gyro_range)
for _ in range(10):
gyrox, gyroy, gyroz = bmi.gyro
print("x:{:.2f}°/s, y:{:.2f}°/s, z:{:.2f}°/s".format(gyrox, gyroy, gyroz))
print()
time.sleep(0.5)
bmi.gyro_range = gyro_range