#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ST7789.h"
// https://github.com/adafruit/Adafruit-ST7735-Library/
#include "Adafruit_ILI9341.h"
// https://github.com/adafruit/Adafruit_ILI9341
#define TFT_DC (2)
#define TFT_RES (4)
#define TFT_CS (15)
//SCK -> GPIO 18
//MOSI -> GPIO 23
//MISO ->GPIO 19
//#define USE_ST7789
#define USE_ILI9341
#ifdef USE_ILI9341
#define BLACK_COLOR (ILI9341_BLACK)
#define RED_COLOR (ILI9341_RED)
#define GREEN_COLOR (ILI9341_GREEN)
#define YELLOW_COLOR (ILI9341_YELLOW)
#define WHITE_COLOR (ILI9341_WHITE)
#define BLUE_COLOR (ILI9341_BLUE)
#define PURPLE_COLOR (ILI9341_PURPLE)
#define SCREEN_WIDTH (ILI9341_TFTWIDTH)
#define SCREEN_HEIGHT (ILI9341_TFTHEIGHT)
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RES);
#endif
// 1.3" IPS TFT screen, 240x240, no CS pin
#ifdef USE_ST7789
#define BLACK_COLOR (ST77XX_BLACK)
#define RED_COLOR (ST77XX_RED)
#define GREEN_COLOR (ST77XX_GREEN)
#define SCREEN_WIDTH (240)
#define SCREEN_HEIGHT (240)
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RES);
#endif
// Set the SPI frequency (Hz)
// Note: The default frequency is 32 MHz.
// See: SPI_DEFAULT_FREQ defined in /Adafruit_ST77xx.cpp
#define SPI_SPEED (15000000)
void drawCentreString(const char *buf, int xpos, int ypos) {
int16_t _x, _y;
uint16_t _w, _h;
tft.getTextBounds(buf, xpos, ypos, &_x, &_y, &_w, &_h);
tft.setCursor( xpos + (tft.width() - _w)/2, ypos + _h/2 );
tft.print(buf);
}
void setup() {
#ifdef USE_ILI9341
tft.begin();
tft.setRotation(1);
#endif
#ifdef USE_ST7789
// Initialize the IPS LCD, use 240x240 pixels, SPI Mode 2
tft.init(SCREEN_WIDTH, SCREEN_HEIGHT, SPI_MODE2);
// Set TFT SPI frequency
tft.setSPISpeed(SPI_SPEED);
// Rotate 180 degree
tft.setRotation(4);
#endif
}
void loop()
{
tft.fillScreen(BLACK_COLOR);
delay(1000);
//----------------------------------------
tft.setTextColor(GREEN_COLOR);
tft.setTextSize(3);
drawCentreString( "RADPONG CHUMPON", 0, 20 );
//----------------------------------------
tft.setTextColor(RED_COLOR);
tft.setTextSize(3);
drawCentreString( "65050754", 0, 70 );
//----------------------------------------
tft.setTextColor(YELLOW_COLOR);
tft.setTextSize(3);
drawCentreString( "Male", 0, 120 );
//----------------------------------------
tft.setTextColor(WHITE_COLOR);
tft.setTextSize(3);
drawCentreString( "20", 0, 170 );
delay(5000);
tft.fillScreen(BLACK_COLOR);
//----------------------------------------
tft.setTextColor(GREEN_COLOR);
tft.setTextSize(3);
drawCentreString( "I AM FLOOK", 0, 20 );
//----------------------------------------
tft.setTextColor(YELLOW_COLOR);
tft.setTextSize(2);
drawCentreString( "I love cats and Hyraxes", 0, 70 );
//----------------------------------------
tft.setTextColor(BLUE_COLOR);
tft.setTextSize(2);
drawCentreString( "I love to eat shabu", 0, 100 );
//----------------------------------------
tft.setTextColor(PURPLE_COLOR);
tft.setTextSize(2);
drawCentreString( "I dont like math", 0, 130 );
//----------------------------------------
tft.setTextColor(WHITE_COLOR);
tft.setTextSize(2);
drawCentreString( "But now i dont like", 0, 160 );
//----------------------------------------
tft.setTextColor(RED_COLOR);
tft.setTextSize(3);
drawCentreString( "**SEMINAR**", 0, 200 );
delay(5000);
//
}