배송 |
---|
상품 정보 | 가격 | 삭제 |
---|---|---|
아두이노 32x8 도트 매트릭스 LED 5핀제어 MAX7219 모듈 | ||
TOTAL PRICE(수량) 0 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84 |
#include "LedControl.h"
LedControl lc=LedControl(12,11,10,4);
// DIN 핀을 12번에 CS 핀을 10번에 CLK핀을 11번에 연결해줌
// (DIN, CLK, CS, 연결할 도트 매트릭스의 개수)
#define A { \
{0, 0, 0, 1, 1, 0, 0, 0}, \
{0, 0, 1, 1, 1, 1, 0, 0}, \
{0, 1, 1, 0, 0, 1, 1, 0}, \
{0, 1, 1, 1, 1, 1, 1, 0}, \
{0, 1, 1, 1, 1, 1, 1, 0}, \
{0, 1, 1, 0, 0, 1, 1, 0}, \
{0, 1, 1, 0, 0, 1, 1, 0}, \
{0, 1, 1, 0, 0, 1, 1, 0} \
}
#define B { \
{0, 1, 1, 1, 1, 1, 0, 0},\
{0, 1, 1, 0, 0, 1, 1, 0},\
{0, 1, 1, 0, 0, 1, 1, 0},\
{0, 1, 1, 1, 1, 1, 0, 0},\
{0, 1, 1, 1, 1, 1, 0, 0},\
{0, 1, 1, 0, 0, 1, 1, 0},\
{0, 1, 1, 0, 0, 1, 1, 0},\
{0, 1, 1, 1, 1, 1, 0, 0},\
}
#define C { \
{0, 0, 1, 1, 1, 1, 1, 0},\
{0, 1, 1, 1, 1, 1, 1, 0},\
{0, 1, 1, 0, 0, 0, 0, 0},\
{0, 1, 1, 0, 0, 0, 0, 0},\
{0, 1, 1, 0, 0, 0, 0, 0},\
{0, 1, 1, 0, 0, 0, 0, 0},\
{0, 1, 1, 1, 1, 1, 1, 0},\
{0, 0, 1, 1, 1, 1, 1, 0},\
}
#define D { \
{0, 1, 1, 1, 1, 1, 0, 0},\
{0, 1, 1, 1, 1, 1, 1, 0},\
{0, 1, 1, 0, 0, 1, 1, 0},\
{0, 1, 1, 0, 0, 1, 1, 0},\
{0, 1, 1, 0, 0, 1, 1, 0},\
{0, 1, 1, 0, 0, 1, 1, 0},\
{0, 1, 1, 1, 1, 1, 1, 0},\
{0, 1, 1, 1, 1, 1, 0, 0},\
}
byte patterns[4][8][8] = { A, B, C, D };
// 위에서 정의한 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
} |
cs |