안녕하세요 에듀이노 입니다.
문의하신 코드에서
byte patterns[4][8][8] = { E, D, I, N };
부분은 'patterns'행열에 #define으로 정의한 LED모양을 입력합니다.
이후 아래 loop문에 포함된 for문을 통해 LED를 순차적으로 출력합니다.
감사합니다.^^
[ Original Message ]
#include "LedControl.h"
LedControl lc=LedControl(12,11,10,4);
// DIN 핀을 12번에 CS 핀을 10번에 CLK핀을 11번에 연결해줌
// (DIN, CLK, CS, 연결할 도트 매트릭스의 개수)
#define E { \
{0, 0, 0, 0, 0, 0, 0, 1}, \
{0, 1, 1, 0, 0, 1, 0, 1}, \
{1, 0, 0, 1, 0, 1, 0, 1}, \
{1, 0, 0, 1, 1, 1, 0, 1}, \
{1, 0, 0, 1, 0, 1, 0, 1}, \
{1, 0, 0, 1, 0, 1, 0, 1}, \
{0, 1, 1, 0, 0, 1, 0, 1}, \
{0, 0, 0, 0, 0, 0, 0, 1} \
}
#define D { \
{0, 0, 1, 1, 1, 1, 1, 0},\
{0, 0, 1, 0, 0, 0, 0, 0},\
{0, 0, 1, 0, 0, 0, 0, 0},\
{0, 0, 1, 1, 1, 1, 1, 0},\
{0, 0, 0, 0, 0, 0, 0, 0},\
{0, 1, 1, 1, 1, 1, 1, 1},\
{0, 0, 0, 1, 0, 1, 0, 0},\
{0, 0, 0, 1, 0, 1, 0, 0},\
}
#define I { \
{0, 0, 0, 0, 0, 0, 1, 0},\
{0, 0, 1, 1, 0, 0, 1, 0},\
{0, 1, 0, 0, 1, 0, 1, 0},\
{0, 1, 0, 0, 1, 0, 1, 0},\
{0, 1, 0, 0, 1, 0, 1, 0},\
{0, 1, 0, 0, 1, 0, 1, 0},\
{0, 0, 1, 1, 0, 0, 1, 0},\
{0, 0, 0, 0, 0, 0, 1, 0},\
}
#define N { \
{0, 1, 0, 0, 0, 0, 0, 0},\
{0, 1, 0, 0, 0, 0, 0, 0},\
{0, 1, 0, 0, 0, 0, 0, 0},\
{0, 1, 0, 0, 0, 0, 0, 0},\
{0, 1, 1, 1, 1, 1, 1, 0},\
{0, 0, 0, 1, 0, 0, 0, 0},\
{0, 0, 0, 1, 0, 0, 0, 0},\
{1, 1, 1, 1, 1, 1, 1, 1},\
}
byte patterns[4][8][8] = { E, D, I, N };
// 위에서 정의한 led 모양을 patterns에 입력해 주기
void setup()
{
for(int i=0; i<4; i++){ // 도트 매트릭스 0~3번
lc.shutdown(i,false); // 디스플레이 초기화
lc.setIntensity(i,1); // 도트 매트릭스 밝기 (매트릭스 번호, 밝기) 1~15
lc.clearDisplay(i); // led 를 전체 꺼주는 함수
}
}
void clean(){ // 전체led를 꺼주는 함수
for(int i = 0; i < 4; i++)
lc.clearDisplay(i);// clear screen
}
void loop(){
int pattern = 4;
int row, col, i;
for(i = 0; i < 4; i++){ // 총 4글자 반복
for (row = 0; row < 8; row++) { // row 출력
for (col=0; col < 8; col++){ // col 출력
if (patterns[i][7 - col][7 - row] == 1)
// 위의 배열에서 1일때 해당되는 위치 불빛 켜주기
lc.setLed(i, col, row, true);
else // 위 배열에서 0일때 해당되는 위치 불빛 꺼주기
lc.setLed(i, col, row, false);
}
}
delay(500); // 딜레이 500ms
}
clean(); // led 전체 꺼주기
delay(500); // 딜레기 500ms
}
빨간 글자는 무엇을 의미하나요 ?
byte 뒤에 [4][8][8]이 의미하는 바는 무엇인가요?