Tutorial 3 – Temperatura y humedad con alarma y display LCD

El proyecto de hoy ya es un poquito mas complejo pero si lo vamos haciendo crecer por pasos es mucho mas sencillo de lo que aparenta el resultado final. Vamos a ello!

Resultado final de mi proyecto de termómetro con alarma por humedad.

Vamos a ver las piezas que necesitamos para este proyecto:

  • Arduino UNO
  • Display LCD 16×2
  • Potenciometro 10k
  • LED Rojo – Verde
  • Resistencias 220 Ohm
  • Zumbador pasivo
  • Sensor Temperatura – Humedad TD111
  • Bread Board
  • Cables de conexión
  • Cable USB y Alimentación.
En las imágenes puedes ver diferentes partes del proyecto.
La idea principal es usar el sensor de temperatura y humedad para que nos proporcione los datos y mostrarlos en la pantalla LCD. Como complemento del proyecto he implementado una alarma de ejemplo que usa dos LEDS y un Buzzer. El LED verde nos indica que el sistema está funcionando y el LED rojo se enciende y hace sonar el buzzer en el momento que la humedad relativa del aire supera el 60% (este aspecto es totalmente configurable por software).
A continuación el código fuente utilizado en el proyecto, como siempre lo puedes utilizar, modificar y hacer con el lo que quieras, es totalmente libre.

Código fuente proyecto termómetro con alarmas

// Estacion meteorologica de Temperatura y humedad con LCD
// Alex Edo 02-10-2020
// ——————————————————–
// include the library code:
#include <LiquidCrystal.h>
#include <SimpleDHT.h>
#include <pitches.h>
#define SENSOR 2
#define RED 4
#define VERDE 3
//Sensor Temperatura y humedad
SimpleDHT11 sensor;
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup() {
  //Inicializar sensor
  pinMode(SENSOR,INPUT);
  // Número de columnas y filas del LCD
  lcd.begin(16,2);
  //LED ALARMA HUMEDAD
  pinMode(RED,OUTPUT);
  pinMode(VERDE,OUTPUT);
  digitalWrite(RED,LOW);
  digitalWrite(VERDE,HIGH);
  // Presentación aplicacion
  lcd.setCursor(0,0);
  lcd.print(«— Alex Edo —«);
  lcd.setCursor(0,1);
  lcd.print(«Estacion   Meteo»);
  delay(2000);
  lcd.clear();
}
void loop() {
  lcd.print(«Temp – Humedad»);
  byte temperature;
  byte humidity;
  byte data[40] = {0};
  sensor.read(SENSOR,&temperature,&humidity,data);
  // Posicionar cursor
  lcd.setCursor(0, 1);
  // Imprimir Datos
  lcd.print((int)temperature);
  lcd.setCursor(7,1);
  lcd.print((int)humidity);
  //LED ROJO SI HAY HUMEDAD ALTA
  if(humidity>=60){
    digitalWrite(RED,HIGH);
    digitalWrite(VERDE,LOW);
    tone(13,HIGH);
    delay(100);
    }else{
      noTone(13);
  digitalWrite(RED,LOW);
  digitalWrite(VERDE,HIGH);
    }
  delay(1000);
  lcd.clear();
  }
Espero que os resulte un proyecto interesante y que os sirva para ampliarlo a posteriori dandole usos que os vayan bien. Hasta aquí el proyecto de esta semana, la «estación meteorologica con alarmas».
La idea es conforme avance en el conocimiento de Arduino se pueda conectar mas sensores y finalmente montar un servidor web con el ESP8862 para poder twittear los datos del proyecto. Pero para eso aún falta experimentar mucho, y como a mi me gusta,…. paso a paso y sin prisas.

Esquema de conexionado del proyecto

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *