from machine import Pin, I2C
import ssd1306
import mpu6050
from time import sleep
#I2C setting
i2c=I2C(0,scl=Pin(22), sda=Pin(21))
pb = Pin(12,Pin.IN)
#MPU6050 with I2C
mpu = mpu6050.MPU6050(i2c)
#SSD1306 with I2C
oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width,oled_height,i2c)
#wake up the MPU6050 from sleep
mpu.wake()
def gyro(pin):
gyro=""
accel=""
new_gyro = mpu.read_gyro_data()
new_accel = mpu.read_accel_data()
if(new_gyro!=gyro or new_accel!=accel):
gyro = new_gyro
accel = new_accel
print("Gyro:"+str(gyro)+",Accel:"+str(accel))
oled.fill(0)
oled.text("Gyro",0,2)
oled.text("------------",0,10)
oled.text("x:"+str(round(gyro[0],2)),0,15)
oled.text("Accel:",70,2)
oled.text("x:"+str(round(gyro[0],2)),70,15)
oled.show()
pb.irq(trigger=Pin.IRQ_RISING,handler=gyro)
while True:
sleep(0.1)