#include <LiquidCrystal_I2C.h>
#include "DHTesp.h"
DHTesp dht;
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int pot = 35;
const int tem1 = 33;
const int tem2 = 32;
const int boton1 = 26;
const int boton2 = 27;
const int boton3 = 15;
const int boton4 = 12;
const int led1 = 16;
const int led2 = 17;
const int led3 = 18;
float vartem1 = 0;
int varpot1 = 0;
float vartem2 = 0;
int varpot2 = 0;
bool k = false;
bool x = false;
bool z = false;
bool y = false;
byte degreeSymbol[8] = {
B00111,
B00101,
B00111,
B00000,
B11100,
B10000,
B10000,
B11100
};
byte degreeSymbol1[8] = {
B01110,
B01010,
B01110,
B00000,
B00000,
B00000,
B00000,
B00000
};
void setup() {
Serial.begin(115200);
Wire.begin();
lcd.init();
lcd.backlight();
lcd.createChar(0, degreeSymbol);
lcd.createChar(1, degreeSymbol1);
pinMode(pot, INPUT);
pinMode(boton1, INPUT);
pinMode(boton2 , INPUT);
pinMode(boton3, INPUT);
pinMode(boton4, INPUT);
pinMode(tem1, INPUT);
pinMode(tem2, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
dht.setup(tem1, DHTesp::DHT22);
}
void loop() {
// temperatura 1////////////////////////////
if (x == false){
TempAndHumidity data = dht.getTempAndHumidity();
float temperatura = data.temperature;
lcd.setCursor(0,0);
lcd.print("T1:") ;
lcd.setCursor(3,0);
lcd.print( String(data.temperature, 2) );
lcd.setCursor(8,0);
lcd.write((uint8_t)0);
//// temperatura 2 ////////////////////////////////////////////////////////
/*int lectura = analogRead(pinLM35);
// Convertir el valor analógico a temperatura en grados Celsius
float temperatura = (lectura * 3.3 / 4095) * 100; */
int dato2 = analogRead(tem2);
int temperatura2 = map(dato2,0,4095,0,360);
if (y == false ){
lcd.setCursor(0,1);
lcd.print("T2:");
lcd.setCursor(3,1);
lcd.print(temperatura2);
lcd.print(" ");
lcd.setCursor(6,1);
lcd.write((uint8_t)1);
}
// potenciometro//////////////////////////////////////////////
int dato1 = analogRead(pot);
int grados = map(dato1,0,4095,0,360);
lcd.setCursor(10,0);
lcd.print("P:");
lcd.setCursor(12,0);
lcd.print(grados);
lcd.print(" ");
lcd.setCursor(15,0);
lcd.write((uint8_t)1);
//////guardado 1 ////////////////////7777777
if (digitalRead(boton1) == HIGH ){
y = true;
vartem1 = temperatura;
varpot1 = grados;
Serial.println(vartem1);
Serial.println(varpot1);
lcd.setCursor(0,1);
lcd.print(" ") ;
lcd.setCursor(0,1);
lcd.print(" Dato Guardado1") ;
z = true;
}else if(z == true && digitalRead(boton2) == HIGH ){ ///imprimido1
lcd.setCursor(0,1);
lcd.print(" ") ;
lcd.setCursor(0,1);
lcd.print("T1:") ;
lcd.setCursor(3,1);
lcd.print( vartem1 );
lcd.setCursor(8,1);
lcd.write((uint8_t)0);
lcd.setCursor(10,1);
lcd.print("D:");
lcd.setCursor(12,1);
lcd.print(varpot1);
lcd.print(" ");
lcd.setCursor(15,1);
lcd.write((uint8_t)1);
z = false;
} else if( digitalRead(boton2) == HIGH && y == true && z == false){
lcd.setCursor(0,1);
lcd.print(" ") ;
y = false;
}
//imprimido 2 //////////////////////////////////////////
if (digitalRead(boton3) == HIGH){
y = true;
vartem2 = temperatura2;
varpot2 = grados;
Serial.println(vartem2);
Serial.println(varpot2);
lcd.setCursor(0,1);
lcd.print(" ") ;
lcd.setCursor(0,1);
lcd.print(" Dato Guardado2") ;
k = true;
}else if(k == true && digitalRead(boton4) == HIGH ){ ///imprimido1
lcd.setCursor(0,1);
lcd.print(" ") ;
lcd.setCursor(0,1);
lcd.print("T1:") ;
lcd.setCursor(3,1);
lcd.print( vartem2 );
lcd.setCursor(8,1);
lcd.write((uint8_t)0);
lcd.setCursor(10,1);
lcd.print("D:");
lcd.setCursor(12,1);
lcd.print(varpot2);
lcd.print(" ");
lcd.setCursor(15,1);
lcd.write((uint8_t)1);
k = false;
} else if( digitalRead(boton4) == HIGH && y == true && k == false){
lcd.setCursor(0,1);
lcd.print(" ") ;
y = false;
}
/////ledss//////////////////////////////////////////////////////////
if(temperatura < 25){
digitalWrite(led1 , HIGH);
digitalWrite(led2 , LOW);
digitalWrite(led3 , LOW);
}else if (temperatura >= 25 && temperatura <= 35){
digitalWrite(led1 , LOW);
digitalWrite(led2 , HIGH);
digitalWrite(led3 , LOW);
}else if(temperatura > 35){
digitalWrite(led1 , LOW);
digitalWrite(led2 , LOW);
digitalWrite(led3 , HIGH);
}
}
if (tem1 >)
delay(100);
}