Want to create interactive content? It’s easy in Genially!

Reuse this genially

PREVENT IoT Practical Session (UCLan) - ES

Cristina López Bravo

Created on October 7, 2025

Start designing with a free template

Discover more than 1500 professional designs like these:

Essential Course

Practical Course

Basic Interactive Course

Course 3D Style

Minimal Course

Neodigital CPD Course

Laws and Regulations Course

Transcript

IoT y Comunicación - Proyecto PREVENT

Sesión práctica de IoT

Iniciar

Índice

Objetivos
Detección de Incendios
Detección de Inundaciones
Detección de Terremotos

Objetivos

  • El objetivo principal de esta sesión práctica es ofrecer una experiencia "práctica" sobre IoT y cómo esta tecnología puede usarse para resolver problemas relacionados con desastres naturales.
  • La sesión incluye 3 experimentos prácticos:
    • Integración y prueba del sensor MQ2 para detección de incendios
    • Integración y prueba del sensor de agua para detección de inundaciones
    • Integración y prueba del sensor MPU6050 para detección de terremotos
¡Diviértete!

01

Integración y Prueba del Sensor MQ2 para Detección de Incendios

Objetivo

El objetivo de este experimento es integrar el sensor de gases MQ2 con un microcontrolador Arduino Uno y mostrar los datos del sensor en tiempo real en una pantalla LCD. El sensor MQ2 detectará humo, propano y otros gases que puedan indicar la presencia de fuego, y estos datos se utilizarán para evaluar el potencial riesgo de incendio.

Información contextual

  • Sensor MQ2: El sensor MQ2 es capaz de detectar varios gases, incluyendo humo, metano, propano y monóxido de carbono. Funciona midiendo la concentración de gases en el aire y emitiendo un voltaje analógico que corresponde a la concentración de gases.
  • Aplicaciones:
    • Detección de fugas de gas – Utilizado en hogares, cocinas y entornos industriales para detectar fugas de GLP, metano y propano.
    • Detección de humo – Puede integrarse en sistemas de alarma contra incendios para detectar humo y gases inflamables.
    • Monitoreo de calidad del aire interior – Ayuda a medir los niveles de contaminación del aire detectando gases peligrosos como CO.
    • Dispositivos de alcoholemia – Utilizados para detectar niveles de alcohol en pruebas de aliento.
    • Automatización del hogar inteligente – Puede activar sistemas de ventilación o alarmas en caso de altas concentraciones de gases.
    • Seguridad industrial – Desplegado en fábricas y plantas químicas para detectar fugas de gas y prevenir explosiones.
    • Aplicaciones automotrices – Utilizado en vehículos para detectar fugas de combustible o niveles de gases de escape.
    • IoT y ciudades inteligentes – Integrado con dispositivos IoT para monitorear niveles de contaminación ambiental en áreas urbanas.
  • Arduino Uno: El Arduino Uno es una placa microcontroladora popular que se utilizará para interactuar con el sensor MQ2 y una pantalla LCD. Procesará los datos del sensor y controlará la LCD para mostrar información en tiempo real.
  • Pantalla LCD: La pantalla LCD se utilizará para mostrar lecturas en tiempo real del sensor MQ2, indicando si existe un riesgo potencial de incendio basado en la presencia de gases.

Precauciones de seguridad

  • Dado que este experimento implica detectar gases (potencialmente inflamables), incluye una breve nota sobre cómo garantizar una ventilación adecuada al probar el sensor con gases o humo. Recuerda a los estudiantes que siempre deben trabajar en un entorno seguro.

Equipo necesario

  • Hardware:
    • Placa Arduino Uno
    • Sensor de gas MQ2
    • Pantalla LCD 16x2 (conexión I2C o paralela)
    • Cables jumper
    • Protoboard (opcional)
    • Fuente de alimentación para Arduino
  • Software:
    • Arduino IDE (para programar el microcontrolador)
  • Dependencias de la biblioteca
    • LiquidCrystal_I2C
    • Wire

Instalación de Arduino IDE

  • Instala las dependencias de la biblioteca según el proyecto como se muestra a continuación:
  • Descarga Arduino IDE para tu plataforma:
    • Windows
    • MacOS - Apple Silicon/Intel
    • Linux
  • Sigue las instrucciones de instalación y abre la aplicación
  • Conecta la placa Arduino UNO a cualquiera de los puertos USB del PC
  • Selecciona la placa de la lista como se muestra a continuación:
  • Pega el código de cada proyecto que encuentres en el Repositorio de GitHub
  • Carga el boceto en el Arduino UNO seleccionando el botón

Diagrama del circuito

  • Conexiones para el sensor MQ2:
    • VCC del MQ2 a 5V en el Arduino
    • GND del MQ2 a GND en el Arduino
    • Salida analógica (A0) del MQ2 a un pin analógico en el Arduino (por ejemplo, A0)
  • Conexiones para la pantalla LCD:
    • VCC de la pantalla LCD a 5V en el Arduino
    • GND de la pantalla LCD a GND en el Arduino
    • SDA a A4 (en Arduino Uno) para comunicación I2C
    • SCL a A5 (en Arduino Uno) para comunicación I2C
  • Conecta el sensor MQ2 al Arduino Uno como se muestra en el diagrama del circuito.
  • Conecta la pantalla LCD al Arduino Uno vía I2C o conexión paralela según las especificaciones.

Programando el Arduino

  • Abre el IDE de Arduino y escribe el código para inicializar el sensor MQ2 y la pantalla LCD.
  • Incluye las bibliotecas necesarias como LiquidCrystal_I2C (para la pantalla LCD) y otras bibliotecas relacionadas con el sensor si corresponde.
  • Escribe el programa para leer datos del sensor MQ2 y mostrar los valores en la pantalla LCD.
  • Implementa una lógica para evaluar si la lectura del sensor indica la presencia de niveles de gas relacionados con un posible incendio.

void loop() { sum = readMQ2(); for(int i = 0; i < repetitions; i++) { sum += readMQ2(); } avg = sum / repetitions; lcd.clear(); lcd.print("Valor: "); lcd.print(String(avg)); lcd.setCursor(0, 1); Serial.print("Valor: "); if (avg > 100) { lcd.print("¡Humo/Gas Detectado!"); Serial.println("¡Humo/Gas Detectado!"); } else { lcd.print("No hay humo/gas"); Serial.println("No hay humo/gas"); } delay(300); } // Función para obtener la lectura analógica del MQ2 int readMQ2() { unsigned int sensorValue = analogRead(MQ2_AO); // Mapear la resolución del sensor de 10 bits a 8 bits para detección más rápida unsigned int outputValue = map(sensorValue, 0, 1023, 0, 255); return outputValue; }

Código de ejemplo

#include <LiquidCrystal_I2C.h> #include <Wire.h> #define LCD_ADD 0x27 // Dirección I2C de la pantalla LCD #define LCD_COLS 16 // Número de columnas de la pantalla LCD #define LCD_ROWS 2 // Número de filas de la pantalla LCD // Definición de pines #define MQ2_AO A0 // Declaración de variables int sum = 0; int avg = 0; int repetitions = 100; LiquidCrystal_I2C lcd(LCD_ADD, LCD_COLS, LCD_ROWS); void setup() { Serial.begin(115200); // Inicializa la pantalla LCD y enciende la luz de fondo lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("Humo/Gas"); lcd.setCursor(0, 1); lcd.print("Detector."); Serial.println("Detector de humo/gas."); delay(1000); }

Pruebas y calibración

  • Carga el código en el Arduino y abre el monitor serial (en Mac y/o Windows) para verificar las lecturas del sensor.
  • Prueba el sensor exponiéndolo a diferentes niveles de humo o gases (de forma segura) y observa la pantalla LCD.
  • Ajusta el valor umbral en el código para definir el nivel de concentración de gas en el que se detecta un posible incendio.

Observaciones

  • Registrar las lecturas del sensor en diferentes concentraciones de gases.
  • Observar la pantalla LCD para verificar si el sistema identifica correctamente la presencia de gases relacionados con el fuego.

Resultados y Análisis

  • Resultados Esperados: La pantalla LCD debe mostrar las lecturas del nivel de gas en tiempo real. Cuando la concentración de gas exceda un umbral determinado, debe aparecer en la pantalla el mensaje “¡Posible Incendio!”
  • Análisis: Comparar los datos del sensor con los umbrales esperados para la detección de humo o incendio. Discutir cómo se puede utilizar el sensor MQ2 en sistemas de detección de incendios en el mundo real.

Discusión

  • Analiza la efectividad del sensor MQ2 para detectar la presencia de humo u otros gases relacionados con el incendio.
  • Evalúa el rendimiento general de la integración entre el Arduino, el sensor MQ2 y la pantalla LCD.

Preguntas de pensamiento crítico

  • ¿Cómo puedes modificar el circuito para detectar otros gases?
  • ¿Qué otros sensores podrías usar para mejorar la precisión en la detección de incendios?
  • ¿Qué factores podrían causar falsos positivos o negativos en el sistema de detección de incendios?
  • ¿Cómo mejorarías la fiabilidad del sistema de detección de incendios en una aplicación del mundo real?
  • Sugiere cómo se podría mejorar aún más el sistema.

02

Integración y prueba del sensor de agua para la detección de inundaciones

Objetivo

El objetivo de este experimento es integrar el sensor de precipitación / agua Grove con un microcontrolador Arduino Uno y mostrar en tiempo real los datos del sensor en una pantalla LCD. El sensor detectará la presencia de precipitación así como el nivel de agua, y estos datos se utilizarán para evaluar el potencial riesgo de inundación.

Información contextual

  • Sensor de Precipitación / Agua: El sensor de agua Grove de Seeed Studio es un sensor simple pero eficaz que se utiliza para detectar la presencia de agua, niveles de humedad e incluso precipitación. Pertenece al ecosistema Grove de Seeed Studio, lo que facilita su conexión a microcontroladores como Arduino y Raspberry Pi sin necesidad de soldadura o cableado complejo. El sensor de precipitación / agua Grove puede generar valores de voltaje para el nivel de agua. Para detectar inundaciones, la resistencia de los elementos de cobre expuestos cambia, produciendo valores de voltaje analógicos que pueden usarse para detectar el nivel de agua. Cada traza tiene una resistencia débil de 1MΩ. Cuando el sensor está sumergido en agua, la lectura de voltaje del pin de señal disminuye.
  • Aplicaciones:
    • Detección de lluvia y precipitación – Utilizado en estaciones meteorológicas para detectar precipitaciones y activar alertas.
    • Detección de fugas – Instalado cerca de tuberías, electrodomésticos o sótanos para detectar fugas de agua y prevenir daños.
    • Monitoreo de humedad del suelo – Ayuda en agricultura inteligente detectando sequedad del suelo y automatizando el riego.
    • Detección del nivel de agua – Utilizado en tanques o embalses para monitorear niveles de agua.
    • Automatización del hogar y IoT – Puede integrarse con sistemas inteligentes para alertar a los usuarios sobre fugas o inundaciones.
    • Aplicaciones industriales – Ayuda en el monitoreo de humedad o detección de presencia de agua en entornos críticos.
  • Arduino Uno: El Arduino Uno es una placa microcontroladora popular que se utilizará para interactuar con el sensor y una pantalla LCD. Procesará los datos del sensor y controlará la pantalla LCD para mostrar información en tiempo real.
  • Pantalla LCD: La pantalla LCD se utilizará para mostrar lecturas en tiempo real del sensor, indicando si existe un riesgo potencial de inundación basado en la presencia de niveles altos de agua.

Precauciones de Seguridad

  • Dado que este experimento implica detectar precipitación y agua, incluye una breve nota sobre cómo asegurar el cuidado adecuado al probar el sensor para evitar derrames. Recuerda a los estudiantes que siempre trabajen en un entorno seguro.

Equipo necesario

  • Hardware:
    • Placa Arduino Uno
    • Sensor de agua
    • Pantalla LCD 16x2 (conexión I2C o paralela)
    • Cables jumper
    • Protoboard (opcional)
    • Fuente de alimentación para Arduino
  • Software:
    • IDE de Arduino (para programar el microcontrolador)
  • Dependencias de la biblioteca
    • LiquidCrystal_I2C
    • Wire

Instalación de Arduino IDE

  • Instala las dependencias de la biblioteca según el proyecto como se muestra a continuación:
  • Descarga Arduino IDE para tu plataforma:
    • Windows
    • MacOS - Apple Silicon/Intel
    • Linux
  • Sigue las instrucciones de instalación y abre la aplicación
  • Conecta la placa Arduino UNO a cualquiera de los puertos USB del PC
  • Selecciona la placa de la lista como se muestra a continuación:
  • Pega el código de cada proyecto que encuentres en el Repositorio de GitHub
  • Sube el boceto a Arduino UNO seleccionando el botón

Diagrama de circuito

  • Conexiones para el sensor de agua:
    • VCC del sensor a 5V en el Arduino
    • GND del sensor a GND en el Arduino
    • Salida analógica (A0) del sensor a un pin analógico en el Arduino (por ejemplo, A0)
  • Conexiones para la pantalla LCD:
    • VCC de la LCD a 5V en el Arduino
    • GND de la LCD a GND en el Arduino
    • SDA a A4 (en Arduino Uno) para comunicación I2C
    • SCL a A5 (en Arduino Uno) para comunicación I2C
  • Conecta el sensor al Arduino Uno como se muestra en el diagrama de circuito.
  • Conecta la pantalla LCD al Arduino Uno vía I2C o conexión paralela según las especificaciones.

Programando el Arduino

  • Abre el IDE de Arduino y escribe el código para inicializar el sensor y la pantalla LCD.
  • Incluye las bibliotecas necesarias, como LiquidCrystal_I2C (para la LCD) y otras bibliotecas relacionadas con el sensor si es aplicable.
  • Escribe el programa para leer datos del sensor y mostrar los valores en la LCD.
  • Implementa una lógica para evaluar si la lectura del sensor indica la presencia de niveles de agua relacionados con una posible inundación.

void loop() { // lee el pin de entrada val = analogRead(WATER_SENSOR); // Serial.println(val); if (val < 150) intensidad = "Alta"; else if (val >= 150 && val <= 160) intensidad = "Moderada"; else if (val > 160 && val <= 250) intensidad = "Baja"; else intensidad = "Ninguna"; lcd.clear(); lcd.print("Nivel de agua:"); lcd.setCursor(0,1); lcd.print(intensidad); Serial.print("Nivel de agua: "); Serial.println(intensidad); Serial.print("Valor: "); Serial.println(val); delay(500); }

Código de ejemplo

#include <LiquidCrystal_I2C.h> #include <Wire.h> #define WATER_SENSOR A0 #define LCD_ADD 0x27 // Dirección I2C de la pantalla LCD #define LCD_COLS 16 // Número de columnas de la pantalla LCD #define LCD_ROWS 2 // Número de filas de la pantalla LCD LiquidCrystal_I2C lcd(LCD_ADD, LCD_COLS, LCD_ROWS); int val = 0; String intensidad; void setup() { Serial.begin(115200); // Inicializa la LCD y enciende la luz de fondo lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("Detección de Inundaciones."); lcd.setCursor(0, 1); Serial.println("Detección de Inundaciones."); }

Pruebas y calibración

  • Carga el código en el Arduino y abre el monitor serie (en Mac y/o Windows) para verificar las lecturas del sensor.
  • Prueba el sensor exponiéndolo a diferentes niveles de agua y observa la pantalla LCD.
  • Ajusta el valor umbral en el código para definir el nivel de agua en el que se detecta una posible inundación.

Observaciones

  • Registrar las lecturas del sensor en diferentes niveles de agua.
  • Observar la pantalla LCD para verificar si el sistema identifica correctamente el nivel de agua en relación con la inundación.

Resultados y análisis

  • Resultados esperados: La pantalla LCD debería mostrar las lecturas del nivel de agua en tiempo real. Cuando el nivel de agua supere un umbral determinado, debería aparecer en la pantalla el mensaje “Nivel de agua alto”.
  • Análisis: Comparar los datos del sensor con los umbrales esperados para la detección de inundaciones. Discutir cómo se puede utilizar el sensor de agua en sistemas reales de detección de inundaciones.

Discusión

  • Analiza la efectividad del sensor de agua para detectar la presencia de agua, niveles de humedad e incluso precipitación asociada con posibles inundaciones.
  • Evalúa el rendimiento general de la integración entre el Arduino, el sensor de agua y la pantalla LCD.

Preguntas de pensamiento crítico

  • ¿Qué otros sensores podrías usar para mejorar la precisión de la detección de inundaciones?
  • ¿Qué factores podrían causar falsos positivos o negativos en el sistema de detección de inundaciones?
  • ¿Cómo mejorarías la fiabilidad del sistema de detección de inundaciones en una aplicación real?
  • Sugiere cómo se podría mejorar aún más el sistema.

03

Integración y prueba del sensor MPU6050 para la detección de terremotos

Objetivo

El objetivo de este experimento es integrar el sensor mpu6050 con un microcontrolador Arduino Uno y mostrar en tiempo real los datos del sensor en una pantalla LCD. La Unidad de Medida Inercial MPU6050 puede producir valores de aceleración y giroscopio. Para detectar terremotos, la aceleración en el eje Z, dado que el MPU6050 está fijado en posición vertical sobre una superficie nivelada, se convierte de [m/s2] a [g] dividiendo el valor de aceleración por la fuerza gravitatoria de la Tierra (~9.81 m/s2). Este valor de g se categoriza según la escala modificada de Mercalli, y estos datos se utilizarán para evaluar el riesgo sísmico.

Información contextual

  • Sensor MPU6050: El MPU6050 es un sensor de seguimiento de movimiento de 6 ejes que combina un giroscopio de 3 ejes (medición de velocidad angular) y un acelerómetro de 3 ejes (medición de aceleración). Se utiliza ampliamente en seguimiento de movimiento, detección de orientación y reconocimiento de gestos. También incluye un Procesador de Movimiento Digital (DMP) integrado, que puede procesar los datos del sensor antes de enviarlos a un microcontrolador, reduciendo la carga computacional.
  • Aplicaciones:
    • Seguimiento de movimiento y control de gestos – Usado en controles de videojuegos, robótica y sistemas de captura de movimiento humano.
    • Estabilización de drones y UAV – Ayuda a mantener la estabilidad de los drones rastreando su orientación.
    • Robótica y sistemas de autoequilibrio – Esencial para aplicaciones robóticas como robots autoequilibrantes y brazos robóticos.
    • Dispositivos portátiles y monitores de actividad física – Utilizado en conteo de pasos, reconocimiento de actividad y monitoreo de estado físico.
    • Realidad Virtual (VR) y Realidad Aumentada (AR) – Ayuda en el seguimiento de la cabeza para experiencias inmersivas.
    • Smartphones y tablets – Utilizado para rotación automática de pantalla, detección de sacudidas y controles de videojuegos.
    • Aplicaciones automotrices – Ayuda en control de estabilidad del vehículo, detección de colisiones y detección de movimiento.
    • Monitoreo de equipos industriales – Utilizado en mantenimiento predictivo y análisis de vibraciones.
  • Arduino Uno: El Arduino Uno es una placa microcontroladora popular que se usará para conectar con el sensor MPU6050 y una pantalla LCD. Procesará los datos del sensor y controlará la pantalla LCD para mostrar información en tiempo real.
  • Pantalla LCD: La pantalla LCD se usará para mostrar lecturas en tiempo real del sensor MPU6050, indicando si existe un riesgo potencial de terremoto basado en la presencia de vibraciones y fuerzas g.

Precauciones de seguridad

  • Dado que este experimento implica detectar vibraciones y fuerzas g, incluye una breve nota sobre cómo manejar adecuadamente el sensor durante las pruebas. Recuerda a los estudiantes que siempre trabajen en un entorno seguro.

Equipo necesario

  • Hardware:
    • Placa Arduino Uno
    • Sensor MPU6050
    • Pantalla LCD 16x2 (conexión I2C o paralela)
    • Cables jumper
    • Protoboard (opcional)
    • Fuente de alimentación para Arduino
  • Software:
    • IDE de Arduino (para programar el microcontrolador)
  • Dependencias de la biblioteca
    • Adafruit MPU6050
    • Adafruit Sensor
    • LiquidCrystal_I2C
    • Wire

Instalación de Arduino IDE

  • Instala las dependencias de la biblioteca según el proyecto como se muestra a continuación:
  • Descarga Arduino IDE para tu plataforma:
    • Windows
    • MacOS - Apple Silicon/Intel
    • Linux
  • Sigue las instrucciones de instalación y abre la aplicación
  • Conecta la placa Arduino UNO a cualquiera de los puertos USB del PC
  • Selecciona la placa de la lista como se muestra a continuación:
  • Pega el código de cada proyecto encontrado en el Repositorio de GitHub
  • Carga el boceto en el Arduino UNO seleccionando el botón

Diagrama de circuito

  • Conexiones para el sensor mpu6050:
    • VCC del MPU6050 a 3.3V en el Arduino
    • GND del MPU6050 a GND en el Arduino
    • SCL del MPU6050 a SCL en el Arduino
    • SDA del MPU6050 a SDA en el Arduino
  • Conexiones para la pantalla LCD:
    • VCC de la pantalla LCD a 5V en el Arduino
    • GND de la pantalla LCD a GND en el Arduino
    • SDA a A4 (en Arduino Uno) para comunicación I2C
    • SCL a A5 (en Arduino Uno) para comunicación I2C
  • Conecta el sensor MPU6050 al Arduino Uno como se muestra en el diagrama de circuito.
  • Conecta la pantalla LCD al Arduino Uno mediante conexión I2C o paralela según las especificaciones.

Diagrama de circuito

  • Conexiones para el sensor MQ2:
    • VCC del MPU6050 a 3.3V en el Arduino
    • GND del MPU6050 a GND en el Arduino
    • SCL del MPU6050 a SCL en el Arduino
    • SDA del MPU6050 a SDA en el Arduino
  • Conexiones para la pantalla LCD:
    • VCC de la pantalla LCD a 5V en el Arduino
    • GND de la pantalla LCD a GND en el Arduino
    • SDA a A4 (en Arduino Uno) para comunicación I2C
    • SCL a A5 (en Arduino Uno) para comunicación I2C
  • Conecta el sensor MPU6050 al Arduino Uno como se muestra en el diagrama de circuito.
  • Conecta la pantalla LCD al Arduino Uno mediante conexión I2C o paralela según las especificaciones.

Programando el Arduino

  • Abre Arduino IDE y escribe el código para inicializar el sensor mpu6050 y la pantalla LCD.
  • Incluye las librerías necesarias como LiquidCrystal_I2C (para LCD) y otras librerías relacionadas con el sensor si aplica.
  • Escribe el programa para leer datos del sensor mpu6050 y mostrar los valores en la pantalla LCD.
  • Implementa lógica para evaluar si la lectura del sensor indica niveles de vibración relacionados con un posible terremoto.
Código de ejemplo

void loop() { sumAccel = 0.0; // Promedio del acelerómetro en el eje Z para 300 lecturas y convertirlas de m/s^2 a g // para reducir errores del sensor for(int i = 0; i < 300; i++) { mpu.getAccelerometerSensor()->getEvent(&evento); sumAccel = abs(evento.acceleration.z / 9.81); } avgAccel = sumAccel / 300; // Calcular la diferencia entre la lectura anterior y la actual para determinar desplazamientos en valores de g diff = abs(avgAccel - prevAccel); // Identificar la categoría del terremoto comparando la diferencia de las lecturas if (diff >= 0.0276 && diff <= 0.115) intensidad = "Categoría V"; else if (diff > 0.115 && diff <= 0.215) intensidad = "Categoría VI"; else if (diff > 0.215 && diff <= 0.401) intensidad = "Categoría VII"; else if (diff > 0.401 && diff <= 0.747) intensidad = "Categoría VIII"; else if (diff > 0.747 && diff <= 1.39) intensidad = "Categoría IX"; else if (diff > 1.39) intensidad = "Categoría X"; else intensidad = "Ninguno"; lcd.clear(); lcd.print(diff); lcd.print(" g"); lcd.setCursor(0, 1); lcd.print(intensidad); // Asignar la lectura actual a la anterior para repetir la comparación prevAccel = avgAccel; delay(50); }

#include <Adafruit_MPU6050.h> #include <Adafruit_Sensor.h> #include <LiquidCrystal_I2C.h> #include <Wire.h> #define LCD_ADD 0x27 // Dirección I2C de la pantalla LCD #define LCD_COLS 16 // Número de columnas de la pantalla LCD #define LCD_ROWS 2 // Número de filas de la pantalla LCD // Definición de periféricos Adafruit_MPU6050 mpu; LiquidCrystal_I2C lcd(LCD_ADD, LCD_COLS, LCD_ROWS); // Declaración de variables float sumAccel = 0.0; float avgAccel; float prevAccel = 0.0; float diff = 0.0; String intensidad; void setup(void) { Serial.begin(115200); // Inicializar LCD y encender retroiluminación lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("Detección de Sismos."); lcd.setCursor(0, 1); // Verificar conectividad del MPU6050 while (!mpu.begin()) { Serial.println("¡No conectado el MPU6050!"); delay(1000); } lcd.print("MPU6050 listo."); delay(1000); } sensores_event_t evento;

Pruebas y calibración

  • Cargar el código en el Arduino y abrir el monitor serial (en Mac y/o Windows) para verificar las lecturas del sensor.
  • Probar el sensor exponiéndolo a varios niveles de vibración y observar la pantalla LCD.

Observaciones

  • Registrar las lecturas del sensor en diferentes situaciones.
  • Observar la pantalla LCD para verificar si el sistema identifica correctamente la presencia de vibración relacionada con terremotos.

Resultados y análisis

  • Resultados esperados: La pantalla LCD debe mostrar las lecturas del nivel de vibración en tiempo real. Cuando la aceleración de vibración supere un umbral determinado, debe aparecer en la pantalla el mensaje “Categoría V”.
  • Análisis: Compara los datos del sensor con los umbrales esperados para la detección de terremotos. Discute cómo el sensor mpu6050 puede ser utilizado en sistemas reales de detección de incendios.

Discusión

  • Analiza la efectividad del sensor mpu6050 para detectar la presencia de vibraciones y fuerzas g asociadas con terremotos.
  • Evalúa el rendimiento general de la integración entre el Arduino, el sensor mpu6050 y la pantalla LCD.

Preguntas de pensamiento crítico

  • ¿Cómo puedes modificar el circuito para detectar datos adicionales como el azimut?
  • ¿Qué otros sensores podrías usar para mejorar la precisión de la detección de terremotos?
  • ¿Qué factores podrían causar falsos positivos o negativos en el sistema de detección de terremotos?
  • ¿Cómo mejorarías la fiabilidad del sistema de detección de terremotos en una aplicación del mundo real?
  • Sugiere cómo se podría mejorar aún más el sistema.