miércoles, 24 de enero de 2024

Estación meteorológica inteligente


 ESTACIÓN METEOROLÓGICA INTELIGENTE


Vídeo demostración.





Alumno: David Hidalgo González
Asignatura: Innovación docente de la especialidad de Tecnología
Máster: Máster Universitario en Profesor de educación secundaria obligatoria y bachillerato,      Formación profesional y enseñanza de idiomas.
Centro: Universidad de Salamanca
Curso: 2023-2024

Descripción del proyecto.

   Este prototipo tiene la finalidad de simular una estación meteorológica midiendo temperatura y humedad con la innovación de medir la cantidad de CO2 en el ambiente pudiendo detectar gas o humo, entre otros parámetros.

   El sistema está constituido de un sensor de temperatura y humedad (DHT11), un sensor de detección de exceso o fuga de gases como óxido nitroso, amoníaco, alcohol, aromáticos, humo y sulfuro (MQ135), una placa de arduino UNO, una protoboard, una pantalla LCD 16x2 en la que se muestran los parámetros de temperatura y humedad en la primera fila y humo en la segunda línea de escritura, un potenciómetro para poder regular la visualización de los datos en la pantalla lcd, un diodo led rojo que intermite cuando hay peligro de humo, gas u otros gases detectados por el mq135, una resistencia necesaria para limitar la corriente eléctrica que circula por el diodo led y un buzzer que simula una sirena que avisa del peligro de mala calidad del aire, detección de fuego o gases detectados por el mq135.


Alumnos a los que está dirigido.

   Este proyecto se puede adaptar a los alumnos de Tecnología y Digitalización de 3º y Tecnología de 4º de la ESO.


Aprendizaje transversal.

   Este proyecto puede emplearse para el aprendizaje transversal con asignaturas como dibujo técnico, informática, matemáticas, física y química y lengua.


ODS.

   El proyecto atiende, además, de forma transversal e intenta mejorar los siguientes ODS:

  • número 3; salud y bienestar.
  • número 4; educación de calidad.
  • número 9; industria, innovación e infraestructura.
  • número 13; acción por el clima.
  • número 15; vida de ecosistemas terrestres.




Componentes.

  • Placa de Arduino ELEGOO UNO R3.
  • Protoboard.
  • Pantalla lcd 16x2.
  • Potenciómetro de 10kΩ.
  • Led rojo.
  • Resistencia de 220Ω.
  • Buzzer
  • Sensor DHT11.
  • Sensor MQ135.
  • Cables para circuito de diferentes longitudes.
  • Cable usb tipo A a tipo B.


Esquemas obtenidos con Tinkercad:

1.- Vista de circuito.





2.- Vista esquemática.





Código arduino.

//Proyecto para estación meteorológica vigilante.

/*Incluimos varias librerías necesarias para los sensores
mq135, dht11 y pantalla lcd 16x2*/
#include <MQ135.h>
#include <DHT.h>
#include <LiquidCrystal.h>

#define DHTPIN 12
#define DHTTYPE DHT11

// Declaración de variables
const int pinMQ135 = 11;
const int DHT_SENSOR_PIN = 12;
const int pinBUZZER = 13;
const int pinLEDr = 8;
MQ135 mq135(A0);

DHT dht(DHTPIN, DHTTYPE);
//Pines usados lcd(rs,en,d4,d5,d6,d7)
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);


void setup() {
  //Inicializamos el puerto serie para la depuración del código,
//los sensores y la pantalla lcd
  Serial.begin(9600);
  dht.begin();

  lcd.begin(16, 2);
  lcd.print ("   MUPES 2024");
  delay(2000);
  lcd.begin(16, 2);
  lcd.clear();

  //Definimos los pines del led rojo y buzzer como salidas de arduino
  pinMode(pinBUZZER, OUTPUT);
  pinMode(pinLEDr, OUTPUT);
}


void loop() {
 
  //Leemos los valores de los sensores
  float temperatura = dht.readTemperature();
  float humedad = dht.readHumidity();
  float humo = analogRead(A0);

  /*Posicionamos el cursor del lcd para escritura de los valores
  de las tres variables*/
  /*En la primera mitad de la primera línea escribimos el valor
  de la temperatura*/
  lcd.setCursor(0, 0);
  lcd.print("T:");
  lcd.print(temperatura);
  lcd.print("C");

  /*En la segunda mitad de la primera línea escribimos el valor
  de la humedad*/
  lcd.setCursor(9, 0);
  lcd.print("H:");
  lcd.print(humedad);
  lcd.print("%");

  //En la segunda línea del lcd escribimos el valor del humo o gas
  lcd.setCursor(0, 1);
  lcd.print("humo:");
  lcd.print(humo);
  lcd.print("ppm");

  /*Cuando el MQ135 detecta humo o gas, entre otros, activa
  intermitentemente el led rojo y continuamente el buzzer*/
  if(humo > 150){
    digitalWrite(pinBUZZER, HIGH);
    digitalWrite(pinLEDr, HIGH);
    delay(1000);
    digitalWrite(pinLEDr, LOW);
    delay(1000);
  }
  /*Cuando el MQ135 no detecta humo o gas, entre otros, desactiva
  el led rojo y el buzzer*/
  else{
    digitalWrite(pinLEDr, LOW);
    digitalWrite(pinBUZZER, LOW);
  }

  delay(500);
}

Salamanca, 24 de enero de 2024.





No hay comentarios:

Publicar un comentario