Cuestion sobre codigo

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.

Su publicacion se MUEVE a su ubicacion actual ya que es mas adecuada.

Por favor edita el código para que este incluido correctamente entre las etiquetas <code>.

Aquí se presenta un problema. Leo tu código y veo que está escrito casí todo lo que necesitas hacer, pero con fallos "gordos":

*No has declarado bien la variable del DHT.
*La función map no está correctamente declarada.

Y tal como lo expones suena que es un ejercicio de la escuela, en el que te dan un código para que lo arregles y lo mejores. Por lo tanto, te recuerdo que en las normas especificamos que no hacemos ejercicios, solo resolvemos dudas puntuales.

Como tampoco lo tengo claro, voy a intentar ayudarte sin usar código.

Lo primero que tienes que ver es como se declara un objeto DHT. Así que aquí tienes un enlace donde está el ejemplo de la libreria de Adafruit para que veas como se declara:

DHTtester.ino

Para que veas la función map te paso este tutorial que escribí hará un tiempo:

Como funciona la función map

Una vez hayas corregido los errores de tu código debes enfrentarte con la salida del ventilador. En este caso lo mas sencillo es usar la función analogWrite en un pin con salida PWM. Debes usar de nuevo la función map para que la velocidad sea proporcional a la salida.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.