01.LED매트릭스 출력하기
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
#include "LedControl.h"
LedControl lc = LedControl(12, 10, 11, 1);
byte a[8] = {
B00000000,
B00100100,
B00100100,
B00000000,
B01111110,
B01111110,
B00111100,
B00000000
};
void setup() {
lc.shutdown(0, false);
lc.setIntensity(0, 8);
lc.clearDisplay(0);
}
void loop(){
for(int i = 0; i < 8; i++){
lc.setRow(0, i, a[i]);
}
delay(1000);
}
01:LED매트릭스 라이브러리 호출
02:LED컨트롤 객체 이름인 IC에
DIN핀12, CLK핀 10, CS핀 11, 매트릭스 개수 1개 설정
03:
04~11: 매트릭스 에디터에서 불러온 모양에 대한 코드
12:setup 함수
13:도트매트릭스의 절전모드를 일반모드(false)로 설정(0은 매트릭스번호)
14:도트매트릭스의 밝기를 0번째 매트릭스 밝기를 8로 설정(0~15까지)
15:장치초기화(0번째장치)
16:loop함수
17:i 값이 0부터 8보다 작을 동안 (8줄)
18:setRow 가로줄행 1줄 제어(0번째, i열, a[i]데이터를 출력)
02.3가지 표정이 1초 단위로 변하도록 만들어봅시다.
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
#include "LedControl.h"
LedControl lc=LedControl(12,10,11,1);
byte a[8]={
0b00000000,
0b00100100,
0b00100100,
0b00000000,
0b01111110,
0b01111110,
0b00111100,
0b00000000
};
byte b[8]={
0b00000000,
0b11100111,
0b01000010,
0b00000000,
0b00000000,
0b00111100,
0b01000010,
0b10000001
};
byte c[8]={
0b10000001,
0b01000010,
0b00100100,
0b00000000,
0b00111100,
0b01111110,
0b11111111,
0b00000000
};
void setup() {
lc.shutdown(0,false);
lc.setIntensity(0,8);
lc.clearDisplay(0);
}
void loop() {
for(int i=0;i<8;i++){
lc.setRow(0,i,a[i]);
}
delay(1000);
for(int i=0;i<8;i++){
lc.setRow(0,i,b[i]);
}
delay(1000);
for(int i=0;i<8;i++){
lc.setRow(0,i,c[i]);
}
delay(1000);
}
01:LED매트릭스 라이브러리 호출
02:LED컨트롤 객체 이름인 IC에
DIN핀12, CLK핀 10, CS핀 11, 매트릭스 개수 1개 설정
03: 매트릭스 에디터에서 불러온 첫번째 표정에 대한 코드
04: 매트릭스 에디터에서 불러온 두번째 표정에 대한 코드
05: 매트릭스 에디터에서 불러온 세번째 표정에 대한 코드
06:setup 함수
07도트매트릭스의 절전모드를 일반모드(false)로 설정(0은 매트릭스번호)
08:도트매트릭스의 밝기를 0번째 매트릭스 밝기를 8로 설정(0~15까지)
09:장치초기화(0번째장치)
07:loop함수
08:i 값이 0부터 8보다 작을 동안 (8줄)
09:setRow 가로줄행 1줄 제어(0번째, i열, a[i]데이터를 출력)
10: 1초 대기
11: i값이 0부터 8보다 작을 동안 (8줄)
12:setRow 가로줄행 1줄 제어(0번째, i열, a[i]데이터를 출력)
13:1초 대기
14:i 값이 0부터 8보다 작을 동안 (8줄)
15:setRow 가로줄행 1줄 제어(0번째, i열, a[i]데이터를 출력)
16:1초 대기