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