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:
LCD | Arduino Nano |
---|---|
A0 | A0 |
D4 | D4 |
D5 | D5 |
D6 | D6 |
D7 | D7 |
D8 | D8 |
D9 | D9 |
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. }