AVR(Atmega128)의 AD컨버터를 이용한 라인트레이서(대회용)
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
해당 자료는 10페이지 까지만 미리보기를 제공합니다.
10페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

AVR(Atmega128)의 AD컨버터를 이용한 라인트레이서(대회용)에 대한 보고서 자료입니다.

목차

■서론
1.1 제작 배경
1.2 작품특징 및 개요

■본론
2.1 라인 트레이서의 블록선도
2.2 블록선도 세부설명
2.3 라인 트레이서 외형 설명
2.4 프로그램 순서도
2.5 알고리즘 설명
2.6 가감속 테이블
2.7 핸들 테이블

■ 결론

■ 부록
4.1 부품 리스트
4.2 참고 자료
4.3 전체 프로그램

본문내용

ev=0;
}
break;
case 7 :
next=0;
break;
}
}
//
void tuning()
{
while(handle_make_flag)
{
mode_switch();
lcd_gotoxy(0,0);
lcd_putsf(" Handle ");
lcd_gotoxy(0,1);
sprintf(sbuf," %04u ",handle_num);
lcd_puts(sbuf);
if(next)
{
handle_num=handle_num+1;
next=0;
}
if(prev)
{
handle_num=handle_num-1;
prev=0;
}
if(select)
{
select=0;
handle_make();
handle_make_flag=FALSE;
tuning_start=TRUE;
}
}
while(adc_tuning)
{
mode_switch();
if(!select && !max_min_flag)
{
lcd_gotoxy(0,0);
lcd_putsf(" START ");
lcd_gotoxy(0,1);
lcd_putsf("Max Min");
}
else if(select && !max_min_flag)
{
max_min_sampling();
}
if(check_ch==8)
{
adc_tuning=FALSE;
tuning_start=TRUE;
select=0;
check_ch=0;
break;
}
}// adc 튜닝
while(check_adc_data)
{
if(!max_min_watch)
{
lcd_gotoxy(0,0);
sprintf(sbuf,"MAX%u=%03u",check_ch,max[check_ch]);
lcd_puts(sbuf);
lcd_gotoxy(0,1);
sprintf(sbuf,"MIN%u=%03u",check_ch,min[check_ch]);
lcd_puts(sbuf);
delay_ms(900);
check_ch++;
if(check_ch==8)
{
max_min_watch=1;
check_ch=0;
}
}
else if(max_min_watch)
{
lcd_gotoxy(0,0);
sprintf(sbuf,"Channel%u",check_ch);
lcd_puts(sbuf);
lcd_gotoxy(0,1);
if(check_ch==2 || check_ch==3 || check_ch==4 || check_ch==5)
{
sprintf(sbuf,"Dis%u=%03u",check_ch,dist[check_ch]);
lcd_puts(sbuf);
delay_ms(900);
}
else
{
sprintf(sbuf,"Avg%u=%03u",check_ch,avg[check_ch]);
lcd_puts(sbuf);
delay_ms(900);
}
check_ch++;
if(check_ch==8)
{
lcd_gotoxy(0,0);
lcd_putsf("Dist_TOT");
lcd_gotoxy(0,1);
sprintf(sbuf,"%08u",dist_total);
lcd_puts(sbuf);
delay_ms(700);
check_ch=0;
check_adc_data=FALSE;
tuning_start=TRUE;
}
}
}// adc 튜닝 데이터 확인
while(phase_tuning)
{
mode_switch();
lcd_gotoxy(0,0);
lcd_putsf("HowPhase");
lcd_gotoxy(0,1);
switch(next)
{
case 0 :
lcd_putsf(" 1-Phase");
if(select)
{
phase=0;
phase_tuning=FALSE;
tuning_start=TRUE;
select=0;
next=0;
}
if(prev)
{
next=2;
prev=0;
}
break;
case 1 :
lcd_putsf(" 2-Phase");
if(select)
{
phase=1;
phase_tuning=FALSE;
tuning_start=TRUE;
mark_count=7;
result_count=25;
not_count=70;
select=0;
next=0;
}
if(prev)
{
next=0;
prev=0;
}
break;
case 2 :
lcd_putsf("12-Phase");
if(select)
{
phase=2;
phase_tuning=FALSE;
tuning_start=TRUE;
max_speed=700;
mark_count=15;
result_count=50;
not_count=150;
select=0;
next=1;
}
if(prev)
{
next=1;
prev=0;
}
break;
}
}
while(speed_tuning)
{
mode_switch();
lcd_gotoxy(0,0);
lcd_putsf("MaxSPEED");
lcd_gotoxy(0,1);
sprintf(sbuf,"%05u ",max_speed);
lcd_puts(sbuf);
if(next)
{
max_speed=max_speed+5;
next=0;
}
if(prev)
{
max_speed=max_speed-5;
prev=0;
}
if(select)
{
select=0;
speed_tuning=FALSE;
tuning_start=TRUE;
}
}// 속도 튜닝
while(run_tuning)
{
mode_switch();
lcd_gotoxy(0,0);
lcd_putsf("How RUN?");
lcd_gotoxy(0,1);
switch(next)
{
case 0 :
lcd_putsf("0 Shift ");
if(select)
{
select=0;
next=0;
shift=0;
run_tuning=FALSE;
tuning_start=TRUE;
break;
}
if(prev)
{
next=1;
prev=0;
}
break;
case 1 :
lcd_putsf("1 Shift ");
if(select)
{
select=0;
next=0;
shift=1;
run_tuning=FALSE;
tuning_start=TRUE;
break;
}
if(prev)
{
next=0;
prev=0;
}
break;
case 3 :
next=0;
break;
}
}// 주행 선택
//
}
  • 가격3,000
  • 페이지수35페이지
  • 등록일2010.03.25
  • 저작시기2006.12
  • 파일형식한글(hwp)
  • 자료번호#593936
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니