Page 140 - 최강 아두이노 스마트 자동차 로봇 키트
P. 140

// prevent NO_ECHO, prevent 0 cm.
                 //

                 int getSafeDistance()
                 {
                   const int nRetry=3; // modify count if you want...
                   int nDist=NO_ECHO;
                   //
                   // simple code.
                 //    while(nDist=getCurrDistance()  !=  NO_ECHO)  ;  //  while

                 when NO_ECHO
                   // for debug message.
                   do
                   {
                     nDist=getCurrDistance();
                     if(nDist==NO_ECHO)

                     {
                       Serial.println("HC-SR04 returned NO_ECHO");
                     }
                   }
                   while(nDist==NO_ECHO);

                   // now return safe value.
                   if(nDist!=NO_ECHO)

                     return nDist;
                 }

                 //
                 // 각 방향에 대한 거리 데이터 보존 구조체.
                 //

                 struct DistanceDir
                 {
                   int left;
                   int center;
                   int right;





                                                   139
   135   136   137   138   139   140   141   142   143   144   145