Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define sclk 13 // nastavení, kde co máme připojeno
- #define mosi 11
- #define cs 10
- #define dc 12
- #define rst 8 // není zapojeno
- #include <Adafruit_GFX.h> // grafická knihovna
- #include <Adafruit_ST7735.h> // ovladač displeje
- #include <SPI.h> // SPI
- #include <dht11.h> // knihovna pro DHT11
- // vytvoření objektu displeje
- Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, mosi, sclk, rst);
- // vytvoření objektu pro DHT11
- dht11 DHT11; //
- // proměněná pro barvu
- int color = 0;
- void setup(void) {
- // inicializace displeje
- tft.initR(INITR_BLACKTAB);
- // vyplní pozadí barvou (0 - 255)
- tft.fillScreen(200) ;
- // přejde na pozici 5 zleva, 20 shora
- tft.setCursor(5,20);
- // napíše text LightSensor
- tft.print("LightSensor");
- // přejde na pozici 5 zleva, 40 shora
- tft.setCursor(5,40);
- tft.print("Soil moisture");
- // .....
- tft.setCursor(5,60);
- tft.print("Temperature");
- tft.setCursor(5,80);
- tft.print("Humidity");
- }
- void loop(void) {
- // vypisuje hodnotu na řádek 20
- // když je hodnota menší než 250
- // tak podklad hodnoty zčervená
- // poslední proměnná je hodnoty
- // analogového vstupu 0
- // viz DrawValue(....) níže
- DrawValue(20, 250, analogRead(0));
- // viz předchozí
- DrawValue(40, 250, analogRead(1));
- // zjistí hodnoty z DHT11 na pinu 5
- DHT11.read(5);
- // uloží tyto hodnoty do proměnných
- int teplota = DHT11.temperature;
- int vlhkost = DHT11.humidity;
- // a zobrazí na řádku 60 a 80
- DrawValue(60, 250, teplota);
- DrawValue(80, 250, vlhkost);
- delay(1000); // čeka 1 sekundu
- }
- // samotná funkce DrawValue
- void DrawValue(int row, int redValue, int value){
- // DrawValue(řádek, hodnota pod kterou změní barvu, zobrazovaná hodnota)
- // když je zobrazovaná hodnota menší než hodnota pod kterou změní barvu
- // nastav barvu na červenou, jinak bude barva černá
- if (value > redValue) color = ST7735_RED; else color = 0;
- // nakresli čtverec v nastavené barvě
- tft.fillRect(95,row - 1,20,10 ,color);
- // nastav kurzor na pozici
- tft.setCursor(96, row);
- // napiš hodnotu
- tft.print(value);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement