meta data de esta página
¡Esta es una revisión vieja del documento!
3 . Añadir LCD
Continuamos con nuestro proyecto y ahora vamos a añadirle un LCD del tipo LCD KEY PAD SHIELD de 16×2 líneas
Este tipo de LCD ya viene preparada para conectar directamente encima del arduino Uno o del Mega, pero en nuestro caso al utilizar el nano tenemos que hacer las conexiones siguientes:
El esquema de conexión sería: A0 del LCD → A0 del nano D4 LCD → D4 nano D5 LCD → D5 nano D6 LCD → D6 nano D7 LCD → D7 nano D8 LCD → D8 nano D9 LCD → D9 nano
El código:
// wiki.intrusos.info
// modificacion del Sketch de prueba para sensores DHT humedad / temperatura de www.internetdelascosas.cl
// Escrito por @joniuz basado en el sketch de Ladyada
// v1.3 añadimos lcd
// Libreria para Sensores DHT
#include "DHT.h"
//libreia LCD
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // ( RS, EN, d4, d5, d6, d7)
#define DHTPIN 2 // Pin del Arduino al cual esta conectado el pin 2 del sensor
// Descomentar segun el tipo de sensor DHT usado
#define DHTTYPE DHT11 // DHT 11
// Inicializa el sensor
DHT dht(DHTPIN, DHTTYPE);
//Definimos a que patilla esta conectado el FC-28
const int sensorPin = A1;
// Configura Arduino
void setup() {
Serial.begin(9600);
Serial.println("Medir temperatura, humedad y humedad tierra\n\n");
lcd.begin(16, 2);
dht.begin();
}
void loop() {
// Espera dos segundos para realizar la primera medición.
delay(2000);
// Lee los datos entregados por el sensor, cada lectura demora 250 milisegundos
// El sensor muestrea la temperatura cada 2 segundos}
// Obtiene la Humedad
float h = dht.readHumidity();
// Obtiene la Temperatura en Celsius
float t = dht.readTemperature();
//obtiene la humedad de la tierra
int humedadtierra = analogRead(sensorPin);
lcd.setCursor(0, 0);
lcd.print("Humedad: ");
lcd.print(h);
lcd.print("% ");
lcd.setCursor(0, 1);
lcd.print("H. Tierra: ");
lcd.print(humedadtierra);
lcd.print("% ");
//Segun la tecla pulsada mostramos temperatura o humedad
int boton;
boton= analogRead (0);
if (boton < 200) {
lcd.setCursor(0, 0);
lcd.print("Humedad: ");
lcd.print(h);
lcd.print("% ");
}
else if (boton < 400){
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(t);
lcd.print(" *C ");
}
delay(1000); // retardo un segundo entre lecturas.
}
