Stap 6: Laatste stap, Sensor-gegevens weergeven over de TFT
deze schets is gemaakt met behulp van code uit zowel de adafruit en het virtuabotix monster schetsen
U kunt elk (4 of) 5 pinnen
#define sclk 4
#define mosi 5
#define cs 6
#define dc 7
#define rst 8 / / u kunt dit ook aansluiten op de Arduino reset
#define ANALOG_IN 0 / / voor cd's sensor licht
#include < Adafruit_GFX.h > / / Core grafische bibliotheek
#include < Adafruit_ST7735.h > / / hardwarespecifieke bibliotheek
#include < SPI.h >
#include < dht11.h > / / dht temp vochtigheid sensor bibliotheek
dht11 DHT11;
Adafruit_ST7735 tft = Adafruit_ST7735 (cs, dc, mosi, sclk, rst);
ongeldig setup(void) {}
DHT11.attach(2); instellen van de digitale poort 2 zin dht ingang
Serial.begin(9600);
Serial.Print("Hello!");
tft.initR(INITR_BLACKTAB); initialiseren van een tab ST7735S-chip, zwart
Serial.println("init");
tft.setRotation(tft.getRotation()+1); uncomment om het beeldscherm roteren
tijd om weer "sensor tijd" te krijgen
uint16_t keer = millis();
tft.fillScreen(ST7735_BLACK);
tijd = millis() - tijd;
Serial.println (tijd, DEC);
delay(500);
Serial.println("Done");
delay(1000);
tftPrintTest();
delay(500);
tft.fillScreen(ST7735_BLACK);
Splash-scherm voor esthetische doeleinden
geoptimaliseerde lijnen
testfastlines (ST7735_RED, ST7735_BLUE);
delay(500);
testdrawrects(ST7735_GREEN);
delay(500);
tft.fillScreen(ST7735_BLACK);
}
void loop {}
tft.invertDisplay(true);
delay(500);
tft.invertDisplay(false);
tft.setTextColor(ST7735_WHITE);
tft.setCursor(0,0);
TFT.println ("Sketch geweest");
TFT.println ("lopende voor:");
tft.setCursor (50, 20);
tft.setTextSize(2);
tft.setTextColor(ST7735_BLUE);
TFT.Print(Millis() / 1000);
tft.setTextSize(1);
tft.setCursor (40, 40);
tft.setTextColor(ST7735_WHITE);
TFT.println("seconds");
tft.setCursor (0, 60);
tft.drawLine (0, 50, tft.width ()-1, 50, ST7735_WHITE); tekenen van regelscheidingsteken
tft.setTextColor(ST7735_YELLOW);
TFT.Print ("Temperature (C):");
tft.setTextColor(ST7735_GREEN);
TFT.println((float)DHT11.temperature,1);
tft.setTextColor(ST7735_WHITE);
TFT.Print ("vochtigheid (%):");
tft.setTextColor(ST7735_RED);
TFT.println((float)DHT11.humidity,1);
tft.setTextColor(ST7735_YELLOW);
TFT.Print ("temperatuur (F):");
tft.setTextColor(ST7735_GREEN);
TFT.println(DHT11.Fahrenheit(), 1);
tft.setTextColor(ST7735_YELLOW);
TFT.Print ("temperatuur (K):");
TFT.Print("");
tft.setTextColor(ST7735_GREEN);
TFT.println(DHT11.Kelvin(), 1);
tft.setTextColor(ST7735_WHITE);
TFT.Print ("Dew Point (C):");
tft.setTextColor(ST7735_RED);
TFT.println(DHT11.dewPoint(), 1);
tft.setTextColor(ST7735_WHITE);
TFT.Print("DewPointFast(C):");
tft.setTextColor(ST7735_RED);
TFT.println(DHT11.dewPointFast(), 1);
tft.drawLine (0, 110, tft.width ()-1, 110, ST7735_WHITE);
tft.setCursor(0,115);
TFT.Print ("licht intensiteit");
int val = analogRead(ANALOG_IN);
tft.setCursor (60, 130);
tft.setTextColor(ST7735_YELLOW);
TFT.println (val, 1);
delay(2000);
tft.fillScreen(ST7735_BLACK);
}
ongeldig tftPrintTest() {}
tft.setTextWrap(false);
tft.fillScreen(ST7735_BLACK);
tft.setCursor (0, 60);
tft.setTextColor(ST7735_RED);
tft.setTextSize(2);
TFT.println("Temperature");
tft.setTextColor(ST7735_YELLOW);
tft.setTextSize(2);
TFT.println("humidity");
tft.setTextColor(ST7735_GREEN);
tft.setTextSize(2);
TFT.println("monitor");
tft.setTextColor(ST7735_BLUE);
tft.setTextSize(3);
TFT.Print(3598865);
delay(500);
}
VOID testfastlines (uint16_t color1, color2 uint16_t) {}
tft.fillScreen(ST7735_BLACK);
voor (int16_t y = 0; y < tft.height(); y += 5) {}
tft.drawFastHLine (0, y, tft.width(), color1);
}
voor (int16_t x = 0; x < tft.width(); x+= 5) {}
tft.drawFastVLine (x, 0, tft.height(), color2);
}
}
VOID testdrawrects (uint16_t kleur) {}
tft.fillScreen(ST7735_BLACK);
voor (int16_t x = 0; x < tft.width(); x+= 6) {}
tft.drawRect (tft.width () / 2 - x / 2, tft.height () / 2 - x / 2, x, x, kleur);
}
}