viernes, 12 de junio de 2015

Display LCD 16x2 con DHT11

Mostremos los datos que traemos del DHT11 para mostrarlo en LCD16X2
Básicamente es una fusión de los tutoriales.






#include "DHT.h"
#include <LiquidCrystal.h>
#define DHTPIN 4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
 // Initialize the library with the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
 
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
dht.begin();
//lcd.print("BIENVENIDOS");
}
void loop() {  
int h = dht.readHumidity();// Lee la humedad
int t= dht.readTemperature();//Lee la temperatura
//////////////////////////////////////////////////Humedad
lcd.setCursor(0,0);   //columna 0, fila 0
lcd.print("Humedad:  %");   //8 caracteres
lcd.setCursor(8,0);
lcd.print(h);         //Escribe la humedad
//Serial.println(" %");                    
///////////////////////////////////////////////////Temperatura              
lcd.setCursor(0,1);
lcd.print("Temperatura:   C");                  
lcd.setCursor(12,1);
lcd.print(t);//Escribe la temperatura
//Serial.println(" C'");                  
//delay (150);
///////////////////////////////////////////////////            
}


8 comentarios:

  1. una duda, compilo el programa y me dice:

    Arduino:1.6.5 (Windows 7), Placa:"Arduino Leonardo"

    dth11_lcd_base.ino:1:17: fatal error: DHT.h: No such file or directory
    compilation terminated.
    Error de compilación

    This report would have more information with
    "Show verbose output during compilation"
    activala desde Archivo > Preferencias

    ¿ que hago?

    ResponderEliminar
  2. Arduino:1.6.5 (Windows 7), Placa:"Arduino Leonardo"

    Opciones de compilación cambiadas, reconstruyendo todo

    Utilizando biblioteca LiquidCrystal en carpeta: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal



    C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10605 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 -DUSB_MANUFACTURER="Unknown" -DUSB_PRODUCT="Arduino Leonardo" -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\leonardo -IC:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src C:\Users\PORTATIL\AppData\Local\Temp\build5727482165556674130.tmp\dth11_lcd_base.cpp -o C:\Users\PORTATIL\AppData\Local\Temp\build5727482165556674130.tmp\dth11_lcd_base.cpp.o

    dth11_lcd_base.ino:1:17: fatal error: DHT.h: No such file or directory
    compilation terminated.
    Error de compilación

    ResponderEliminar
  3. Podras subir el diagrama de conexión por favor

    ResponderEliminar
  4. hola amigos
    estoy creando una estación meteorológica con DHT11 ,RESISTENCIA DE LUZ Y UN MOTOR dc COMO ANEMÓMETRO
    si alguien me puede ayudar con mi problema , DHT11 no mide,

    #include "DHT.h"
    #include
    #define DHTPIN 8
    #define DHTTYPE DHT11
    DHT dht(DHTPIN, DHTTYPE);
    // Initialize the library with the interface pins
    LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
    const int sensorLuz = A1; //Pin de coneccion de la LDR
    const int sensormotor = A2; //Pin de coneccion del anemometro o motor DC
    int h;//Declaramos la variable Humedad
    int t;//Declaramos la variable temperatura
    int luminosidadMedia;
    float motormedia;

    void setup() {
    Serial.begin(9600);
    lcd.begin(20, 4);
    dht.begin();
    //lcd.print("BIENVENIDOS");
    }
    void loop() {
    int h = dht.readHumidity();// Lee la humedad
    int t = dht.readTemperature();//Lee la temperatura
    int valorSensorLuz;
    int valorsensormotor;
    float luminosidad;
    int i;
    long int sumaLuz=0;
    float sumamotor=0;
    int valorLuminosidad;
    int valormotor;
    int motor;

    for ( i=0; i<100; i++)
    {

    valorLuminosidad = analogRead(sensorLuz);
    valorsensormotor = analogRead(sensormotor);
    sumaLuz = sumaLuz + valorLuminosidad;
    sumamotor = sumamotor + valorsensormotor;

    delay(15);
    }
    //////////////////////////////////////////////////Humedad
    lcd.setCursor(0,0); //columna 0, fila 0
    lcd.print("Hum: %"); //8 caracteres
    lcd.setCursor(8,0);
    lcd.print(h); //Escribe la humedad
    //Serial.println(" %");
    ///////////////////////////////////////////////////Temperatura
    lcd.setCursor(0,1);
    lcd.print("Temp: C");
    lcd.setCursor(8,1);
    lcd.print(t);//Escribe la temperatura
    //Serial.println(" C'");
    //delay (150);
    /////////////////////////////////////////////////// luz
    luminosidadMedia = sumaLuz / 100;
    motormedia = sumamotor / 100;
    luminosidad = map(luminosidadMedia,0,1023,0,100); // Se mapea el valor de la luminosidad para ofrecer un porcentaje
    lcd.setCursor(0,2);
    lcd.print("Luz:");
    lcd.setCursor(9,2);
    lcd.print(luminosidad);
    lcd.setCursor(16,2);
    lcd.print("%");
    /////////////////////////////////////////////////////motor
    motor = map(motormedia,0,1023,0,100);
    lcd.setCursor(0,3);
    lcd.print("viento:");
    lcd.setCursor(9,3);
    lcd.print(motor);
    lcd.setCursor(12,3);
    lcd.print("Kmph");
    }
    un saludo grasias

    ResponderEliminar
  5. HOLA saludos amigos
    e solucionado el problema que tenia , no es el software , es el hardware de DTH11 que tiene cambiado los conectores (+,s,-)no mide) y el mio es de los chino (s,+,-)si mide
    gracias saludos

    ResponderEliminar
  6. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  7. hola le dejo las conecciones de mi estación meteorológica
    https://drive.google.com/file/d/0B-ths4ff5nB6eUF5TGtORzl2VEE/view?usp=sharing

    ResponderEliminar