print("Hello, ESP32!")
import machine
from utime import sleep
import ssd1306
import mpu6050
sda = machine.Pin(21)
scl = machine.Pin(22)
i2c = machine.SoftI2C(sda=sda, scl=scl, freq=100000)
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
mpu = mpu6050.MPU6050(i2c)
def main():
while True:
sensor_data = read_mpu_data()
display_on_oled(sensor_data)
sleep(1)
def read_mpu_data():
accel = mpu.read_accel_data()
gyro = mpu.read_gyro_data()
temp = mpu.read_temperature()
print("Accel:", accel)
print("Gyro:", gyro)
print("Temp:", temp)
return {
'accel': accel,
'gyro': gyro,
'temp': temp
}
def display_on_oled(data):
accel = data['accel']
gyro = data['gyro']
temp = data['temp']
oled.fill(0)
oled.text("Temp: {:.1f}C".format(temp), 0, 0)
oled.text("Ax:{:>5.1f}".format(accel[0]), 0, 12)
oled.text("Ay:{:>5.1f}".format(accel[1]), 64, 12)
oled.text("Gx:{:>5.1f}".format(gyro[0]), 0, 24)
oled.text("Gy:{:>5.1f}".format(gyro[1]), 64, 24)
oled.text("Az:{:>5.1f} Gz:{:>5.1f}".format(accel[2], gyro[2]), 0, 36)
oled.show()
if __name__ == '__main__':
main()