from imu import MPU6050
from machine import Pin, I2C, Timer
from time import sleep_ms
import time
import math
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
imu = MPU6050(i2c)
def map(value, in_min, in_max, out_min, out_max):
value = max(in_min, min(in_max, value))
return (value - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
while True :
ax = imu.accel.x
ay = imu.accel.y
az = imu.accel.z
Xangle = math.atan2(ay, math.sqrt(ax**2 + az**2)) * 180 / math.pi
Yangle = math.atan2(ax, math.sqrt(ay**2 + az**2)) * 180 / math.pi
#Lecture de la Température
tem = round(imu.temperature , 2)
#Calcul de la pin de la led en fonction de l'angle X
led= int(map(Xangle , 0 , 60 , 2 , 8)) #led pins are: 2, 3, 4, 5, 6, 7, 8
led_pin = Pin(led, Pin.OUT , value = 0)
led_pin.on()
sleep_ms(50)
led_pin.off()
#Affichage des résultats
print("X angle :", round(Xangle, 2), "tY angle:", round(Yangle, 2), "tTemperature:", tem)
sleep_ms(250)