Home

Wyświetlacz TFT LCD 2.4 cala Arduino

Typ wyświetlacza: HSD-8778J-A8Ekran lcd
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
Ekran lcd2
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.2020-05-24 12.10.44


 

 

 

 

 

 

Przykładowy program na Arduino UNO wyświetlający bieżącą temperaturę i wilgotność:

#include "DHT.h"
#include <MCUFRIEND_kbv.h>
TFTTermometr#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
  
  }