Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include <UTFT.h>
  2. #include <Wire.h>
  3. #include <DS1307.h>
  4. #include <WProgram.h>
  5. #include <dht11.h>
  6.  
  7. // v případě použítí SmallFont použijte :
  8. // extern uint8_t SmallFont[];
  9.   extern uint8_t BigFont[];
  10.  
  11. // samotna inicializace displeje
  12. UTFT myGLCD(ITDB32S,38,39,40,41);
  13.  
  14. //vytvoří objekt DHT11 s názvem MojeCidlo
  15. dht11 MojeCidlo; //
  16.  
  17. // vytvoří pole čísel do kterých se bude ukládat čas
  18. int rtc[7];
  19.  
  20. void setup()
  21. {
  22.   // nastavení LCD
  23.   myGLCD.InitLCD();
  24.   // nastavení písma na velký font
  25.   myGLCD.setFont(BigFont);
  26.   // vymazání obrazovky
  27.   myGLCD.clrScr();
  28.  
  29.   // nastavení pozadí na bílou (R, G, B)
  30.   myGLCD.setBackColor(255, 255, 255);
  31.   // vyplň obdelník (celá obrazovka)
  32.   myGLCD.fillRect(0,0,319,239);
  33.   // nastav barvu (modrá)
  34.   myGLCD.setColor(120, 120, 255);
  35.  
  36.   myGLCD.print("CAS", CENTER, 10);
  37.   myGLCD.print("TEPLOTA", CENTER,75);
  38.   myGLCD.print("VLHKOST", CENTER,140);
  39.  
  40.  
  41. }
  42.  
  43.  
  44. void loop()
  45. {
  46.   // přečte údaje z čidla DTH11 připojeného na pin 2
  47.   MojeCidlo.read(2);
  48.   int teplota = MojeCidlo.temperature;  // zjistí teplotu
  49.   int vlhkost = MojeCidlo.humidity;    // zjistí vlhkost
  50.  
  51.   // zapíše data z modulu do pole čísel rtc
  52.    RTC.get(rtc,true);  
  53.   // připraví pole znaků pro čas
  54.   char cas[9];
  55.   // připraví pole znaků pro teplotu
  56.   char teplota_ch[5];  
  57.   // připraví pole znaků pro vlhkost
  58.   char vlhkost_ch[5];  
  59.  
  60.   // doplní pole znaků pro čas (převod čísel do textu
  61.   // v určeném formátu)
  62.   sprintf(cas, "%02d:%02d:%02d", rtc[2],rtc[1],rtc[0]);  
  63.   // zobrazí na displeji
  64.   myGLCD.print(cas,CENTER, 28 );
  65.  
  66.   // doplní pole znaků pro teplotu  
  67.   sprintf(teplota_ch, " %doC ",teplota);
  68.   // zobrazí na displeji  
  69.   myGLCD.print(teplota_ch, CENTER,90);
  70.  
  71.  
  72.   sprintf(vlhkost_ch, "%d",vlhkost);  
  73.   myGLCD.print(vlhkost_ch, CENTER,155);
  74.  
  75.   delay(1000); //počká jednu vteřinu
  76.  
  77.  
  78.  
  79. }