Typ wyświetlacza: HSD-8778J-A8 Rozmiar: 2,4 cala Rozdzielczość: 320x240 pikseli Podstawowe biblioteki: MCUFRIEND_kbv.h oraz Adafruit_GFX.h
Podstawowe komendy: tft.reset(); Czyszczenie ekranu.
Definiowanie kolorów: #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 GRAY 0x8410
tft.fillScreen(YELLOW); Kolor tła tft.setRotation(Landskape); Obracanie ekranu. Landskape to jest zmienna = np. 45 stopni
Rysowanie figur: tft.drawLine(1, 1, 300, 230, BLUE); Rysowanie linii: początek xy, dokąd sięga xy kolor tft.drawRect(1, 1, 318, 238, BLACK); Rysowanie kwadratu: tft.fillRect(50, 20, 70, 30, GREEN); Wypełniony kwadrat: tft.drawTriangle(50, 100, 70, 50, 150, 200, BLUE);Rysowanie trójkąta: xx, yy, zz, pozycje wierzchołków, kolor tft.fillTriangle(50, 100, 70, 50, 150, 200, BLUE); Wypełniony trójkąt tft.drawCircle(180, 100, 25, WHITE); Koło początek xy, promień, kolor; tft.fillCircle(180, 100, 24, RED); Wypełnione koło
 Wstawianie tekstu: tft.setTextSize(2);Wielkość liter tft.setTextColor(BLACK);Kolor liter tft.setCursor(60, 30);Pozycja liter tft.print("TEST");Tekst
Wyświetlacz został przystosowany do montażu na Arduino UNO. Żeby cokolwiek wyświetlić na wyświetlaczu trzeba to w formie programu zapisać do pamięci Arduino.
Przykładowy program na Arduino UNO wyświetlający bieżącą temperaturę i wilgotność:
#include "DHT.h" #include <MCUFRIEND_kbv.h>
#include <Adafruit_GFX.h.> #include <TouchScreen.h> MCUFRIEND_kbv tft; #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 GRAY 0x8410
#define DHTPIN 1 // Podlaczenie data z czujnika
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
DHT dht(DHTPIN, DHTTYPE); int t1 = 0;
void setup() { Serial.begin(9600); tft.reset(); int ID = tft.readID();
Serial.print("tft.readID() finds: ID = 0x"); Serial.println(ID, HEX); Serial.println(""); Serial.println("Pomiar Temperatury"); dht.begin(); tft.begin(ID); Serial.println(""); tft.fillScreen(BLACK); // Kolor tła int(LANDSCAPE)= 45; tft.setRotation(LANDSCAPE); // tft.fillRect(50, 20, 70, 30, GREEN); // wypelniony kwadrat tft.fillTriangle(210,100,300,100,255,40,BLUE); tft.fillTriangle(210,140,300,140,255,200,BLUE);
}
void loop() { //------------------Pomiar temp ----------------- float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { Serial.println("Awaria Termometru!"); return; }
Serial.print("Temperatura: "); Serial.print(t); Serial.println(" *C "); Serial.print("Wilgotnosc: "); Serial.print(h); Serial.println(" %\t"); //--------- End pom temp --------------------------
//---------wys. temp.----------------- tft.setTextSize(2); tft.setTextColor(GREEN); tft.setCursor(5, 10); tft.print("Temp. biezaca");
tft.fillRect(10,30,180,40,BLACK); tft.setTextSize(4); tft.setCursor(30,30); tft.setTextColor(YELLOW); tft.print (t); // ---- wys. wilg. ------- tft.setTextSize(2); tft.setTextColor(GREEN); tft.setCursor(5, 70); tft.print("Wilgotnosc");
tft.fillRect(10,90,180,40,BLACK); tft.setTextSize(4); tft.setCursor(30,90); tft.setTextColor(YELLOW); tft.print(h); delay(2500);
tft.setCursor (10, 150); tft.setTextSize(2); tft.setTextColor(GREEN); tft.print ("Temp. zadana"); tft.setTextSize(4); tft.setTextColor(YELLOW); tft.setCursor(40,180); tft.print("21,0"); //wyswietlana temp. zadana }
|