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

return (int)cm;

                 }

                 //
                 // 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;
                     //
                     int choosedDir;

                     int getMax()
                     {
                         int retMax = center;
                         if (center<left)





                                                   152
   148   149   150   151   152   153   154   155   156   157   158