#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTTYPE DHT22
#define DHTPIN 9
DHT dht (DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
int delay1 = 200;
int delay2 = 2000;
int delay3 = 1000;
byte a_tilde[8] = {
0B00010,
0B00100,
0B01110,
0B00001,
0B01111,
0B10001,
0B01111,
0B00000,
};
byte e_tilde[8] = {
0B00010,
0B00100,
0B01110,
0B10001,
0B11111,
0B10000,
0B01110,
0B00000,
};
byte i_tilde[8] = {
0B00010,
0B00100,
0B01100,
0B00100,
0B00100,
0B00100,
0B01110,
0B00000,
};
byte o_tilde[8] = {
0B00010,
0B00100,
0B01110,
0B10001,
0B10001,
0B10001,
0B01110,
0B00000,
};
byte u_tilde[8] = {
0B00010,
0B00100,
0B10001,
0B10001,
0B10001,
0B10011,
0B01101,
0B00000,
};
byte ene[8] = {
0B01110,
0B00000,
0B10110,
0B11001,
0B10001,
0B10001,
0B10001,
0B00000,
};
byte grado[8] = {
0B01100,
0B10010,
0B10010,
0B01100,
0B00000,
0B00000,
0B00000,
0B00000,
};
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(4, OUTPUT);
pinMode(2, OUTPUT);
lcd.init();
lcd.backlight();
lcd.createChar(0, a_tilde);
lcd.createChar(1, e_tilde);
lcd.createChar(2, i_tilde);
lcd.createChar(3, o_tilde);
lcd.createChar(4, u_tilde);
lcd.createChar(5, ene);
lcd.createChar(6, grado);
lcd.setCursor(5,0);
lcd.print("MATERIA");
lcd.setCursor(6,1);
lcd.print("Stem");
delay(delay2);
for (int a = 0; a <= 12; a++ ){
lcd.scrollDisplayLeft();
delay(delay1);
}
lcd.clear();
delay(delay3);
lcd.setCursor(5,0);
lcd.print("CURSO");
lcd.setCursor(7,1);
lcd.print("7A");
delay(delay2);
for (int a = 0; a <= 10; a++ ){
lcd.scrollDisplayLeft();
delay(delay1);
}
lcd.clear();
delay(delay3);
lcd.setCursor(3,0);
lcd.print("CREADO POR");
lcd.setCursor(0,1);
lcd.print("Andres Felipe Veloza Ca as");
lcd.setCursor(23, 1);
lcd.write(5);
delay(delay2);
for (int a = 0; a <= 20; a++ ){
lcd.scrollDisplayLeft();
delay(delay1);
}
lcd.clear();
delay(delay3);
lcd.setCursor(2,0);
lcd.print("ENTREGADO A");
lcd.setCursor(0,1);
lcd.print("Miguel Angel D az Gonz lez");
lcd.setCursor(14, 1);
lcd.write(2);
lcd.setCursor(22, 1);
lcd.write(0);
delay(delay2);
for (int a = 0; a <= 20; a++ ){
lcd.scrollDisplayLeft();
delay(delay1);
}
lcd.clear();
delay(delay3);
}
void loop() {
delay(2000);
float humedad = dht.readHumidity();
float temperatura = dht.readTemperature();
if (isnan(humedad) || isnan(temperatura)){
Serial.println("Error al leer el sensor DHT-11!!");
return;
}
if (temperatura < 35){
digitalWrite(4, HIGH);
digitalWrite(2, HIGH);
}
if (temperatura >= 35){
digitalWrite(4, LOW);
digitalWrite(2, LOW);
}
lcd.setCursor(0,0);
lcd.print("T C :");
lcd.setCursor(1,0);
lcd.write(6);
lcd.setCursor(8,0);
lcd.print(temperatura);
lcd.setCursor(0,1);
lcd.print("H :");
lcd.setCursor(1,1);
lcd.write(6);
lcd.setCursor(6,1);
lcd.print(humedad);
delay(delay2);
lcd.clear();
}