Tengo el siguiente codigo.
#include <DHT.h>
#include <LiquidCrystal.h> //Se inluye la libreria de la pantalla.
//ELEMENTOS
(8,DHT11); //indicamos que tenemos un objeto dht,el pin donde esta
LiquidCrystal lcd(7,6,5,4,3,2);
//VARIABLES
int Poten=A0;
int Habilitador=10;
int valor_Poten=A0;
float consigna=0; //variable de temperatura.
float temperatura=0; //variable de temperatura.
float consigna_mapeada=0;
float diferencia=0;
void setup() {
Serial.begin(9600); //Iniciamos el monitor serie con 9600.
lcd.begin(16,2); //Ponemos en funcionamiento la pantalla LCD.
pinMode(Poten,INPUT);
sensor.begin();
pinMode(Habilitador, OUTPUT);
}
void loop()
{
temperatura = sensor.readTemperature();
valor_Poten= analogRead(Poten);
consigna_mapeada=map(valor_Poten;
consigna=consigna_mapeada;
diferencia=temperatura-consigna;
if (diferencia>=20){
digitalWrite(Habilitador,HIGH);
}
if (diferencia==30){
digitalWrite(Habilitador,LOW);
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TºMedida:");
lcd.setCursor (10,0);
lcd.print(temperatura);
lcd.setCursor(0,1);
lcd.print("Tºconsigna:");
lcd.setCursor(10,1);
lcd.print(consigna);
delay(20);
}
Necesito hacer:
El DHT11 obtenga una medida de temperatura.
- La pantalla LCD indique la temperatura medida y la de consigna. Esta última puede cambiar entre 20 ºC y 30 ºC utilizando un potenciómetro.
- Un ventilador cuya velocidad dependa proporcionalmente de la diferencia entre la temperatura de consigna y la temperatura medida.