






Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Es un documento para descargar
Tipo: Resúmenes
1 / 11
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!







Este apartado del código abarca desde la línea 1 hasta la línea 29. Figura 2. Configuraciones iniciales en el código.
Este apartado del código abarca desde la línea 30 hasta la línea 49 se ha creado una función para trabajar con el wifi y otra función de trabajo con el protocolo MQTT. Figura 3. Funciones de trabajo WIFI y MQTT.
Figura 5. Configuración del Bucle principal.
Figura 6. Feed en io.adafruit. Hemos simulado con el sensor los valores de temperatura a 50 grados y de aceleración lamentablemente no se pudo ajustar el valor de aceleración a 0.01 g. Sin embargo, se trabajo con el valor cercano a 0.1 g. Figura 7. Simulación de valores de temperatura y aceleración. Adicionalmente se creo el siguiente Dashboard para una mejor visualización de los datos.
const char* adafruit_key = "aio_yquZ00KKQMmf0I6dVX7ZJqGV9LwK"; WiFiClient cliente; //Creación y configuración del feed en adafruit Adafruit_MQTT_Client mqtt(&cliente, dominio_adafruit, 1883 , usuario_adafruit, adafruit_key); Adafruit_MQTT_Publish temp = Adafruit_MQTT_Publish(&mqtt, "kuroazama/feeds/actividad-unir.temperatura"); Adafruit_MQTT_Publish x = Adafruit_MQTT_Publish(&mqtt, "kuroazama/feeds/actividad-unir.x"); Adafruit_MQTT_Publish y = Adafruit_MQTT_Publish(&mqtt, "kuroazama/feeds/actividad-unir.y"); Adafruit_MQTT_Publish z = Adafruit_MQTT_Publish(&mqtt, "kuroazama/feeds/actividad-unir.z"); //se declara al sensor MPU Adafruit_MPU6050 Sensor_mpu; // Se crean los eventos sensors_event_t evento_aceleracion; sensors_event_t evento_temp; void conectar_wifi(){ WiFi.begin("Wokwi-GUEST", ""); while (WiFi.status() != WL_CONNECTED) { delay( 1100 ); } Serial.println("Conectado al WiFi"); } void conectar_mqtt() { while (!mqtt.connected()) { Serial.print("Iniciando conexión MQTT..."); if (!mqtt.connect()){ Serial.println("Conectado"); } else { Serial.println("Conexión fallida"); Serial.println("Reintentando en 6 segundos"); delay( 6000 ); } } } void setup() { Serial.begin( 115200 ); // Inicializar los pines de la placa Wire.begin( 21 , 22 ); // Conectar al wifi conectar_wifi(); // Inicializar mpu if (!Sensor_mpu.begin()) { Serial.println("MPU6050 sin conectar..."); delay( 1000 ); } Serial.println("MPU6050 listo"); }
void loop() { conectar_mqtt(); Sensor_mpu.getAccelerometerSensor()->getEvent(&evento_aceleracion); Sensor_mpu.getTemperatureSensor()->getEvent(&evento_temp); Serial.print("X: "); Serial.print(String(evento_aceleracion.acceleration.x/9.80665) + " g, "); Serial.print(", Y: "); Serial.print(String(evento_aceleracion.acceleration.y/9.80665) + " g, "); Serial.print(", Z: "); Serial.print(String(evento_aceleracion.acceleration.z/9.80665) + " g, "); Serial.print("Temperature: "); Serial.print(evento_temp.temperature); Serial.println(" °C"); temp.publish(evento_temp.temperature); x.publish(evento_aceleracion.acceleration.x/9.80665); y.publish(evento_aceleracion.acceleration.y/9.80665); z.publish(evento_aceleracion.acceleration.z/9.80665); delay( 9000 ); }