분류 | 게시판 |
베스트 |
|
유머 |
|
이야기 |
|
이슈 |
|
생활 |
|
취미 |
|
학술 |
|
방송연예 |
|
방송프로그램 |
|
디지털 |
|
스포츠 |
|
야구팀 |
|
게임1 |
|
게임2 |
|
기타 |
|
운영 |
|
임시게시판 |
|
옵션 |
|
int led1=6; int led2=7; int key1=12; int key2=13; int val1=0; int val2=0; //digitaRead(key2)값 저장 int old_val1=0; int old_val2=0; //이전의 digitaRead(key2)값 저장 int state1=0; int state2=0; void setup(){ pinMode(led1,OUTPUT); pinMode(led2,OUTPUT); pinMode(key1,INPUT); pinMode(key2,INPUT); } void loop(){ val1=digitalRead(key1); val2=digitalRead(key2); if((val1==HIGH)&&(old_val1==LOW)){ //현재의 버튼값과 이전의 버튼값을 비교했을 때 값이 달라졌나? state1=1-state1; //0=1-0 >1 delay(10); } if((val2==HIGH)&&(old_val2==LOW)){ state2=1-state2; //0=1-0>1 delay(10); } if(state1==HIGH){ digitalWrite(led1,HIGH); }else{ digitalWrite(led1,LOW); } if(state2==HIGH){ digitalWrite(led2,HIGH); }else{ digitalWrite(led2,LOW); } } 위에 적은 것 처럼 버튼 2개와led2개를 이용한 코드가 이건데요. 작동은 잘 됬는는데 코드중에서 잘 이해가 안가는 부분이 있어서요 if((val1==HIGH)&&(old_val1==LOW)){ //현재의 버튼값과 이전의 버튼값을 비교했을 때 값이 달라졌나? state1=1-state1; //0=1-0 >1 delay(10); 이부분에서 state값이 원래 0이였는데 1로 변해서 if(state1==HIGH){ <<여기서 state1이 아니라 '1'이 들어가야된다고 생각했거든요 digitalWrite(led1,HIGH); }else{ digitalWrite(led1,LOW); } 처음에는 1을 넣었는데 오류가 나서 state1로 바꿔 넣은건데 왜 1은 안되고 state1인지 잘 모르겠어요 ㅠㅠ 버튼 하나로 할때는 1이 맞았는데 왜 버튼 두개일때는 아닌가욤.... ㅠㅠ? 너무 길죠 ㅠㅠㅠ 죄송합니다. 너무 장황하게 써놔서 이해가 가실지 모르겠네요 ㅠㅠㅠ.... |
죄송합니다. 댓글 작성은 회원만 가능합니다.