본문 바로가기
Arduino/TFT LCD SHIELD (Touch Screen)

TFT LCD SHIELD ) 아두이노 터치스크린 글자띄우기

by ||MELON|| 2024. 4. 3.

TFT LCD SHIELD는 감압식 터치패널이다. 때문에 터치가 가능하다는 점에서 흥미가 생겨 구매를 했다.

 

이러한 터치패널을 사용하기 위해선 적절한 라이브러리가 필요하다.

 

다음은 필요한 라이브러리들이다. 당장 터치를 인식하고 무언가를 하기 위해선 다음과 같은 라이브러리가 필요하다.

 

하지만 지금은 글자만 띄워볼것이기 때문에 MCUFRIEND_kbv.h 와 Adafruit_GFX.h 만 있어도 충분하다.

 

 

#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;

 

먼저 다음과 같이 라이브러리 파일을 include 시켜주어야 한다. 그리고 MCUFRIEND_kbv 를 tft로 선언해주었다.

 

uint16_t ID;
uint8_t Orientation = 0;

변수 선언은 다음과 같다. 아두이노의 ID를 불러와야 하기 때문에 ID라는 이름의 변수를 선언해주고, 화면의 회전을 결정하는 변수도 선언해준다.

 

 

#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 해준다.

 

 

void setup(void)
{
  // 초기화 부분
  ID = tft.readID();            //ID를 읽어서 ID변수에 저장
  tft.begin(ID);                //ID를 등록
  tft.setRotation(Orientation); //세로모드 설정
  tft.fillScreen(BLACK);        //화면 전체 검정색으로 채우기

  tft.setCursor(0,0);           //0,0 지점에 작성
  tft.setTextSize(3);           //글자 크기를 3으로 설정
  tft.setTextColor(YELLOW);     //글자 색상을 노란색으로 설정
  tft.print("Hello World");     //Hello World 글자를 출력
}
void loop()                     //loop는 쓰지 않으므로 비워둠
{

}

다음은 메인 코드이다. setup 함수안에서 ID를 불러와주고 Orientation을 setRotation에 넘겨주어 세로모드로 만들어준다.

다음으로 화면을 검게 만들고 아래의 동작을 수행한다.

 

결과를 보면 아주 완벽하게 글자가 뜬 모습을 확인할 수 있다.

 

 

 

아래는 전체 코드이다.

#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;

uint16_t ID;
uint8_t Orientation = 0;

#define BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF

void setup(void)
{
  ID = tft.readID();
  tft.begin(ID);
  tft.setRotation(Orientation);
  tft.fillScreen(BLACK);

  tft.setCursor(0,0);
  tft.setTextSize(3);
  tft.setTextColor(YELLOW);
  tft.print("Hello World");
}
void loop()
{

}

 

댓글