#include <SPI.h> // incluye libreria bus SPI
#include <Adafruit_GFX.h> // incluye libreria para manejo de graficos
#include <Adafruit_ILI9341.h> // incluye libreria para controlador ILI9341
#include <DHT.h> // importa la Librerias DHT
#include <DHT_U.h>
#include <Wire.h>
#include <RTClib.h> // incluye libreria para el manejo del modulo RTC
RTC_DS1307 rtc; // crea objeto del tipo RTC_DS3231
#define TFT_DC 9 // define constante TFT_DC con numero 9
#define TFT_CS 10 // define constante TFT_CS con numero 10
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC); // crea objeto
int SENSOR = 2; // pin DATA de DHT22 a pin digital 2
int TEMPERATURA;
int HUMEDAD;
DHT dht(SENSOR, DHT22); // creacion del objeto, cambiar segundo parametro
void setup(){
tft.begin(); // inicializa pantalla
tft.setRotation(0); // establece posicion vertical con pines hacia abajo
tft.fillScreen(ILI9341_BLACK); // fondo de pantalla de color negro
tft.fillRect(0, 0, 240, 30, ILI9341_NAVY); // rectangulo azul naval a modo de fondo de titulo
tft.setTextColor(ILI9341_WHITE); // color de texto en blanco
tft.setTextSize(2); // escala de texto en 2
tft.setCursor(25,6); // ubica cursor
tft.print("Panel de control"); // imprime texto
tft.setCursor(0,35); // ubica cursor
tft.setCursor(50,55); // ubica cursor
tft.print("Fecha y Hora"); // imprime texto
tft.drawLine(0, 170, 240, 170, ILI9341_RED); // linea horizontal de color rojo
tft.setCursor(0,185); // ubica cursor
tft.setCursor(5,205); // ubica cursor
tft.print("Temperatura Humedad"); // imprime texto
delay(1000);
Serial.begin(9600); // inicializacion de monitor serial
dht.begin(); // inicializacion de sensor
rtc.adjust(DateTime(13,09,2013 12,00)); // funcion que permite establecer fecha y horario
}
void loop(){
DateTime fecha = rtc.now(); // funcion que devuelve fecha y horario en formato
// DateTime y asigna a variable fecha
tft.setTextSize(2); // escala de texto en 4
tft.setCursor(45,110); // ubica cursor
tft.print(fecha.day()); // funcion que obtiene el dia de la fecha completa
tft.print("/"); // caracter barra como separador
tft.print(fecha.month()); // funcion que obtiene el mes de la fecha completa
tft.print("/"); // caracter barra como separador
tft.print(fecha.year()); // funcion que obtiene el año de la fecha completa
tft.print(" "); // caracter espacio en blanco como separador
tft.print(fecha.hour()); // funcion que obtiene la hora de la fecha completa
tft.print(":"); // caracter dos puntos como separador
tft.print(fecha.minute()); // funcion que obtiene los minutos de la fecha completa
TEMPERATURA = dht.readTemperature(); // obtencion de valor de temperatura
HUMEDAD = dht.readHumidity(); // obtencion de valor de humedad
tft.setTextColor(ILI9341_YELLOW, ILI9341_BLACK); // texto en color amarillo
tft.setTextSize(4); // escala de texto en 4
tft.setCursor(30,260); // ubica cursor
tft.print(TEMPERATURA); // valor que representa la temperatura del sensor en zona 2
tft.print("C");
tft.setCursor(150,260); // ubica cursor
tft.print(HUMEDAD); // valor que representa la humedad del sensor en zona 2
tft.print("%");
delay(2000); // demora de 10 mseg.
}