Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**************************************************************************
- *
- * ESP8266 NodeMCU (ESP-12E)mit ST7735S TFT Display (128x160 Pixel)
- * und DHT22 Luftdruck-, Temperatursensor.
- *
- *************************************************************************/
- #include <Adafruit_GFX.h> // include Adafruit graphics library
- #include <Adafruit_ST7735.h> // include Adafruit ST7735 TFT library
- #include <DHT.h> // include Adafruit DHT library code
- //LED Setup
- int LEDrot = D0; // -> GPIO-16
- int LEDblau = D3; // -> GPIO-0
- // ST7735 TFT module connections
- #define TFT_RST -1 // TFT RST pin is connected to NodeMCU pin RST
- #define TFT_CS D8 // TFT CS pin is connected to NodeMCU pin D8
- #define TFT_DC D4 // TFT DC pin is connected to NodeMCU pin D4
- // initialize ST7735 TFT library with hardware SPI module
- // SCK (CLK) ---> NodeMCU pin D5 (GPIO14)
- // MOSI(DIN) ---> NodeMCU pin D7 (GPIO13)
- Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
- #define DHTPIN D6 // DHT11 data pin is connected to NodeMCU pin D6 (GPIO5)
- #define DHTTYPE DHT22 // DHT11 sensor is used
- DHT dht22(DHTPIN, DHTTYPE); // configure DHT library
- void setup(void)
- {
- //LED initialisieren -> LED aus
- pinMode(LEDrot, OUTPUT); // Pin D0 ist ein Ausgang.
- pinMode(LEDblau,OUTPUT); // Pin D3 ist ein Ausgang.
- digitalWrite(LEDrot, LOW); // Schalte die LED an Pin D0 aus. D0 ist beim Start des ESP8266 auf HIGH.
- digitalWrite(LEDblau, LOW); // Schalte die LED an Pin D3 aus.
- tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab
- tft.fillScreen(ST7735_BLACK); // fill screen with black color
- tft.drawFastHLine(0, 50, tft.width(), ST7735_BLUE); // draw horizontal blue line at position (0, 50)
- tft.drawFastHLine(0, 102, tft.width(), ST7735_BLUE); // draw horizontal blue line at position (0, 102)
- tft.setTextColor(ST7735_WHITE, ST7735_BLACK); // set text color to white with black background
- tft.setTextSize(1); // text size = 1
- tft.setCursor(4, 16); // move cursor to position (4, 16) pixel
- tft.print("ESP8266 + ST7735 TFT");
- tft.setCursor(22, 33); // move cursor to position (22, 33) pixel
- tft.print("+ DHT22 SENSOR");
- tft.setTextColor(ST7735_GREEN, ST7735_BLACK); // set text color to green with black background
- tft.setCursor(25, 61); // move cursor to position (25, 61) pixel
- tft.print("TEMPERATURE =");
- tft.setTextColor(ST7735_YELLOW, ST7735_BLACK); // set text color to yellow with black background
- tft.setCursor(34, 113); // move cursor to position (34, 113) pixel
- tft.print("HUMIDITY =");
- tft.setTextSize(2); // text size = 2
- tft.drawCircle(83, 80, 2, ST7735_RED); // print degree symbol ( ° )
- tft.setTextColor(ST7735_RED, ST7735_BLACK); // set text color to red with black background
- tft.setCursor(89, 78);
- tft.print("C");
- // initialize DHT11 sensor
- dht22.begin();
- }
- // main loop
- void loop()
- {
- // read humidity in rH%
- int Humi = dht22.readHumidity() * 10;
- // read temperature in degree Celsius
- int Temp = dht22.readTemperature() * 10;
- // print temperature (in °C)
- tft.setTextColor(ST7735_RED, ST7735_BLACK); // set text color to red with black background
- tft.setCursor(17, 78);
- if(Temp < 0) // if temperature < 0
- tft.printf("-%02u.%1u", (abs(Temp)/10)%100, abs(Temp) % 10);
- else // temperature >= 0
- tft.printf(" %02u.%1u", (Temp/10)%100, Temp % 10);
- // print humidity (in %)
- tft.setTextColor(ST7735_CYAN, ST7735_BLACK); // set text color to cyan with black background
- tft.setCursor(29, 130);
- tft.printf("%02u.%1u %%", (Humi/10)%100, Humi % 10);
- delay(1000); // wait a second
- }
- // end of code.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement