#include <UTFT.h>
#include <Wire.h>
#include <DS1307.h>
#include <WProgram.h>
#include <dht11.h>
// v případě použítí SmallFont použijte :
// extern uint8_t SmallFont[];
extern uint8_t BigFont[];
// samotna inicializace displeje
UTFT myGLCD(ITDB32S,38,39,40,41);
//vytvoří objekt DHT11 s názvem MojeCidlo
dht11 MojeCidlo; //
// vytvoří pole čísel do kterých se bude ukládat čas
int rtc[7];
void setup()
{
// nastavení LCD
myGLCD.InitLCD();
// nastavení písma na velký font
myGLCD.setFont(BigFont);
// vymazání obrazovky
myGLCD.clrScr();
// nastavení pozadí na bílou (R, G, B)
myGLCD.setBackColor(255, 255, 255);
// vyplň obdelník (celá obrazovka)
myGLCD.fillRect(0,0,319,239);
// nastav barvu (modrá)
myGLCD.setColor(120, 120, 255);
myGLCD.print("CAS", CENTER, 10);
myGLCD.print("TEPLOTA", CENTER,75);
myGLCD.print("VLHKOST", CENTER,140);
}
void loop()
{
// přečte údaje z čidla DTH11 připojeného na pin 2
MojeCidlo.read(2);
int teplota = MojeCidlo.temperature; // zjistí teplotu
int vlhkost = MojeCidlo.humidity; // zjistí vlhkost
// zapíše data z modulu do pole čísel rtc
RTC.get(rtc,true);
// připraví pole znaků pro čas
char cas[9];
// připraví pole znaků pro teplotu
char teplota_ch[5];
// připraví pole znaků pro vlhkost
char vlhkost_ch[5];
// doplní pole znaků pro čas (převod čísel do textu
// v určeném formátu)
sprintf(cas, "%02d:%02d:%02d", rtc[2],rtc[1],rtc[0]);
// zobrazí na displeji
myGLCD.print(cas,CENTER, 28 );
// doplní pole znaků pro teplotu
sprintf(teplota_ch, " %doC ",teplota);
// zobrazí na displeji
myGLCD.print(teplota_ch, CENTER,90);
sprintf(vlhkost_ch, "%d",vlhkost);
myGLCD.print(vlhkost_ch, CENTER,155);
delay(1000); //počká jednu vteřinu
}