print("Hello, ESP32!")

import machine
from time import sleep
from ssd1306 import SSD1306_I2C
import mpu6050

sda = machine.Pin(21)
scl = machine.Pin(22)
i2c = machine.SoftI2C(sda=sda, scl=scl, freq=100000)

lcd = SSD1306_I2C(128, 64, i2c)
mpu = mpu6050.MPU6050(i2c)

def mpu_i2c():
    accel_data = mpu.read_accel_data()  # Pastikan fungsi ini return dict atau tuple
    temp_data = mpu.read_temperature()

    print("Acceleration x:", accel_data[0])
    print("Acceleration y:", accel_data[1])
    print("Acceleration z:", accel_data[2])
    print("Temperature:", temp_data)

    return accel_data, temp_data

def lcd_i2c(sensor_data):
    accel_data = sensor_data[0]
    temp_data = sensor_data[1]

    lcd.fill(0)  # Clear display

    lcd.text("X={:.2f}".format(accel_data[0]), 0, 0)
    lcd.text("Y={:.2f}".format(accel_data[1]), 0, 10)
    lcd.text("Z={:.2f}".format(accel_data[2]), 0, 20)
    lcd.text("T={:.1f}C".format(temp_data), 0, 30)

    lcd.show()

def main():
    while True:
        sensor_data = mpu_i2c()
        lcd_i2c(sensor_data)
        sleep(1)

if __name__ == "__main__":
    main()
D0D1D2D3D4D5D6D7GNDLOGIC