라인 트레이서
본 자료는 6페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
해당 자료는 6페이지 까지만 미리보기를 제공합니다.
6페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

라인 트레이서에 대한 보고서 자료입니다.

목차

1 . 로봇(ROBOT)이란 무엇인가?

2 . 라인 트레이서의 구동 원리

본문내용

OTOR P1_6 // 오른쪽 모터 펄스 출력 포트
#define L_MOTOR P1_7 // 왼쪽 모터 펄스 출력 포트
// 센서 입력과 라인 패턴에 대한 변수 설정
// P3.4(left) P3.5(center) P3.7(right)
#define S000 0x00 // 라인 없음
#define S010 0x02 // 직선 구간
#define S001 0x01 // 우측선 물림
#define S011 0x03 // 우측선 물림 또는 [ㅏ]우측 분기점
#define S100 0x04 // 좌측선 물림
#define S110 0x06 // 좌측선 물림 또는 [ㅓ]좌측 분기점
#define S111 0x07 // T형 분기점 또는 + 분기점
// =====================================================================
void forward(void)
{
unsigned int i;
R_MOTOR = 1;
for(i=0; I< R_M_H ; I++);
R_MOTOR = 0;
L_MOTOR = 1;
for(i=0 ; I< L_M_H ; I++);
L_MOTOR = 0;
}
//=======================================================================
void right_turn(void)
{
unsigned int I;
L_MOTOR = 1;
for(i=0 ; I< L_M_H ; I++);
L_MOTOR = 0 ;
}
//=======================================================================
void letf_turn(void)
{
unsigned int I;
R_MOTOR = 1;
for( i=0; I < R_M_H ; I++ );
R_MOTOR = 0;
}
//=======================================================================
void main(void)
{
unsigned char sensor;
unsigned int delay=0;
unsigned int i,j;
// =======================================================================
// 초기화
R_IR_LED = OFF; // 오른쪽 적외선 IR_LED 출력 포트(발광)
C_IR_LED = OFF; // 중앙 적외선 IR_LED 출력 포트(발광)
L_IR_LED = OFF; // 왼쪽 적외선 IR_LED 출력 포트(발광)
R_IRD = 1; // 오른쪽 적외선 센서 수광 확인 포트(수광)
C_IRD = 1; // 중앙 적외선 센서 수광 확인 포트(수광)
L_IRD = 1; // 왼쪽 적외선 센서 수광 확인 포트(수광)
R_MOTOR = OFF; // 오른쪽 모터 펄스 출력 포트
L_MOTOR = OFF; // 왼쪽 모터 펄스 출력 포트
//=====================================================================
// 초기 동작을 위한 LED 깜빡임
for(i=0; i<10;i++);
{
for(j=0;j<10000;J++);
R_LED = !R_LED;
L_LED = !L_LED;
}
/ ========================================================================
while(1)
{
// 라이센싱
R_IR_LED = ON;
C_IR_LED = ON;
L_IR_LED = ON;
for(i=0;i<100;i++); // 시간 지연
sensor = 0;
if( R_IRD == ON) sensor += 1;
if( C_IRD == ON) sensor += 2;
if( L_IRD == ON) sensor += 4;
R_IR_LED = OFF;
C_IR_LED = OFF;
L_IR_LED = OFF;
//========================================================================
// 주행처리부
switch(sensor)
{
case S000: left_turn(); // 선이없음(센서 감지 없음)
break; // 왼쪽 회전
case S001: right_turn(); // 오른쪽 센서 감지
break;
case S011: right_turn(); // 오른쪽 센서 감지
break;
case S100: right_turn(); // 왼쪽 센서 감지
break;
case S110: forward(); // 왼쪽 센서 감지
break;
case S010: forward(); // 중앙 센서 감지
break;
case S111: forward(); // 모든 센서 감지
break;
default: break;
}
// ========================================================================
// 더듬이 LED 처리부
delay ++;
if(delay == 100)
{
delay = 0;
switch(sensor)
{
case S000: // 센서 없음(감지 없음)
R_LED = 0;
L_LED = 0;
break;
case S001: // 오른쪽 검은선 감지
R_LED = 1;
L_LED = !L_LED;
break;
case S011: // 오른쪽 검은선 감지
R_LED = 1;
L_LED = 0;
break;
case S100: // 왼쪽 검은선 감지
R_LED = !R_LED;
L_LED = 1;
break;
case S110: // 왼쪽 검은선 감지
R_LED = 0;
L_LED = 1;
break;
case S010: // 정상 라인 감지
R_LED = !R_LED; // 모두 켜짐
L_LED = !L_LED;
break;
case S111: // 모두 검은 라인 감지
R_LED = 1; // 모두 꺼짐
L_LED = 1;
break;
default:
break;
}
}
}
}
  • 가격2,000
  • 페이지수18페이지
  • 등록일2004.10.12
  • 저작시기2004.10
  • 파일형식한글(hwp)
  • 자료번호#270136
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니