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