아두이노

아두이노 + USART HMI LCD 사용법 – Nextion LCD로 터치 UI 만들기

게임교수 2025. 4. 19. 17:40
반응형

아두이노 + USART HMI LCD 사용법 – Nextion LCD로 터치 UI 만들기

아두이노 프로젝트에 고급스러운 터치 디스플레이를 달고 싶다면?
Nextion HMI LCD를 이용하면 시리얼 통신만으로 손쉽게 터치 기반 GUI를 구현할 수 있습니다.
이번 글에서는 Nextion LCD와 아두이노를 USART(UART)로 연결하여 버튼, 텍스트, 센서값을 디스플레이하는 방법을 설명합니다.

📦 준비물

  • Nextion LCD (2.4", 2.8", 3.2" 등)
  • 아두이노 UNO 또는 MEGA
  • SoftwareSerial 라이브러리
  • USB-TTL 변환기 (Nextion 프로그램 업로드용)
  • Nextion Editor (공식 GUI 디자인 툴)

🔌 기본 연결 (UNO 기준)

Nextion 핀아두이노 핀
TXD10
RXD11 (1kΩ 저항을 통해)
GNDGND
5V5V

💻 Nextion UI 만들기

  1. Nextion Editor를 설치
  2. 페이지에 버튼(Button), 텍스트(Text) 컴포넌트 배치
  3. 버튼의 이름을 b0, 텍스트를 t0로 설정
  4. 이벤트 창에 print "BTN" 명령 추가
  5. UI 완성 후 .tft 파일을 SD카드로 넣어 Nextion에 업로드

💡 아두이노 코드 예제 (SoftwareSerial 기반)

#include <SoftwareSerial.h>
SoftwareSerial nextion(10, 11); // RX, TX

void setup() {
  Serial.begin(9600);
  nextion.begin(9600);
  Serial.println("Nextion 초기화 완료");
}

void loop() {
  if (nextion.available()) {
    String data = "";
    while (nextion.available()) {
      char c = nextion.read();
      data += c;
    }
    Serial.println("터치 입력: " + data);
    
    if (data.indexOf("BTN") != -1) {
      sendText("Hello, Nextion!");
    }
  }
}

void sendText(String msg) {
  nextion.print("t0.txt=\"");
  nextion.print(msg);
  nextion.print("\"");
  nextion.write(0xFF);
  nextion.write(0xFF);
  nextion.write(0xFF);
}

🧠 실전 활용 팁

  • 🌡️ 센서 값을 t0에 실시간 표시 가능 (온도, 습도 등)
  • 💡 터치 버튼으로 LED 제어, 모터 ON/OFF 가능
  • 📲 통신 에러 방지를 위해 3바이트 0xFF 종료 필수

✅ 마무리

Nextion HMI는 아두이노 프로젝트의 UI 수준을 한 단계 끌어올릴 수 있는 강력한 장치입니다.
UART 기반이라 연결도 간단하고, GUI는 PC에서 드래그앤드롭으로 제작할 수 있어 진입 장벽도 낮습니다.
이번 예제를 기반으로 여러분만의 스마트 컨트롤 패널을 구현해보세요!


Arduino 확장 시리즈 – Nextion HMI LCD 제어편 | 작성자: YT

반응형