from machine import Pin, I2C
import dht
import utime
from mpu6050 import init_mpu6050, get_mpu6050_data
i2c = I2C(0, scl=Pin(21), sda=Pin(20), freq=400000)
sensor = dht.DHT22(Pin(19))
init_mpu6050(i2c)
# Initial gyroscope readings
initial_gyro_y = 0.0
while True:
print("\033c", end="")
sensor.measure()
data = get_mpu6050_data(i2c)
gyro_y = data['gyro']['y']
total_rotation_angle_y = initial_gyro_y + gyro_y
radius = 0.1
displacement_y = total_rotation_angle_y * radius
print("Total Rotation Angle Y: {:.2f} degrees".format(total_rotation_angle_y))
print("Linear Displacement Y: {:.2f} meters".format(displacement_y))
print("Temperature: {:.2f} °C".format(data['temp']))
print("Acceleration: X: {:.2f}, Y: {:.2f}, Z: {:.2f} g".format(data['accel']['x'], data['accel']['y'], data['accel']['z']))
print("Gyroscope: X: {:.2f}, Y: {:.2f}, Z: {:.2f} °/s".format(data['gyro']['x'], data['gyro']['y'], data['gyro']['z']))
print("Temp: {:.2f}°C, Humidity: {:.2f}%".format(sensor.temperature(), sensor.humidity()))
initial_gyro_y = total_rotation_angle_y
utime.sleep(2)