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