Presentation is loading. Please wait.

Presentation is loading. Please wait.

ARDUINO (센서활용프로그래밍/ICT융합실무) - 아두이노 활용 > 전자 주사위 제작

Similar presentations


Presentation on theme: "ARDUINO (센서활용프로그래밍/ICT융합실무) - 아두이노 활용 > 전자 주사위 제작"— Presentation transcript:

1 ARDUINO (센서활용프로그래밍/ICT융합실무) - 아두이노 활용 > 전자 주사위 제작
컴퓨터정보공학과 권춘우 ARDUINO (센서활용프로그래밍/ICT융합실무) - 아두이노 활용 > 전자 주사위 제작

2 목차 전자 주사위 제작

3 전자 주사위 제작 - 배선도 Common Anode Type 7 Segment LED 기준

4 전자 주사위 제작 – 회로도(Schematic)
Common Anode Type 7 Segment LED 기준

5 전자 주사위 제작 – 스케치(1/7) (실습 내용) 전자 주사위 예제
Common Anode 7 Segment LED를 구성한 다음 Display를 확인한다. 버튼 스위치를 누르면 1,2,3,4,5,6 중의 랜덤(random) 한 숫자를 Segment FND에 표시 전자주사위의 동작 프로그램을 분석한다. 전자주사위의 동작을 동영상으로 제출한다. ※ (참조 자료 출처) #define START_BUTTON 11 // 7 Segment a #define SEG_A // Segment a ******* #define SEG_B // Segment b f * * b #define SEG_C // Segment c * g * #define SEG_D // Segment d ******* #define SEG_E // Segment e e * * c #define SEG_F // Segment f * * #define SEG_G // Segment g ******* * h #define SEG_H // Segment h d Common Anode Type 7 Segment LED 기준

6 전자 주사위 제작 – 스케치(2/7) void fnd(unsigned char n) { switch (n) {
case 0: // Number 0 digitalWrite(SEG_A, LOW); digitalWrite(SEG_B, LOW); digitalWrite(SEG_C, LOW); digitalWrite(SEG_D, LOW); digitalWrite(SEG_E, LOW); digitalWrite(SEG_F, LOW); digitalWrite(SEG_G, HIGH); digitalWrite(SEG_H, HIGH); break; case 1: // Number 1 digitalWrite(SEG_A, HIGH); digitalWrite(SEG_D, HIGH); digitalWrite(SEG_E, HIGH); digitalWrite(SEG_F, HIGH); case 2: // Number 2 digitalWrite(SEG_C, HIGH); digitalWrite(SEG_G, LOW);

7 전자 주사위 제작 – 스케치(3/7) case 3: // Number 3 digitalWrite(SEG_A, LOW);
digitalWrite(SEG_B, LOW); digitalWrite(SEG_C, LOW); digitalWrite(SEG_D, LOW); digitalWrite(SEG_E, HIGH); digitalWrite(SEG_F, HIGH ); digitalWrite(SEG_G, LOW); digitalWrite(SEG_H, HIGH); break; case 4: // Number 4 digitalWrite(SEG_A, HIGH); digitalWrite(SEG_D, HIGH); digitalWrite(SEG_F, LOW ); case 5: // Number 5 digitalWrite(SEG_B, HIGH); digitalWrite(SEG_F, LOW);

8 전자 주사위 제작 – 스케치(4/7) case 6: // Number 6 digitalWrite(SEG_A, HIGH);
digitalWrite(SEG_B, HIGH); digitalWrite(SEG_C, LOW); digitalWrite(SEG_D, LOW); digitalWrite(SEG_E, LOW); digitalWrite(SEG_F, LOW); digitalWrite(SEG_G, LOW); digitalWrite(SEG_H, HIGH); break; case 7: // Number 7 digitalWrite(SEG_A, LOW); digitalWrite(SEG_B, LOW); digitalWrite(SEG_D, HIGH); digitalWrite(SEG_E, HIGH); digitalWrite(SEG_F, HIGH); digitalWrite(SEG_G, HIGH); case 8: // Number 8

9 전자 주사위 제작 – 스케치(5/7) case 9: // Number 9 digitalWrite(SEG_A, LOW);
digitalWrite(SEG_B, LOW); digitalWrite(SEG_C, LOW); digitalWrite(SEG_D, HIGH); digitalWrite(SEG_E, HIGH); digitalWrite(SEG_F, LOW); digitalWrite(SEG_G, LOW); digitalWrite(SEG_H, HIGH); break; case 10: // POINT digitalWrite(SEG_A, HIGH); digitalWrite(SEG_B, HIGH); digitalWrite(SEG_C, HIGH); digitalWrite(SEG_F, HIGH); digitalWrite(SEG_G, HIGH); digitalWrite(SEG_H, LOW); case 11: // MINUS

10 전자 주사위 제작 – 스케치(6/7) case 12: // BLANK digitalWrite(SEG_A, HIGH);
digitalWrite(SEG_B, HIGH); digitalWrite(SEG_C, HIGH); digitalWrite(SEG_D, HIGH); digitalWrite(SEG_E, HIGH); digitalWrite(SEG_F, HIGH); digitalWrite(SEG_G, HIGH); digitalWrite(SEG_H, HIGH); break; } void setup() { pinMode(SEG_A, OUTPUT); pinMode(SEG_B, OUTPUT); pinMode(SEG_C, OUTPUT); pinMode(SEG_D, OUTPUT); pinMode(SEG_E, OUTPUT); pinMode(SEG_F, OUTPUT); pinMode(SEG_G, OUTPUT); pinMode(SEG_H, OUTPUT);

11 전자 주사위 제작 – 스케치(7/7) void loop() { int i, r; fnd(11); while(1) {
while(!digitalRead(START_BUTTON)) ; randomSeed(millis()%1000); int r = random(100); for (i = 0; i<50; i++) { fnd(r%6+1); r++; delay(10+i*i/5); }

12 감사합니다. Thank You !


Download ppt "ARDUINO (센서활용프로그래밍/ICT융합실무) - 아두이노 활용 > 전자 주사위 제작"

Similar presentations


Ads by Google