초음파센서를 이용한 거리측정 트레이스((AVR ATMEGA8515사용)
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

[1]실제 모습

[2]동작설명

[3]회로도
(1) ATMEGA8515, 초음파, LCD
(2)전원부
(3)스텝모터부

[4]프로그램(CodeVisionAVR C Compiler에서 구현)

본문내용

>= -40 && (LL<100 || LR<100)) //Short_Left
BShort_Left();
else if (LLR < -40 && (LL<100 || LR<100)) //Long_Left
BLong_Left();
};
}
//************************************ Motor ***********************************
void MotorSeting()
{
while(PIND.4==0)
{
lcd_gotoxy(0,0);
lcd_putsf(" M-Seting M= ");
lcd_gotoxy(0,1);
lcd_putsf("1=+,2=0,3=-: 5=N");
if(PIND.0==1) { mv=mv+2;delay(10000);}
if(PIND.1==1) { mv=0;delay(10000);}
if(PIND.2==1) { mv=mv-2;delay(10000);}
if(mv> 8)mv= 8;
if(mv<-8)mv=-8;
lcd_gotoxy(12,0); sprintf(ddd,"M=%2d", mv); lcd_puts(ddd);
}
}
void MotorTest()
{
while(PIND.4==0)
{
lcd_gotoxy(0,0);
lcd_putsf(" Motor-test ");
lcd_gotoxy(0,1);
lcd_putsf(" NEXT = SW5 ");
forward();P4delay(10000);
FShort_Left(); P4delay(10000);
FLong_Left(); P4delay(10000);
FShort_Right(); P4delay(10000);
FLong_Right(); P4delay(10000);
backward(); P4delay(12000);
PORTB.4=0;
}
}
//------------------------------------------------------------------
//********************************* forward_Moving ********************************
void forward() {msr=11+mv; msl=11+mv; PORTB.1=0; PORTB.3=1; PORTB.4=1; delay(10000);}
void FShort_Left() {msr=10+mv; msl=15+mv; PORTB.1=0; PORTB.3=1; PORTB.4=1; delay(2000); }
void FLong_Left() {msr=10+mv; msl=15+mv; PORTB.1=0; PORTB.3=1; PORTB.4=1; delay(4000);}
void FShort_Right(){msr=15+mv; msl=10+mv; PORTB.1=0; PORTB.3=1; PORTB.4=1; delay(2000); }
void FLong_Right() {msr=15+mv; msl=10+mv; PORTB.1=0; PORTB.3=1; PORTB.4=1; delay(4000);}
//------------------------------------------------------------------
//******************************* backward_Moving ********************************
void backward() {msr=11+mv; msl=11+mv; PORTB.1=1; PORTB.3=0; PORTB.4=1; delay(10000); }
void BShort_Left() {msr=15+mv; msl=10+mv; PORTB.1=1; PORTB.3=0; PORTB.4=1; delay(4000); }
void BLong_Left() {msr=15+mv; msl=10+mv; PORTB.1=1; PORTB.3=0; PORTB.4=1; delay(7000);}
void BShort_Right(){msr=10+mv; msl=15+mv; PORTB.1=1; PORTB.3=0; PORTB.4=1; delay(4000); }
void BLong_Right() {msr=10+mv; msl=15+mv; PORTB.1=1; PORTB.3=0; PORTB.4=1; delay(7000);}
void Other() {PORTB.4=0;}
//------------------------------------------------------------------
//*********************************** Sensor ************************************
int sensorR()
{
while(PINC.2==0)
{
count=count;
}
if(PINC.2==1)
{
count=0;
while(PINC.2)
{
count++;
}
count=(int)(count*0.25);
//if(count>110)count=110;
lcd_gotoxy(0,1); sprintf(ddd,"R=%4d", count); lcd_puts(ddd);
}
mssE=0;
return(count);
}
int sensorL()
{
while(PINC.0==0)
{
count=count;
}
if(PINC.0==1)
{
count=0;
while(PINC.0)
{
count++;
}
count=(int)(count*0.25);
//if(count>110)count=110;
lcd_gotoxy(8,1); sprintf(ccc,"L=%4d", count); lcd_puts(ccc);
}
mssE=0;
return(count);
}
//------------------------------------------------------------------
void P4delay(long int i)
{
while(PIND.4==0 && i--);
}
void delay(long int i)
{
while(i--);
}
//------------------------------------------------------------------
  • 가격2,000
  • 페이지수11페이지
  • 등록일2005.02.09
  • 저작시기2005.02
  • 파일형식한글(hwp)
  • 자료번호#285115
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니