Page 345 - 최강 아두이노 퍼스트 참고서
P. 345

DIRECT TRIG, ECHO 사용

               아두이노 스케치의 기본 제공 함수만을 사용하여 코드를 작성하면 아래와 같습니다.

               예제코드:  http://www.allfirst.co.kr/pds/arduinoLib/hc_sr04_ex_1.ino
                 #define trigPin 12
                 #define echoPin 13

                 void setup() {
                   // 시리얼 포트 9600 속도 초기화.
                   Serial.begin (9600);
                   // 센서 Trig 연결 포트를 출력으로 설정합니다. pinMode (trigPin,
                 OUTPUT);
                   // 센서 에코 연결핀은 입력 모드로 설정.
                   pinMode (echoPin, INPUT);
                 }

                 void loop() {
                   // 지속시간 , 거리 변수 정의
                   int duration, distance;
                   digitalWrite(trigPin, HIGH);
                   delayMicroseconds(10);
                   digitalWrite(trigPin, LOW);
                   duration = pulseIn(echoPin, HIGH);   distance =
                 (duration/2) / 29.1;
                   if (distance >= 200 || distance <= 0)
                   {
                     Serial.println("Out of range");
                   }
                   else
                   {
                     Serial.print(distance);
                     Serial.println(" cm");
                   }
                   delay(500);
                 }





                       PULSEIN 함수 사용 설명

               위의 코드에는 duration = pulseIn(echoPin, HIGH); 라는 함수를 사용합니다.
               직관적인 이해는 echoPin 으로 지정된 포트의 값이 HIGH 신호로 변경되기까지의 시간을 반

               환하는 함수입니다. 변경되기까지의 시간은 pulseIn 함수 호출 시간부터입니다.
               함수 선언 모체는 아래와 같습니다.





                                                   345
   340   341   342   343   344   345   346   347   348   349   350