정보나눔

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

아두이노 적외선센서 질문입니다.
신재호 | 2016-05-19

void loop() {
 float dist_val1 = analogRead(dist_pin1);
 
  if(dist_val1*5.0/1023.0>=1.6) Play();
  else MDriver.driveCh0Ch1(0, 0);
 }

 

void Play(){
  do{
    Serial.println("Playing DOWN");
    MDriver.driveCh0Ch1(-250, 200);
  } while(digitalRead(Limit2)==LOW);   //Limit2 감지되면 루프빠져나오기
 
  do{
    Serial.println("Playing UP");
    MDriver.driveCh0Ch1(250, 200);
  } while(digitalRead(Limit1)==LOW); //Limit1 감지되면 루프빠져나오기
 
}

MDriver.driveCh0Ch1(250, 200);이 메소드는 모터를 구동 하기위한 메소드입니다.

MDriver.driveCh0Ch1(0, 0); 이 메소드는 모터를 정지시키는 메소드입니다.

적외선센서가 1.6이상이되면 Play()함수를 실행하는데

1.6보다 작으면 왜 동작을 멈추지 않고 계속 실행 될까요??

센서만 테스트 했을때는 정상작동합니다

이전글   |    데이터 값 db로 전송 2016-05-19
다음글   |    아두이노 간의 블루투스 통신 2016-05-20