[A+논문]Visual Sensor를 이용한 애완견 로봇 개발
닫기
  • 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
해당 자료는 10페이지 까지만 미리보기를 제공합니다.
10페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[A+논문]Visual Sensor를 이용한 애완견 로봇 개발에 대한 보고서 자료입니다.

목차

국문초록

1. 서론

2. 이론
2.1 정기구학
2.2 역기구학
2.3 무게중심점의 위치결정

3. 연 구 과 정

4. 연 구 내 용
4.1 ATMEGA128 메인보드
4.2 RC서보모터
4.3 적외선 센서
4.4 Block Diagram
4.5 설계사항
4.6 Organization of Control System
4.7 보행 실험 및 고찰
4.8 실험 결과 및 고찰

5. 결론

참고문헌

부 록(모터구동프로그램)

본문내용

HEAD].port = PORT_B;
servo_info[HEAD].pin = 0X40;
servo_info[HEAD].flag = 1;
servo_info[HEAD].position = HEAD_DEFAULT;
}
void Init_Timer1(void)
{
TCCR1A=0x00;
TCCR1B=0x01;
TCNT1H=0x00;
TCNT1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
OCR1CH=0x00;
OCR1CL=0x00;
TIMSK=0x04;
ETIMSK=0x00;
} /* end of Init_Timer1_R() */
// Function name: UART_getchar
// Description : Get a character from the USART1 Receiver buffer
// Return type: char
// Argument : void
char get_motor_value(void)
{
char data = 0x00;
if (!rx_counter1)
return data;
data=rx_buffer1[rx_rd_index1];
if (++rx_rd_index1 == RX_BUFFER_SIZE1) rx_rd_index1=0;
#asm("cli");
--rx_counter1;
#asm("sei");
return data;
}
void UART_ini(void)
{
// USART1 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART1 Receiver: On
// USART1 Transmitter: On
// USART1 Mode: Asynchronous
// USART1 Baud rate: 19200
UCSR1A=0x00;
UCSR1B=0x98;
UCSR1C=0x06;
UBRR1H=0x00;
UBRR1L=0x33;
}
// Function name: UART_GetRecvCounter
// Description : buffer에 담겨진 data의 개수를 return해준다.
// Return type: BYTE
char UART_GetRecvCounter()
{
return rx_counter1;
}
void putchar1(char c)
{
while ((UCSR1A & DATA_REGISTER_EMPTY)==0);
UDR1=c;
}
void main(void)
{
unsigned char sepa;
int RecvTmp;
UART_ini();//UART initialize
Port_ini(); //PORT initialize
Init_Timer1(); //TIMER initialize
servo_ini(); //PIN,PORT,FLAG initialize
#asm("sei") // Interrupt Enable..
while(1)
{
if(UART_GetRecvCounter())
{
sepa = get_motor_value();
putchar1(sepa);
while(!UART_GetRecvCounter()); //recive된 데이터가 없을동안 받은 데이터로 처리한다.
switch(sepa)
{
case 'a':
{
RecvTmp = get_motor_value();
servo_info[0].position = 11200+RecvTmp*142.22;
}
break;
case 'b':
{
RecvTmp = get_motor_value();
servo_info[1].position = 11200+RecvTmp*142.22;
}
break;
case 'c':
{
RecvTmp = get_motor_value();
servo_info[2].position = 11200+RecvTmp*142.22;
}
break;
case 'd':
{
RecvTmp = get_motor_value();
servo_info[3].position = 11200+RecvTmp*142.22;
}
break;
case 'e':
{
RecvTmp = get_motor_value();
servo_info[4].position = 11200+RecvTmp*142.22;
}
break;
case 'f':
{
RecvTmp = get_motor_value();
servo_info[5].position = 11200+RecvTmp*142.22;
}
break;
case 'g':
{
RecvTmp = get_motor_value();
servo_info[6].position = 11200+RecvTmp*142.22;
}
break;
case 'h':
{
RecvTmp = get_motor_value();
servo_info[7].position = 11200+RecvTmp*142.22;
}
break;
case 'i':
{
RecvTmp = get_motor_value();
servo_info[8].position = 11200+RecvTmp*142.22;
}
break;
case 'j':
{
RecvTmp = get_motor_value();
servo_info[9].position = 11200+RecvTmp*142.22;
}
break;
case 'k':
{
RecvTmp = get_motor_value();
servo_info[10].position = 11200+RecvTmp*142.22;
}
break;
case 'l':
{
RecvTmp = get_motor_value();
servo_info[11].position = 11200+RecvTmp*142.22;
}
break;
case 'm':
{
RecvTmp = get_motor_value();
servo_info[12].position = 11200+RecvTmp*142.22;
}
break;
case 'n':
{
RecvTmp = get_motor_value();
servo_info[13].position = 11200+RecvTmp*142.22;
}
break;
}
};
/*} end of main()*/
}
}

키워드

  • 가격3,000
  • 페이지수30페이지
  • 등록일2005.11.15
  • 저작시기2005.11
  • 파일형식한글(hwp)
  • 자료번호#320482
본 자료는 최근 2주간 다운받은 회원이 없습니다.
  • 편집
  • 내용
  • 가격
청소해
다운로드 장바구니