전광판/LED 모듈

특수 형태 실외/실내 전광판 + 리모트 컨트롤

ZEROWIN.TECH 2021. 3. 22. 15:04
728x90

WEMOS 보드 와 리모콘 연결

리모콘 수신부 & 리모콘

컨트롤러 보드와 리모콘 수신부 연결

 

텍스트 이미지 편집

이미지를 코드 배열 로 변환하여 소프트에 추가합니다.

 

컨트롤러 보드

리모콘 수신을 하며 전광판 모듈을 제어합니다.

소스코드

arduino IDE를 이용한 소스코드 편집 / 업로딩 합니다.

 

#include <math.h>

#define BTN_PIN1 27
#define BTN_PIN2 26
#define BTN_PIN3 25
#define BTN_PIN4 4
#define BTN_PIN5 15
#define BTN_PIN6 32

const unsigned char poster_mask [] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xC0, 0x06, 0x38, 0x0F, 0xC3, 0x83, 0xAD, 0xD0, 0x7F, 0x9E, 0x07, 0x33, 0x83, 0xFF,
0xF8, 0x18, 0x5C, 0x07, 0xFF, 0xF0, 0x1E, 0x06, 0x1F, 0xFF, 0xC0, 0x0E, 0x38, 0x1F, 0xFB, 0x83,
0xAF, 0xD0, 0xFF, 0xBE, 0x0F, 0x37, 0xC3, 0xFF, 0xF8, 0x19, 0xDC, 0x07, 0xFF, 0xF0, 0x3F, 0x06,
0x1F, 0xFF, 0xC0, 0x1E, 0x38, 0x1F, 0xFF, 0x83, 0xAF, 0xD0, 0xFF, 0xBE, 0x0F, 0xF7, 0xC0, 0x0E,
0x00, 0x19, 0xDC, 0x00, 0x00, 0x00, 0x7F, 0x9E, 0x00, 0x00, 0x00, 0x3C, 0x38, 0x1D, 0xFB, 0x83,
0xAF, 0xD0, 0x00, 0x30, 0x0D, 0xF6, 0xC1, 0xFF, 0xF8, 0x1B, 0x9C, 0x03, 0xFF, 0xF0, 0x73, 0xBE,
0x00, 0x00, 0x00, 0x38, 0x38, 0x18, 0xC3, 0x82, 0xAF, 0x50, 0x00, 0x30, 0x09, 0xF6, 0xC3, 0xFF,
0xF8, 0x1B, 0x9C, 0x07, 0xFF, 0xF0, 0x63, 0xBE, 0x07, 0xFF, 0x80, 0xF0, 0x38, 0x18, 0xC3, 0x82,
0xAF, 0x50, 0x33, 0xB0, 0x09, 0xB6, 0xC1, 0xFF, 0xF8, 0x1F, 0x1F, 0x83, 0xFF, 0xF0, 0x61, 0x8E,
0x0F, 0xFF, 0x81, 0xF0, 0x38, 0x18, 0xC3, 0x82, 0xAF, 0x50, 0x37, 0xB0, 0x09, 0xB6, 0xC0, 0x40,
0x00, 0x1F, 0x1F, 0x80, 0x30, 0x00, 0x61, 0x86, 0x0F, 0xFF, 0x81, 0xF8, 0x38, 0x18, 0xC3, 0x82,
0xAF, 0x50, 0x37, 0x30, 0x09, 0xB6, 0xC0, 0xFF, 0xE0, 0x1F, 0x9F, 0x80, 0x33, 0xE0, 0x61, 0x86,
0x0C, 0x01, 0x80, 0xFC, 0x38, 0x18, 0xC3, 0x82, 0xAF, 0x50, 0x7E, 0x30, 0x09, 0xF6, 0xC0, 0xFF,
0xF0, 0x1F, 0x9C, 0x00, 0x07, 0xE0, 0x61, 0x8E, 0x0C, 0x01, 0x80, 0x1E, 0x38, 0x18, 0xC3, 0x82,
0xAF, 0x50, 0xFF, 0x30, 0x09, 0xF6, 0xC1, 0xFF, 0xF8, 0x19, 0xDC, 0x03, 0xFF, 0x00, 0x63, 0xBE,
0x0C, 0x01, 0x80, 0x0E, 0x38, 0x18, 0xC3, 0x82, 0xEF, 0x70, 0x7F, 0x30, 0x0F, 0xF6, 0xC3, 0xC0,
0x38, 0x19, 0xDC, 0x03, 0xFF, 0x00, 0x73, 0xBE, 0x0F, 0xFF, 0x80, 0x0E, 0x38, 0x18, 0xC3, 0x82,
0xEF, 0x70, 0x33, 0xB0, 0x0F, 0xB7, 0xC1, 0xFF, 0xF8, 0x18, 0xDC, 0x03, 0xFF, 0xC0, 0x7F, 0x8E,
0x0F, 0xFF, 0x80, 0x06, 0x38, 0x18, 0xC3, 0x82, 0xEF, 0x70, 0x31, 0xB0, 0x0F, 0x37, 0xC0, 0xFF,
0xF0, 0x18, 0xDC, 0x00, 0x03, 0xE0, 0x3F, 0x06, 0x07, 0xFF, 0x80, 0x06, 0x38, 0x08, 0xC3, 0x82,
0xCD, 0x60, 0x31, 0x80, 0x06, 0x33, 0x80, 0xFF, 0xE0, 0x10, 0xDC, 0x00, 0x00, 0xE0, 0x1E, 0x06,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

const unsigned char poster_mask_2 [] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xC0,
0x31, 0x00, 0x00, 0x40, 0x00, 0xF2, 0x78, 0x00, 0x00, 0xFF, 0xFC, 0x0F, 0xFF, 0xC0, 0xFF, 0xE4,
0x0F, 0xFF, 0xC0, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x79, 0x00, 0x0F, 0xFF, 0xC0, 0xFA, 0x7C, 0x00,
0x00, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0xFF, 0xE4, 0x0F, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x20, 0x00,
0x49, 0x00, 0x0F, 0xFF, 0xC0, 0x4A, 0x44, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x10, 0x04,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0xCD, 0x00, 0x00, 0x04, 0x00, 0x4A, 0x44, 0x00,
0x00, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x10, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xC0,
0x85, 0x00, 0x00, 0x04, 0x00, 0xFA, 0x44, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x40, 0x00, 0xFF, 0x04,
0x04, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0xFC, 0x00, 0x06, 0x00, 0xF2, 0x44, 0x00,
0x00, 0x7F, 0xF0, 0x00, 0x46, 0x00, 0xFF, 0x04, 0x04, 0x1C, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x00,
0x85, 0xFC, 0x00, 0x02, 0x00, 0xF2, 0x44, 0x00, 0x00, 0x40, 0x10, 0x00, 0x5E, 0x00, 0x81, 0x04,
0x04, 0x30, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x00, 0x85, 0x00, 0x00, 0x02, 0x00, 0xFA, 0x44, 0x00,
0x00, 0x40, 0x10, 0x00, 0xF8, 0x00, 0x81, 0x04, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00,
0xCD, 0x00, 0x00, 0x02, 0x00, 0x4A, 0x44, 0x00, 0x00, 0x40, 0x10, 0x0F, 0xE0, 0x00, 0x81, 0x04,
0x07, 0xF0, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x49, 0x00, 0x00, 0x02, 0x00, 0x4A, 0x44, 0x00,
0x00, 0x40, 0x10, 0x0F, 0xE0, 0x00, 0x81, 0x3C, 0x04, 0x3C, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00,
0x79, 0x00, 0x00, 0x02, 0x00, 0xFA, 0x7C, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0xF8, 0x00, 0xFF, 0x38,
0x04, 0x0E, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x00, 0x31, 0x00, 0x07, 0xFE, 0x00, 0xF2, 0x78, 0x00,
0x00, 0x7F, 0xF0, 0x00, 0x1E, 0x00, 0xFF, 0x00, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x00,
0x01, 0x00, 0x07, 0xFC, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

const unsigned char poster_mask3 [] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
0x01, 0xC0, 0x80, 0x14, 0x44, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x40, 0x8A, 0x20, 0x01,
0x2F, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x03, 0xE0, 0x80, 0x14, 0xE4, 0x0F, 0xE4, 0x40,
0xFF, 0xFC, 0x00, 0x90, 0x40, 0x8A, 0x28, 0x01, 0x2F, 0xC0, 0xFF, 0xFC, 0x0F, 0xFF, 0xC0, 0x00,
0x02, 0x20, 0x80, 0x14, 0xA4, 0x0F, 0xEE, 0x40, 0xFF, 0xFC, 0x00, 0x90, 0x40, 0x9A, 0x3C, 0x03,
0x22, 0x40, 0xFF, 0xFC, 0x0F, 0xFF, 0xC0, 0x00, 0x06, 0x30, 0x80, 0x14, 0xA4, 0x00, 0x4A, 0x40,
0x00, 0x60, 0x00, 0x90, 0x40, 0x92, 0xB4, 0x02, 0x22, 0x40, 0x00, 0x40, 0x00, 0x02, 0x00, 0x00,
0x04, 0x10, 0x80, 0x14, 0xA4, 0x00, 0x4A, 0x40, 0x01, 0xE0, 0x00, 0x90, 0x40, 0xB2, 0xA4, 0x06,
0x22, 0x40, 0x00, 0x60, 0x00, 0x02, 0x00, 0x00, 0x04, 0x1F, 0x80, 0x14, 0xA4, 0x00, 0x6A, 0x40,
0x7F, 0x80, 0x00, 0x90, 0x40, 0xEE, 0xA4, 0x0C, 0x22, 0x40, 0x00, 0x20, 0x04, 0x03, 0x00, 0x00,
0x04, 0x1F, 0x80, 0x14, 0xA4, 0x00, 0x2A, 0x40, 0x7F, 0x80, 0x00, 0x90, 0x40, 0xEE, 0xA4, 0x0C,
0x22, 0x40, 0x00, 0x20, 0x04, 0x01, 0x00, 0x00, 0x04, 0x10, 0x80, 0x14, 0xA4, 0x00, 0x2A, 0x40,
0x01, 0xE0, 0x00, 0x90, 0x40, 0xB2, 0xA4, 0x06, 0x22, 0x40, 0x00, 0x20, 0x04, 0x01, 0x00, 0x00,
0x06, 0x30, 0x80, 0x14, 0xA4, 0x00, 0x2A, 0x40, 0x01, 0xF0, 0x00, 0x90, 0x40, 0x92, 0xB4, 0x02,
0x22, 0x40, 0x00, 0x20, 0x04, 0x01, 0x00, 0x00, 0x02, 0x20, 0x80, 0x14, 0xA4, 0x00, 0x2A, 0x40,
0x7F, 0x90, 0x00, 0x90, 0x40, 0x9A, 0x3C, 0x03, 0x22, 0x40, 0x00, 0x20, 0x04, 0x01, 0x00, 0x00,
0x03, 0xE0, 0x80, 0xF4, 0xBC, 0x00, 0x2B, 0xC0, 0x7F, 0x80, 0x0F, 0x93, 0xC0, 0x8A, 0x28, 0x01,
0x2F, 0xC0, 0x00, 0x20, 0x04, 0x01, 0x00, 0x00, 0x01, 0xC0, 0x80, 0xE4, 0x98, 0x0F, 0xE9, 0x80,
0x01, 0xE0, 0x0F, 0x13, 0x80, 0x8A, 0x20, 0x01, 0x2F, 0x80, 0x7F, 0xE0, 0x07, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x80, 0x04, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x70, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00,
0x20, 0x00, 0x7F, 0xC0, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};


// 1 MB APP
// 3 MB SPIFFS
int brightness = 255; // 0~255 값이 커지면 밝아짐

#include "matrix_setting.h"

void draw_image_1();
void draw_image_2();
void draw_image_3();

void setup()
{
  Serial.begin(9600);

  display.begin();
  display.set_color_depth(2); // 2~8 RGB당 색상 강도 개수
  display.setBrightness(brightness);
  display.fillScreen(display.color565(0, 0, 0));
  //  display.setMuxDelay(1, 1, 1, 1, 1);
  display.showBuffer();
  
	#if 1 // use remote control
  pinMode(BTN_PIN1, INPUT);
  pinMode(BTN_PIN2, INPUT);
  pinMode(BTN_PIN3, INPUT);
  pinMode(BTN_PIN4, INPUT);
  pinMode(BTN_PIN5, INPUT);
  pinMode(BTN_PIN6, INPUT);
	#else // 
  pinMode(BTN_PIN1, INPUT_PULLUP);
  pinMode(BTN_PIN2, INPUT_PULLUP);
  pinMode(BTN_PIN3, INPUT_PULLUP);
  pinMode(BTN_PIN4, INPUT_PULLUP);
  pinMode(BTN_PIN5, INPUT_PULLUP);
  pinMode(BTN_PIN6, INPUT_PULLUP);
	#endif

  draw_image_1();
  
}

int mode = 0;

void loop()
{

  int new_mode = mode;
  if ( Serial.available() )
  {
    int val = Serial.read();
	
    if ( val == '0' )
    {
      new_mode = 0;
    }

    if ( val == '1' )
    {
      new_mode = 1;
    }

    if ( val == '2' )
    {
      new_mode = 2;
    }

    if ( val == '3' )
    {
      new_mode = 3;
    }

    if ( val == '4' )
    {
      new_mode = 4;
    }

    if ( val == '5' )
    {
      new_mode = 5;
    }
  }

  // 버튼 상태 읽기
  int btn_no = check_mode();
  if ( btn_no != -1 )
  {
    new_mode = btn_no;
  }
  
  if ( mode != new_mode ) // mode가 변경된 경우
  {
    mode = new_mode;
	Serial.print("REMOTE:");
	Serial.println(mode);
	
    if ( mode == 5 ) 
    {
		// erase all
      display.fillScreen(display.color565(0, 0, 0));
      display.showBuffer();
    }

    if ( mode == 3 )
    {
    }

    if ( mode == 4 )
    {
    }

    if ( mode == 0 )
    {
      draw_image_1();
    }

    if ( mode == 1 )
    {
      draw_image_2();
    }

    if ( mode == 2 )
    {
		draw_image_3();
    }
  }
}

void draw_image_1()
{
  Serial.println("draw_image_1");
  display.fillScreen(display.color565(0, 0, 0));
  
  
  display.drawBitmap( 0, 0, poster_mask, 192, 32, display.color565(255, 0, 0));
  //display.drawBitmap( 0, 0, poster_mask_2, 192, 32, display.color565(255, 0, 0));
    
  display.showBuffer();
}

void draw_image_2()
{
  Serial.println("draw_image_2");
  display.fillScreen(display.color565(0, 0, 0));
  
  // display.drawBitmap( 0, 0, poster_mask, 192, 32, display.color565(255, 0, 0));
  display.drawBitmap( 0, 0, poster_mask_2, 192, 32, display.color565(0, 255, 0));
    
  display.showBuffer();
}

void draw_image_3()
{
  Serial.println("draw_image_3");
  display.fillScreen(display.color565(0, 0, 0));
  
  // display.drawBitmap( 0, 0, poster_mask, 192, 32, display.color565(255, 0, 0));
  display.drawBitmap( 0, 0, poster_mask3, 192, 32, display.color565(0, 0, 255));
    
  display.showBuffer();
}


int check_mode()
{
  int get_mode = -1; // 누른 버튼이 없을 경우


  if ( digitalRead(BTN_PIN1) == HIGH ) get_mode = 0;
  if ( digitalRead(BTN_PIN2) == HIGH ) get_mode = 1;
  if ( digitalRead(BTN_PIN3) == HIGH ) get_mode = 2;
  if ( digitalRead(BTN_PIN4) == HIGH ) get_mode = 3;
  if ( digitalRead(BTN_PIN5) == HIGH ) get_mode = 4;
  if ( digitalRead(BTN_PIN6) == HIGH ) get_mode = 5;

//  Serial.println(get_mode);
  return get_mode;
}

테스트영상

리모콘을 이용하여 전광판의 텍스트를 변경합니다.