반응형
무작위 LED 주사위를 만들어 봤습니다!!!
자세한 내용은 http://makeitnow.kr/post/?postid=428&mod=document&uid=428&pageid=1을 확인해주세요~!
무작위 LED 주사위 만들기
버튼을 누르면 랜덤으로 주사위가 돌아가는 랜덤 LED주사위를 만들어 보았습니다.
다양한 프로젝트에 응용이 가능할 것 같아요 ~!
사용 부품 리스트
아두이노 스타터 KIT에서 활용하였습니다. LED의 경우에는 짝수일 때에는 상관없으나, 홀수 일때는 가운데를 사용해야 하므로, 총 7개의 LED를 사용하였습니다~!
회로연결하기
회로 연결은 아래 사진과 같이 연결해주시면 됩니다.
회로완성
주사위 게임을 해보면, 주사위를 돌릴 때 긴장감을 높이도록 다양한 숫자가 나타나는 것들도 함께 구현이 되어 있습니다~!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | int ledPins[7] = {2,3,4,5,7,8,6}; int dicePatterns[7][7]={ {0,0,0,0,0,0,1}, //1 {1,0,0,1,0,0,0}, //2 {1,0,0,1,0,0,1}, //3 {1,0,1,1,0,1,0}, //4 {1,0,1,1,0,1,1}, //5 {1,1,1,1,1,1,0}, // 6 {0,0,0,0,0,0,0} // 없음. }; int switchPin = 9; int blank = 6; void setup() { for ( int i=0; i<7; i++){ pinMode(ledPins[i], OUTPUT); digitalWrite(ledPins[i],LOW); } pinMode(switchPin, INPUT_PULLUP); randomSeed(analogRead(0)); } void loop() { if (digitalRead(switchPin)){ rollTheDice(); } delay(100); } void rollTheDice(){ int result = 0; int lengthOfRoll = random(15,25); for ( int i=0; i< lengthOfRoll; i++){ result = random(0,6); show(result); delay(50 + i * 10); } for ( int j=0; j<3; j++){ show(blank); delay(500); show(result); delay(500); } } void show( int result){ for ( int i=0; i<7; i++){ digitalWrite(ledPins[i], dicePatterns[result][i]); } } |
최종 완성~!
반응형
'메이커 이야기 > 아두이노' 카테고리의 다른 글
[아두이노] HC-06 블루투스 이름 변경 (AT Command) (0) | 2019.06.24 |
---|---|
[메이키메이키] 마리오 플래쉬 게임 (0) | 2019.03.15 |
[아두이노] 리모컨 IR 수신기 활용 (0) | 2018.07.03 |
[Blynk] 아두이노 Blynk HC-06 연결 (0) | 2018.06.02 |
[아두이노] 아두이노로 점수판 만들어 보기 part 2 _ 세븐세그먼트 이해 (1) | 2018.02.21 |