/*
Name: TouchTest.ino
Created: 2019-12-25 12:52:14 AM
Author: Michael
*/
// the setup function runs once when you press reset or power the board
#include <Arduino.h>
#include <SPI.h>
#include "DHT.h" //DHT Bibliothek laden
#include <Adafruit_GFX.h>
#include <Waveshare4InchTftShield.h>
#include <Fonts/FreeSans18pt7b.h>
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
#define DHTPIN 50
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
Waveshare4InchTftShield Waveshield;
boolean buttonLuft = true;
boolean buttonZurueck = false;
void setup()
{
SPI.begin();
Waveshield.begin();
Waveshield.setRotation(1);
Waveshield.setFont(&FreeSans18pt7b);
Serial.begin(9600);
dht.begin();
//Start-Bild
Waveshield.fillScreen(WHITE);
Waveshield.fillRect(5, 5, 470, 60, RED);
Waveshield.drawRect(5, 5, 470, 60, BLACK);
Waveshield.setCursor(35, 47);
Waveshield.setTextColor(WHITE);
Waveshield.setTextSize(1);
Waveshield.print("Start-Fenster");
Waveshield.fillRect(5, 135, 470, 60, WHITE);
Waveshield.drawRect(5, 135, 470, 60, BLACK);
Waveshield.setCursor(35, 177);
Waveshield.setTextSize(1);
Waveshield.setTextColor(BLACK);
Waveshield.print("Luft-Ueberwachung");
}
int i = 0;
// the loop function runs over and over again until power down or reset
void loop() {
TSPoint p = Waveshield.getPoint(); //Ganzen Touchscreen verwenden
Waveshield.normalizeTsPoint(p); // Automatische Rotation
float Luftfeuchtigkeit = dht.readHumidity();
float Temperatur = dht.readTemperature();
//Luft-Bild
if (p.z > Waveshield.pressureThreshhold) {
if (p.x > 5 && p.x < 475 && p.y > 135 && p.y < 195 && buttonLuft)
{
buttonZurueck = true;
Waveshield.fillScreen(WHITE); // fillScreen = Hintergrundfarbe
Waveshield.fillRect(5, 5, 470, 60, RED); // fillRect = Rechteck ausfüllen
Waveshield.drawRect(5, 5, 470, 60, BLACK); // drawRect = Rechteck-Kontur
Waveshield.setCursor(35, 47); // setCursor = Text-Ausrichtung
Waveshield.setTextColor(WHITE); // setTextColor = Text-Farbe
Waveshield.setTextSize(1); // setTextSize = Text-Größe
Waveshield.print("Luft-Ueberwachung"); // print = Text
Waveshield.fillRect(5, 70, 470, 60, WHITE); // fillRect = Rechteck ausfüllen
Waveshield.drawRect(5, 70, 470, 60, BLACK); // drawRect = Rechteck-Kontur
Waveshield.setCursor(35, 112); // setCursor = Text-Ausrichtung
Waveshield.setTextColor(WHITE); // setTextColor = Text-Farbe
Waveshield.setTextSize(1); // setTextSize = Text-Größe
Waveshield.setTextColor(BLACK); // setTextColor = Text-Farbe
Waveshield.print("Temperatur"); // print = Text
Waveshield.print(Temperatur);
Waveshield.print("C");
Waveshield.fillRect(200, 255, 275, 60, WHITE); // fillRect = Rechteck ausfüllen
Waveshield.drawRect(200, 255, 275, 60, BLACK); // drawRect = Rechteck-Kontur
Waveshield.setCursor(230, 297); // setCursor = Text-Ausrichtung
Waveshield.setTextSize(1); // setTextSize = Text-Größe
Waveshield.setTextColor(BLACK); // setTextColor = Text-Farbe
Waveshield.print("Zurueck"); // print = Text
}
}
if (p.x > 5 && p.x < 475 && p.y > 135 && p.y < 235 && buttonLuft) {
buttonZurueck = true;
}
if (p.x > 200 && p.x < 475 && p.y > 255 && p.y < 315 && buttonZurueck)
{ //p.x = Zwischen Punkt auf X-Achse, Y gleich
setup();
}
}