Paso 7: Añadir una pantalla LCD
En lugar de tener un ordenador conectado para leer la salida serial, estoy agregando un LCD para mostrar la temperatura y la humedad. Esto requerirá algunos cambios en el código y por supuesto más conexiones. Quitar el LCD cuando se quema un gestor de arranque.
Piezas necesarias:
Módulo del LCD para Arduino 20 x 4, blanco en azul
Conectar por el esquema adjunto, utilizando el pin Arduino al Chip pin mapa proporcionado.
Cambios de código son los siguientes:
Ejemplo prueba de boceto para diferentes sensores de humedad/temperatura DHT
Escrito por ladyada, dominio público
Conversión de Fahrenheit y LCD código añadido por Steve Spence, http://arduinotronics.blogspot.com
#include
Conexiones:
RS (pin 4 del LCD) para Arduino pin 7
RW (pin 5 del LCD) para Arduino - carril
activar (pin 6 del LCD) para Arduino pin 8
LCD pines d4, d5, d6, d7 a Arduino pines 9, 10, 11, 12
LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
#include "DHT.h"
#define DHTPIN 2 / / Qué pin estamos conectados a
Quite el comentario de cualquier tipo que utilizas!
#define DHTTYPE DHT11 / / DHT 11
#define DHTTYPE DHT22 / / DHT 22 (AM2302)
#define DHTTYPE DHT21 / / DHT 21 (AM2301)
Conectar pin + (media) del sensor de + 5V
Conectar el pin S (a la derecha) del sensor a lo que tu DHTPIN
Conectar el pin - (a la izquierda) del sensor de suelo
DHT dht (DHTPIN, DHTTYPE);
void setup() {}
Serial.Begin(9600);
Serial.println ("DHTxx test!");
DHT.Begin();
}
void loop() {}
Lectura de temperatura o la humedad toma alrededor de 250 milisegundos.
Lecturas del sensor también pueden ser hasta 2 segundos 'old' (es un sensor muy lento)
Float h = dht.readHumidity();
Float t = dht.readTemperature();
Compruebe si devuelve es válidas, si son NaN (no un número) entonces algo salió mal!
Si (isnan(t) || isnan(h)) {}
Serial.println ("error al leer desde DHT");
} else {}
Serial.Print ("humedad:");
Serial.Print(h);
Serial.Print ("% \t");
Serial.Print ("temperatura:");
Serial.Print(t*1.8+32);
Serial.println ("* F");
código de LCD
LCD.Begin(20,4); columnas, filas. Utilice 16.2 de 16 x 2 LCD; 20.4 para 20 x 4 LCD.
LCD.Clear(); comenzar con una pantalla en blanco
lcd.setCursor(0,0); coloca el cursor a la columna 0, fila 0 (la primera fila)
LCD.Print("Humidity"); cambiar este texto a lo que te gusta. mantenerla limpia.
lcd.setCursor(0,1); coloca el cursor a la columna 0, fila 1
LCD.Print(h);
LCD.Print (("\t %");
lcd.setCursor(0,2); coloca el cursor a la columna 0, fila 2
LCD.Print("Temperature:");
lcd.setCursor(0,3); coloca el cursor a la columna 0, fila 3
LCD.Print(t*1.8+32);
LCD.Print («* F ");
}
}