본문 바로가기

작업실/arduino

아두이노(arduino) - 더블클릭을 인식하는 스위치 [릴리즈 응용]




소스1 -릴리즈 소스의 응용입니다.-


// 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==2){ //스위치 인식확인

      LED = !LED; //LED현재 값을 반전시킨다.

      digitalWrite(13,LED);

      pass=0; //초기화

    }

  } //while END

} //loop END