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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
// 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. } |