본문 바로가기
  • test
62x32 LED MATRIX 예제/시리얼을 통해 한글 출력

[62x32 LED 매트릭스 예제] serialText

by 혜민우진아빠 2021. 6. 10.

예제의 결과물

*** 예제파일에 있는 코드는 한글 출력이 안됩니다.

한글 출력을 꼭 해보고 싶으신 분은 다음 번호로 연락을 주시기 바랍니다.

[010-4418-4451]

준비물 & 결선 & 세팅하기

아래 링크를 참고해서 준비해주세요.

[62x32 LED 매트릭스 세팅]

 

 

* 준비물 구입 링크

https://smartstore.naver.com/frontiers/products/5380911083

 

LED 간판 오픈 입구 전광판 아트사인 부동산 전광판 영업중 개업선물 카페 식당 스마트폰 : 스마

[스마트led] 스마트 IOT 전광판의 선구자로써 고객들에게 기존에 없던 가치와 솔루션을 제공합니다.

smartstore.naver.com

 

소스코드 다운

iotfrontiers/popsign_examples (github.com)

 

GitHub - iotfrontiers/popsign_examples

Contribute to iotfrontiers/popsign_examples development by creating an account on GitHub.

github.com

위 링크에 들어가셔서 연두색의 Code 버튼을 누르시고

Download ZIP 버튼을 누르면 전체 예제 파일을 다운 받을 수 있습니다.

*** 예제파일에 있는 코드는 한글 출력이 안됩니다.

한글 출력을 꼭 해보고 싶으신 분은 다음 번호로 연락을 주시기 바랍니다.

[010-4418-4451]

 

업로드 준비

① 파일 - 열기 항목을 눌러서 현재 진행하고 있는 예제의 ino파일을 선택합니다.

 

 보드와 PC를 USB C타입 케이블로 연결합니다.

 

 장치관리자에서 보드가 연결된 포트를 확인합니다. USB-SERIAL-CH340 이라는 이름으로 표시되어 있습니다.

 위에서 확인한 포트번호를 IDE에 설정합니다

 ESP-32 Dev Module 보드를 선택합니다.

 

⑥ 업로드 준비가 다 되었습니다. 업로드 버튼을 눌러서 업로드 할 수 있습니다.

 

시리얼 모니터

스케치 우측상단 돋보기 모양을 선택하면 시리얼 모니터를 실행할 수 있습니다. 

시리얼 모니터의 보드레이트를 코드상에서 설정한 보드레이트 (115200) 와 동일하게 설정해야 합니다.

 

 

 

시리얼 모니터를 통해 보드가 컴퓨터로 보내는 내용을 볼 수 있고

전송 버튼 왼쪽에 있는 입력 창에 텍스트를 입력한 후 전송 버튼을 눌러서 보드로 내용을 전송할 수도 있습니다.

 

이 예제에서는 전송 입력 폼에 무언가 텍스트를 입력하고 전송 버튼을 누르면

보드가 입력 내용을 받은 후 LED로 입력 내용을 표시해 줍니다.

 

serialText 소스코드

#include <Adafruit_GFX.h>   
#include <P3RGB64x32MatrixPanel.h>

P3RGB64x32MatrixPanel matrix(25, 26, 27, 21, 22, 0, 15, 32, 33, 12, 5, 23, 4);

String InputString = "";

void setup()
{
  Serial.begin(115200);
  matrix.begin();
}

void loop() 
{

  if(Serial.available()) {
    char c = Serial.read();
    if ( c == NULL || c == '\n') {
      matrix.fillScreen(0);
      matrix.setCursor(15, 10);
      matrix.print(InputString);
      InputString = "";   
      return;
    }
    InputString += c;
  }
}

코드를 설명하겠습니다.

우선 필요한 헤더 파일을 포함합니다.

 

모듈에 맞는 핀 번호를 설정해줍니다.

( ※ ESP32-WROVER-E 모듈 적용 )

 

String InputString = "";                           // 널 문자('\0')만 들어있는 크기가 1바이트인 빈문자열

 

setup() 함수를 살펴보겠습니다.

 

matrix.begin();                                       // matrix 를 시작
matrix.setFont(&GodoM6pt8b);                 // 사용하고 싶은 크기의 폰트를 설정 
matrix.setAttribute(UTF8_ENABLE , true);     // 한글을 사용 가능하게 설정

 

loop() 함수를 살펴보겠습니다.

 

Serial.available() 은 시리얼 포트에 수신되어 저장되어 잇는 데이터의 바이트 수를 반환하는데

시리얼 통신으로 데이터를 받았는지 확인하기 위해 사용합니다.

 

char c = Serial.read(); 는 c 라는 변수를 정의하는 의미입니다. 

Serial.read() 즉, 시리얼 모니터로부터 전송받아 읽은 값을 c에 저장한다는 뜻입니다.

c 앞에 char 라고 되어있으므로 c는 character, 즉 문자를 저장하게 됩니다.

 

c == NULL || c == '\n'             // Enter 키가 입력될 때

 

matrix.fillScreen(0);                  // matrix 화면 깨끗하게(초기화) 설정
matrix.setCursor(15, 10);           // 글자가 시작되는 위치 (x-15, y-10)

matrix.print(InputString);           // InputString 변수에 저장된 글자들을 화면에 출력

 

InputString += c;                    // InputString 변수에 c의 값, 즉 시리얼 모니터로부터 받은 값들을 저장합니다.

댓글