#-------------------------------------------------------------------------------
# Practica -Sensor inercial
#
# Practica creada y editada por: Equipo 7
# Aguilar Garrido Anibal zs20015554
# Cordova Dominguez jocselyn Xitlali zs20015651
# Hernandez Perez Josue Guadalupe zs20015604
# Xalapa, Veracruz, México
# 2023 - Septiembre - 6
from machine import Pin, SoftI2C
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
from machine import I2C
from time import sleep
import mpu6050
# Configuración de la pantalla LCD I2C
I2C_ADDR = 0x27
totalRows = 4
totalColumns = 20
# Configuración de pines I2C
scl_pin = Pin(22)
sda_pin = Pin(21)
i2c_lcd = SoftI2C(scl=scl_pin, sda=sda_pin, freq=400000)
lcd = I2cLcd(i2c_lcd, I2C_ADDR, totalRows, totalColumns)
# Configuración de I2C para el sensor MPU6050
i2c = I2C(scl=Pin(22), sda=Pin(21)) # Inicializa la comunicación I2C
mpu = mpu6050.accel(i2c) # Crea una instancia del sensor MPU6050
# Muestra el mensaje inicial "Aceleracion (m/s^2)" una sola vez
lcd.putstr("Aceleracion (m/s^2):")
while True:
accel_data = mpu.get_values() # Obtiene los valores del sensor
# Limpia la pantalla y mueve el cursor a la posición correcta
lcd.move_to(0, 1)
lcd.putstr("X: {:.2f}".format(accel_data["AcX"]))
lcd.move_to(0, 2)
lcd.putstr("Y: {:.2f}".format(accel_data["AcY"]))
lcd.move_to(0, 3)
lcd.putstr("Z: {:.2f}".format(accel_data["AcZ"]))
sleep(1) # Espera 1 segundo antes de la siguiente lectura