miércoles, 25 de enero de 2023

Control de temperatura y humedad para sistemas de calefacción/ventilación

 

Datos

Alumna: Estefanía González Taboada
Asignatura: Innovación Docente de la Especialidad de Tecnología
Titulación: 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: 2022/23

 

Proyecto



Descripción

Este proyecto se basa en un aparato capaz de medir la temperatura y la humedad del ambiente mostrando dichos datos a través de la pantalla LCD. Esta función podría ser aplicada en cualquier sistema de calefacción o ventilación como medida para controlar la temperatura y aclimatar la zona deseada de manera eficiente.

Cuando la temperatura sea “óptima”, el indicador LED verde se encenderá. En este caso, se ha seleccionado que el LED verde indique como temperatura "óptima" una temperatura ambiente igual o superior a 25 grados.

Cuando la temperatura sea “baja”, es decir, inferior a 25 grados se mantendrá encendido el LED de color azul para indicar esa temperatura baja.

Estas temperaturas son programables, es decir, podría cambiarse los valores para que los indicadores lumínicos dieran el aviso a mayor o menor temperatura de la indicada.

En cuanto a su utilidad en base a la enseñanza este proyecto podría utilizarse como una introducción a Arduino dentro de la asignatura de tecnología y digitalización de cualquier curso de la ESO, añadiendo mayor o menor complejidad en relación al curso que sea. Por ejemplo, si es un 1º o 2º curso se podría simplificar o facilitar el código a los alumnos y priorizar que sean capaces de identificar las piezas, los circuitos y realizar los montajes, mientras que si es un 3º o una optativa de 4º curso podríamos centrarnos en explicar como funciona ese código para que pudieran llegar ellos mismos a la solución o realizar modificaciones. 

 

Componentes

1 Placa de Arduino ELEGOO UNO R3
1 Cable USB de alimentación
1 Placa prototipado
1 LCD 16 X 2
1 LED Verde
1 LED Azul
1 Potenciómetro
2 Resistencias 220
1 Sensor de temperatura [TMP36]

 

Esquemas TINKERCAD


Código

#include <LiquidCrystal.h>
#include <dht_nonblocking.h>
#define DHT_SENSOR_TYPE DHT_TYPE_11

static const int DHT_SENSOR_PIN = 2;
DHT_nonblocking dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE);

// initialize the LCD library with the numbers of the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

void setup()
{
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
}

/*
 * Poll for a measurement, keeping the state machine alive.  Returns
 * true if a measurement is available.
 */
static bool measure_environment(float *temperature, float *humidity)
{
  static unsigned long measurement_timestamp = millis();

  /* Measure once every four seconds. */
  if (millis() - measurement_timestamp > 1000ul)
  {
    if (dht_sensor.measure(temperature, humidity) == true)
    {
      measurement_timestamp = millis();
      return (true);
    }
  }

  return (false);
}

void loop()
{
  float temperature;
  float humidity;

  /* Measure temperature and humidity.  If the functions returns
     true, then a measurement is available. */
  if (measure_environment(&temperature, &humidity) == true)
  {
    lcd.setCursor(0, 0);
    lcd.print("T = ");
    lcd.print(temperature, 1);
    lcd.print("C");
    lcd.setCursor(0, 1);
    lcd.print("H = ");
    lcd.print(humidity, 1);

    if (temperature > 25.0)
    {
      digitalWrite(5, HIGH);
      digitalWrite(4, LOW);
    }
    else
    {
      digitalWrite(5, LOW);
      digitalWrite(4, HIGH);
    }
  }
}

No hay comentarios:

Publicar un comentario