티스토리 뷰
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 |
댓글