Error de lectura en LCD con el sensor DHT11

Hola a todos,

Estoy trabajando con un sensor DHT11 y quiero imprimir lo que lee en una LCD. El sensor y la LCD funcionan correctamente, ya he hecho varios programas probándolos por separado y no hay ningún problema.

Ahora, cuando quiero leer por la LCD lo que me viene del sensor, sólo me aparecen símbolos y números que nada tienen que ver con el sensor. He probado de programarlo de distintas maneras que he ido viendo pero no hay manera.

Adjunto el código que he utilizado:

#include <LiquidCrystal.h> // Incluye la Libreria LiquidCrystal
#include <DHT.h>      // Libreria DHT11

LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Crea un Objeto LC. Parametros: (rs, enable, d4, d5, d6, d7)

DHT dht(13, DHT11);    // Declaramos el pin de DATA y el tipo de sensor
int led = 12; // Conectamos el LED en el pin 12


void setup() {   
  
  Serial.begin(9600); // Inicializamos la comunicación serial
  dht.begin();        // Inicializamos el sensor DHT11
  pinMode(12, OUTPUT); // Declaramos el LED como salida
  
  lcd.begin(16,2); // Inicializa la interfaz para el LCD y determina sus dimensiones (ancho y alto) del display
}
void loop() { 

  float T = dht.readTemperature();            // Grados Celcius
  float H = dht.readHumidity();               // Humedad en %
  
  if(isnan(T) || isnan(H)){ // Si el sensor no devuelve un número, salta un mensaje de error.
      Serial.println("Error sensor");        
    }
    else
    {
      Serial.println("Tem:"+ String(T,1) + "C  ");
      Serial.println("Hum:"+ String(H,1) + "% "); 
      lcd.clear();
      lcd.print(T);
      delay(1000);
      }
  delay(5000);   // Esperamos 5 segundos entre cada lectura. Con menos tiempo podemos perder precisión.

Por el monitor serie sí que me devuelve correctamente los datos.

Gracias por adelantado y perdón por si veis algún error de bulto, estoy empezando con todo esto de Arduino.

En el LCD no puedes usar el pin 1

lcd(1, 2, 4, 5, 6, 7);

Cambia 1 por o desplaza todo a 2,3,4,5,6,7

lcd(2, 3, 4, 5, 6, 7);

El pin 1 es TX en muchos Arduinos, por eso no funciona.

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