티스토리 뷰
unsigned int displayNum = 0;
byte fndData[10][7] = {
{0, 0, 0, 0, 0, 0, 1}, //0
{1, 0, 0, 1, 1, 1, 1}, //1
{0, 0, 1, 0, 0, 1, 0}, //2
{0, 0, 0, 0, 1, 1, 0}, //3
{1, 0, 0, 1, 1, 0, 0}, //4
{0, 1, 0, 0, 1, 0, 0}, //5
{0, 1, 0, 0, 0, 0, 0}, //6
{0, 0, 0, 1, 1, 1, 1}, //7
{0, 0, 0, 0, 0, 0, 0}, //8
{0, 0, 0, 0, 1, 0, 0}, //9
};
void setup() {
for(int i = 6 ; i < 14 ; i++) {
pinMode(i, OUTPUT);
digitalWrite(i, HIGH);
}
}
void loop() {
setFndNum(displayNum++);
if(displayNum > 9) displayNum = 0;
delay(1000);
}
void setFndNum(int num) {
for(int i = 6 ; i < 13 ; i++) {
digitalWrite(i, fndData[num][i - 6]);
}
}
// FND + 스위치를 이용한 주사위
boolean isBreak = false;
byte fndData[6][7] = {
{1, 0, 0, 1, 1, 1, 1}, //1
{0, 0, 1, 0, 0, 1, 0}, //2
{0, 0, 0, 0, 1, 1, 0}, //3
{1, 0, 0, 1, 1, 0, 0}, //4
{0, 1, 0, 0, 1, 0, 0}, //5
{0, 1, 0, 0, 0, 0, 0}, //6
};
void setup() {
for(int i = 6 ; i < 14 ; i++) {
pinMode(i, OUTPUT);
digitalWrite(i, HIGH);
}
pinMode(2, INPUT_PULLUP);
attachInterrupt(0, interrupt, FALLING);
}
void loop() {
if(!isBreak) {
setFndNum(random(1, 7));
delay(50);
}
}
void setFndNum(int num) {
for(int i = 6 ; i < 13 ; i++) {
digitalWrite(i, fndData[num - 1][i - 6]);
}
}
void interrupt() {
isBreak = !isBreak;
}
'IT > Arduino' 카테고리의 다른 글
| 아두이노 교육2일차 아날로그 신호 제어 (0) | 2014.08.16 |
|---|---|
| 아두이노 교육2일차 UART Serial 통신 (0) | 2014.08.16 |
| 아두이노 교육2일차 외부인터럽트 (0) | 2014.08.16 |
| 아두이노 교육1일차 스위치로 LED 점멸 (0) | 2014.08.09 |
| 아두이노 교육1일차 LED 좌에서 우로 우에서 좌로 점멸 (0) | 2014.08.09 |
댓글