소스1 -누를때마다 동작이 변하는 릴리즈스위치 응용소스입니다. 1회:LED ON 2회:LED OFF 3회: LED ON-> LED OFF -> 리셋-
// 5v -> switch -> port7 port7 -> 10K -> GND
// port13 -> LED -> 470 -> GND
void setup(){
pinMode(7,INPUT); // 7번을 입력포트로 사용
pinMode(13,OUTPUT); // 13번을 출력포트로 사용한다.
}
void loop(){
int LED = 0; //LED 상태저장
int Switch = 0; //스위치 값 저장
int pass = 0; //정상적으로 누르고 때는 스위치동작 확인용
while(1){ //루프 돌때마다 변수가 초기화되므로 반복문으로 무한반복
Switch = digitalRead(7); //7번 포트로 입력을 받는다
if(Switch==1){
delay(200); //debounce 0.2초 대기
while(Switch==1) //bounce이후 재확인 스위치가 때어지면 나온다
Switch = digitalRead(7);
if(Switch==0){
delay(200);
Switch = digitalRead(7);
if(Switch==0)
pass++;
}
}
if(pass==1){ //스위치 인식확인
digitalWrite(13,1);
}
if(pass==2){ //스위치 인식확인
digitalWrite(13,0);
}
if(pass==3){
while(1){
digitalWrite(13,1);
delay(200);
digitalWrite(13,0);
delay(200);
Switch = digitalRead(7);
if(Switch == 1)
break;
}
pass=0;
}
} //while END
} //loop END
'작업실 > arduino' 카테고리의 다른 글
아두이노(arduino) - 온습도센서(DHT11)를 사용해보자 (0) | 2015.03.06 |
---|---|
아두이노(arduino) - 더블클릭을 인식하는 스위치 [릴리즈 응용] (0) | 2015.03.06 |
아두이노(arduino) - 릴리즈 스위치 개선 (0) | 2015.03.06 |
아두이노(arduino) - 초음파 센서를 활용한 지나간 사람수 체크하기 (0) | 2015.03.06 |
아두이노(arduino) - 초음파 센서를 활용한 자동차 후방센서! (0) | 2015.03.06 |