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

int tempDeg[4] = { 0, DEG_CENTER, DEG_CENTER + 40,
                 DEG_CENTER - 40 };
                     int curDeg = myservo.read(); //
                     if (curDeg == tempDeg[iDir])
                         return;
                     //
                     switch (iDir)
                     {
                     case  SERVO_DIR_CENTER:
                         myservo.write(DEG_CENTER - 0);
                         break;
                     case  SERVO_DIR_LEFT:
                         myservo.write(DEG_CENTER + 40);
                         break;
                     case  SERVO_DIR_RIGHT:
                         myservo.write(DEG_CENTER - 40);
                         break;
                     default:
                         // 지정된 함수 인자가 아닐 경우 처리.
                         String errMsg = "called int setRotateServo(int ";
                         errMsg += iDir;
                         errMsg += ")";
                         Serial.println(errMsg);
                         break;
                     }
                     // delay(10); 15ms
                     int degRange = abs(curDeg - tempDeg[iDir]);
                     //degRange=(int) ((float)degRange /
                 (float)60.0f)*120.0f;
                     degRange /= 3;
                     degRange += 1; //
                     delay(degRange * 15);
                 }


                 int whereToGo(void)
                 {
                     Serial.println("finding route ...");
                     int retDir = decisionDirection();
                     // debug print each dir value;
                     Serial.print(g_DistanceDirValue.left);
                     Serial.print(" ");
                     Serial.print(g_DistanceDirValue.center);
                     Serial.print(" ");
                     Serial.print(g_DistanceDirValue.right);





                                                   155
   151   152   153   154   155   156   157   158   159   160   161