Page 759 - 2
P. 759
SENSOR_TRIGGER = 0; // 확실히 하기 위해 처음 상태를 0 으로 만들고
intech_delay_us(10); // 10us 동안 기다린다.
// 센서 작동 시작 신호
SENSOR_TRIGGER = 1;
intech_delay_us(10); // 10us 동안 센서의 트리거 핀의 상태를 1 (5V) 로 유지하여 동작 신호를 준
다.
SENSOR_TRIGGER = 0;
SENSOR_TRIGGER_DDR = 0;
SENSOR_TRIGGER = 1;
#asm("sei")
intech_delay_us(10);
time = 0; // 시간을 측정할 변수를 초기화 해준다.
}
void function_sensor_end(void) // 센서의 동작이 완료되었을 때의 계산 루틴
{
is_ended = 0; // 계산 루틴을 실행했다고 표시
//distance = (331.5+(0.61*temperature))*(time*0.00001)*1000;
dis[GetCount] = distance = (time*10/(58.2 * 4) - 9)*100; // time(us) / 58.2 // 10.35
-> 1035
//d_1 = distance %100 /10;
//d_10 = distance%10;
//distance = distance/100;
/* if (distance > SENSOR_MAX_RANGE || distance < SENSOR_MIN_RANGE) // 범위에 맞는지
확인 2~220
{
lcd_clear();
lcd_gotoxy(0,0);
lcd_puts("Out of Range");
- 759 -