BASIC4MCU | 질문게시판 | 아두이노 스위치
페이지 정보
작성자 초보초보 작성일2018-06-01 14:48 조회12,910회 댓글6건본문
void loop(){
loop1:;
if(digitalRead(buttonPin)==LOW){ mode=1; }
if(digitalRead(buttonPin2)==LOW){ mode=0; }
if(digitalRead(buttonPin3)==LOW){ mode=i=j=k=l=0; }
//
show(1,i); delay(delayTime);
show(2,j); delay(delayTime);
show(3,k); delay(delayTime);
show(4,l); delay(delayTime);
//
if(mode==1){
for(int i=0; i<10; i++){
for(int j=0; j<10; j++){
for(int k=0; k<10; k++){
for(int l=0; l<10; l++){
show(1,i); delay(delayTime);
show(2,j); delay(delayTime);
show(3,k); delay(delayTime);
show(4,l); delay(delayTime);
}
if(digitalRead(buttonPin2)==LOW)goto loop1;
if(digitalRead(buttonPin3)==LOW)goto loop1;
}
}
}
}
}
2번째 스위치를 눌르면 그냥 정지를 시키고 싶은데 다 0000으로 되어 버리는 문제점이 있는데 어떻게 해결해야 할까요? 이거 참 힘드네요.
댓글 6
조회수 12,910master님의 댓글
master 작성일
제일 안쪽의 for()문인 L은 0일 수 있지만
I,J,K는 0이면 안됩니다.
스위치를 눌렀든 안눌렀든 스위치3 체크하는 if()문이 동작한 것으로 생각됩니다.
스위치3 누르지 않았을 때 HIGH인지 확인하세요
초보초보님의 댓글
초보초보
HIGH인지 확인하는 방법 좀 알려주세요;;;;
master님의 댓글
master
답변글로 테스트 예제 만들어드렸는데 못 보셨나봅니다.
초보초보님의 댓글
초보초보
오늘 처음 가입한거라 이제 봤네요;;; 예제로 실행했을때 3이 나오니까 답변처럼 안 눌렀든 동작한거 맞는거 같은데;;이제 어떻게 하죠??
master님의 댓글
master
스위치 연결이 잘 못 되어 있는 상태입니다.
풀업저항이 빠져있을 수도 있고
스위치가 90도 틀어져서 연결되어 있을 수도 있겠죠
초보초보님의 댓글
초보초보
감사합니다. 덕분에 스위치가 잘못 연결되 있는건 해결했습니다. 근데 2번 수위치를 눌르면 정지가 되지는 않고 전부 0으로 나오는건 그대로인데 이건 그냥 소스가 잘못된건가요?