Page 151 - 최강 아두이노 스마트 자동차 로봇 키트
P. 151
//
#define CAR_DIR_FW 0 // 전진.
#define CAR_DIR_BK 1 // 후진.
#define CAR_DIR_LF 2 // 좌회전.
#define CAR_DIR_RF 3 // 우회전
#define CAR_DIR_ST 4 // 정지.
//
// 차량 운행 방향 상태 전역 변수. // 정지 상태.
int g_carDirection = CAR_DIR_ST;
int g_carSpeed = 220; // 최대 속도의 60 % for testing.
//
#define CAR_OPERATE_MODE_ENABLE 1
#define CAR_OPERATE_MODE_DISABLE 0
//
int g_carUserMode = CAR_OPERATE_MODE_DISABLE; // operate
//
#define NO_ECHO 0
void init_ultrasonic_sensor()
{
pinMode(TRIGGER_PIN, OUTPUT); // 센서 Trig 핀, D12
pinMode(ECHO_PIN, INPUT); // 센서 Echo 핀, D11
digitalWrite(TRIGGER_PIN, LOW);
digitalWrite(ECHO_PIN, LOW);
}
long microsecondsToInches(long microseconds)
{
// According to Parallax's datasheet for the PING))),
there are
// 73.746 microseconds per inch (i.e. sound travels at
1130 feet per
// second). This gives the distance travelled by the
ping, outbound
// and return, so we divide by 2 to get the distance of
the obstacle.
// See: http://www.parallax.com/dl/docs/prod/acc/28015-
PING-v1.3.pdf
// 시간에 대한 값을 인치로 변환.
150