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.