micropython 範例十

用 MPU6050 的加速度值估算傾斜角測試

MPU6050 先插上擴充板,使用時請將擴充板平放於桌面上做簡單校正後,再使用

# 範例十四:

# 用 MPU6050 的加速度值估算傾斜角測試


# MPU6050 先插上擴充板,使用時請將擴充板平放於桌面上做簡單校正後,再使用

# 需要的 module : MPU6050,OLED

# FB : https://www.facebook.com/mason.chen.1420


import OLED

from machine import Pin

from machine import I2C

from MPU6050 import MPU6050


sum_y = None

i = None

sum_x = None



oled = OLED.SSD1306_I2C(128, 64)

oled.rotate_s(0)

sum_y = 0

mpu = MPU6050(I2C(0, scl=Pin(22), sda=Pin(21), freq=100000), 0x68)

for i in range(1, 101):

mpu.update()

sum_x = (sum_x if type(sum_x) in [ int, float ] else 0) + (mpu.acc[0])

sum_y = (sum_y if type(sum_y) in [ int, float ] else 0) + (mpu.acc[1])

sum_x = sum_x / 100

sum_y = sum_y / 100

print(sum_x)

print(sum_y)

while True:

oled.fill(0)

mpu.update()

oled.text(('P=' + str((sum_x - (mpu.acc[0])) / 160)), 0, 0)

oled.text(('R=' + str((sum_y - (mpu.acc[1])) / 160)), 0, 16)

oled.show()

print(str('p') + "=" + str(((sum_x - (mpu.acc[0])) / 160)))

print(str('r') + "=" + str(((sum_y - (mpu.acc[1])) / 160)))