정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

LED 주사위 예제에서 질문입니다.
물공 | 2016-02-21

http://kocoafab.cc/tutorial/view/35

 

링크는 여기있습니다.

 

일단 질문은

현재 blank변수가 LED를 전부 꺼지게 하는 값이라고 6번 핀을 설정 해주었는데요

왜 6번핀이 LED를 전부 꺼지게 하는것인지 궁금해서 글을 올려봄니다.

프로필사진

수박쨈 2016-02-22 11:34:10

길게 말하면 복잡해 지니까 간단하게 설명드릴게요.

show라는 함수에서 blank값(6)을 result로 넣어서 사용합니다.

 

void show(int result ){ 
    for(int i = 0 ; i < 7 ; i++){
        // 나온 결과에 따라서 각각의 LED의 점등을 정해줍니다.
        digitalWrite(ledPins[i], dicePatterns[result][i]); 
    }
}

 

이때 dicePatterns[result][i]에서 6이 들어가는데 배열을 보시면 아시겠지만

dicePatterns[6]는 모든 값이 0입니다. {0, 0, 0, 0, 0, 0, 0}

 

int dicePatterns[7][7] = {  
  {0, 0, 0, 0, 0, 0, 1}, // 주사위 1
  {1, 0, 0, 0, 0, 1, 0}, // 주사위 2
  {1, 0, 0, 0, 0, 1, 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} // LED 전부 꺼짐
};

 

그렇기 때문에 모든 LED는 0의 값(LOW신호)을 받아 꺼지게 됩니다.

 

 

이전글   |    코딩 공부에 대한 질문입니다. 2016-02-20
다음글   |    int형 변수에 대해 코드 질문 하나면 하겠습니다.... 2016-02-23