CODE 4.2 | 자동 숫자 카운터 코드
| 01 | // 핀 번호를 배열에 담아 관리합니다. (a, b, c, d, e, f, g 순서) |
| 02 | int pin[7] = {2, 3, 4, 5, 6, 7, 8}; |
| 03 | |
| 04 | // 0부터 9까지 숫자 모양을 미리 정의한 '모양 지도' (2차원 배열) |
| 05 | int segmentArray[16][7] = { |
| 06 | {1, 1, 1, 1, 1, 1, 0}, // 0 |
| 07 | {0, 1, 1, 0, 0, 0, 0}, // 1 |
| 08 | {1, 1, 0, 1, 1, 0, 1}, // 2 |
| 09 | {1, 1, 1, 1, 0, 0, 1}, // 3 |
| 10 | {0, 1, 1, 0, 0, 1, 1}, // 4 |
| 11 | {1, 0, 1, 1, 0, 1, 1}, // 5 |
| 12 | {1, 0, 1, 1, 1, 1, 1}, // 6 |
| 13 | {1, 1, 1, 0, 0, 0, 0}, // 7 |
| 14 | {1, 1, 1, 1, 1, 1, 1}, // 8 |
| 15 | {1, 1, 1, 0, 0, 1, 1}, // 9 |
| 16 | }; |
| 17 | |
| 18 | void setup() { |
| 19 | // for문을 이용해 핀 7개를 한 번에 설정하기 |
| 20 | for (int n = 0; n < 7; n++) |
| 21 | pinMode(pin[n], OUTPUT); |
| 22 | } |
| 23 | |
| 24 | void loop() { |
| 25 | // 0부터 9까지(10보다 작을 때까지) 숫자를 하나씩 바꿉니다. |
| 26 | for (int i = 0; i < 10; i++) { |
| 27 | // 각 숫자에 맞는 7개의 조각(a~g)을 켜거나 끕니다. |
| 28 | for (int j = 0; j < 7; j++) { |
| 29 | digitalWrite(pin[j], segmentArray[i][j]); |
| 30 | } |
| 31 | delay(1000); // 1초 동안 보여주기 |
| 32 | } |
| 33 | } |
댓글 없음:
댓글 쓰기