#define segA 10 // 'a' 세그먼트 연결 핀 번호
#define segB 11 // 'b' 세그먼트 연결 핀 번호
#define segC 12 // 'c' 세그먼트 연결 핀 번호
#define segD 7 // 'd' 세그먼트 연결 핀 번호
#define segE 6 // 'e' 세그먼트 연결 핀 번호
#define segF 9 // 'f' 세그먼트 연결 핀 번호
#define segG 8 // 'g' 세그먼트 연결 핀 번호
#define segDP 13 // 'dp' 세그먼트 연결 핀 번호
// main 함수에서 처리 편하게 하기 위해 핀번호 배열을 생성
int fndPort[8] = {segA, segB, segC, segD, segE, segF, segG, segDP};
// index 0-9 -> 숫자 1~9
// index 10 -> Blank
int fndData[11][8] = {
{ 1, 1, 1, 1, 1, 1, 0, 0 }, // 0
{ 0, 1, 1, 0, 0, 0, 0, 0 }, // 1
{ 1, 1, 0, 1, 1, 0, 1, 0 }, // 2
{ 1, 1, 1, 1, 0, 0, 1, 0 }, // 3
{ 0, 1, 1, 0, 0, 1, 1, 0 }, // 4
{ 1, 0, 1, 1, 0, 1, 1, 0 }, // 5
{ 1, 0, 1, 1, 1, 1, 1, 0 }, // 6
{ 1, 1, 1, 0, 0, 1, 0, 0 }, // 7
{ 1, 1, 1, 1, 1, 1, 1, 0 }, // 8
{ 1, 1, 1, 1, 0, 1, 1, 0 }, // 9
{ 0, 0, 0, 0, 0, 0, 0, 0 }, // 10 - Blank
};
void setup(){
// 7 Segment 연결된 포트 모두 출력으로 설정
for(int i = 0 ; i < 8 ; i++)
{
pinMode(fndPort[i],OUTPUT);
}
}
void loop(){
for(int i = 0 ; i < 10 ; i++){
for(int j = 0 ; j < 8 ; j++){
digitalWrite(fndPort[j], fndData[i][j]);
}
delay(500);
}
}