#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
#include <SoftwareSerial.h>
Adafruit_MPU6050 mpu;
// Pin 11 = RX, Pin 12 = TX (Tal cual está en tu JSON)
SoftwareSerial btSerial(11, 12);
const int pinBuzzer = 3;
int caraAnterior = -1;
void setup() {
Serial.begin(9600); // Consola local para ver que el Nano arranca bien
btSerial.begin(9600); // Esto va directo al componente "wokwi-serial-port"
pinMode(pinBuzzer, OUTPUT);
if (!mpu.begin()) {
Serial.println("ERROR: MPU6050 no encontrado");
while(1);
}
mpu.setAccelerometerRange(MPU6050_RANGE_8_G);
Serial.println("Cubo Nano Iniciado Exitosamente");
}
void loop() {
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
int nuevaCara = -1;
float x = a.acceleration.x;
float y = a.acceleration.y;
float z = a.acceleration.z;
if (abs(z) > abs(x) && abs(z) > abs(y)) {
nuevaCara = (z > 0) ? 0 : 1;
}
else if (abs(x) > abs(y)) {
nuevaCara = (x > 0) ? 2 : 3;
}
else {
nuevaCara = (y > 0) ? 4 : 5;
}
if (nuevaCara != caraAnterior && nuevaCara != -1) {
caraAnterior = nuevaCara;
tone(pinBuzzer, 12000, 60);
// Al imprimir aquí, viaja por los cables 11/12 hacia el componente serial hacia afuera
btSerial.println(nuevaCara);
// También lo imprimimos en tu pantalla local de la pestaña para estar seguros de que cambia
Serial.println(nuevaCara);
}
delay(120);
}