Buenas a todos tengo un pequeño detalle estoy aprendiendo a usar las pantallas lcd y me encuentro en la necesidad de mostrar los mismos datos en el puerto serial pero no aparecen ya estuve investigando pero no logro hacer que se muestren los datos correctamente espero puedan ayudarme.
Este es mi Código.
#include <Ethernet.h>
#include <SPI.h>
#include <UbidotsEthernet.h>
#include <LiquidCrystal_I2C.h>
#include<DHT.h>
#include <Wire.h>
/*Direccionamos a 0x20 para una pantalla lcd de 20 caracteres por 4 lineas, asi definimos el pin A2 para el sensor dht11.
y tambien definimos el tipo de sensor .*/
LiquidCrystal_I2C lcd(0x27,20,4);
#define PinSensor 2
#define Tipo DHT11
DHT dht(PinSensor, Tipo);
/*En esta parte asignamos el token unico del dispositivo virtual que se creo en la plataforma de ubidots
creamos tres variables que son las que leera el dispositivo en la plataforma.*/
char const * TOKEN = "BBFF-9iXixvqgp6u4cLt9fJTHTRH3pCbYMB"; // Token asignado por Ubidots
char const * VARIABLE_LABEL_1 = "temp_dht"; // Asigna una etiqueta de variable única para enviar los datos de temperatura
char const * VARIABLE_LABEL_2 = "hume_dht"; // Asigna una etiqueta de variable única para enviar los datos de humedad
char const * VARIABLE_LABEL_3 = "hume_tierra";// Asigna una etiqueta de variable única para enviar los datos de humedad de la tierra
/*Establecemos los valores iiciales de los valores*/
int temperatura=0;
int humedad=0;
int Tierra=0;
/*Se establece una direccion mac para el modulo Ethernet*/
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
/*se inicia el cliente del servidor a partir del TOKEN que nos asigno la plataforma*/
Ubidots client(TOKEN);
void setup()
{
/*Inicializamos la LCD 20x4 encendiendo los leds de la misma*/
lcd.backlight();
lcd.init();
dht.begin();
/*iniciamos la instruccion de comunicacion entre el arduino y la computadora asi como tambien le damos inicio al sensor dht11*/
Serial.begin(9600);
dht.begin();
/* Inicializa la conexión Ethernet mostrando un mensaje en consola de que esta iniciando, si encuentra un error en conexion mostrara un mensaje diciendo que encontro un problema
y al mismo tiempo iniciara el funcionamiento del sistema sin hacer uso de internet*/
Serial.print(F("Inicializando conexión ethernet..."));
if (!Ethernet.begin(mac)) {
Serial.println(F("Problema detectado"));
} else {
Serial.println(Ethernet.localIP());
}
/*Esperamos un tiempo para el módulo arranque*/
delay(2000);
Serial.println(F("Placa ethernet Activada"));
}
void loop()
{
Ethernet.maintain();
float valor_temperatura = dht.readTemperature();// Leemos la temperatura en grados celsius
float valor_humedad = dht.readHumidity();//Leemos la humedad
float valor_tierra = analogRead(A0);
temperatura = valor_temperatura;
humedad = valor_humedad;
Tierra= valor_tierra;
//Impimimos estos valores en el terminal serial
Serial.print("Temperatura:");
Serial.println(valor_temperatura);
Serial.print("Humedad:");
Serial.println(valor_humedad);
Serial.println("Humedad:");
Serial.println(valor_tierra);
/* Enviando datos a Ubidots*/
client.add(VARIABLE_LABEL_1, valor_temperatura);
client.add(VARIABLE_LABEL_2, valor_humedad);
client.add(VARIABLE_LABEL_3, valor_tierra);
client.sendAll();
delay(500);
char buffer[10];
float humedad = dht.readHumidity();
float temperatura = dht.readTemperature();
Tierra = analogRead(A0);
humedad = map(Tierra, 0, 1023, 100, 0);
lcd.setCursor(1, 0);
lcd.print("Sistema Arduino");
lcd.setCursor(1, 1);
lcd.print("Humedad=");
sprintf(buffer,"%02d",humedad);
lcd.print(buffer);//Mostrar el % de humedad
lcd.print("%");
lcd.setCursor(1,2);
lcd.print("Temper. = ");
lcd.print(temperatura);
lcd.setCursor(1,3);
lcd.print("Humedad = ");
lcd.print(humedad);
}