[졸업작품] 적외석 센서를 이용한 청소기 로봇
닫기
  • 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페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[졸업작품] 적외석 센서를 이용한 청소기 로봇에 대한 보고서 자료입니다.

목차

1. 서론
● 제작동기
● 제작일정계획
● 제작환경

2. 본론
● 하드웨어
1. AVR-ATMEGA 128
2. USP-ISP 다운로드기
3. STEP MOTOR
4. 적외선 센서 및 인터럽트
5. SERVO MOTOR
6. 파워공급기
7. 하드웨서 사진
● 소프트웨어
c 프로그램

3. 결론
● 제작과정 후기
● 참고 서적 및 사이트

본문내용

서 발견시 right turn 함수 약 15도
{
for(k=0; k<10; k++){
PORTC=0x33;
delay(100);
PORTC=0x99;
delay(100);
PORTC=0xcc;
delay(100);
PORTC=0x66;
delay(100);
}
}
void servo(void) // 쓰레기 감지시 서보모터 돌리기
{
int s ;
PORTC=0x00;
for(s=0;s<50;s++){
PORTB=0x01; // 쓸어담기
delays(14);
PORTB=0x00;
delays(186);
}
delay(1000);
for(s=0;s<50;s++){
PORTB=0x01;
delays(23);
PORTB=0x00;
delays(177);
}
delay(1000);
for(s=0;s<50;s++){
PORTB=0x02;
delays(21);
PORTB=0x00;
delays(179);
}
delays(1000);
delays(1000);
delays(1000);
for(s=0;s<50;s++){ // 들어올리기
PORTB=0x02;
delays(9);
PORTB=0x00;
delays(191);
}
delays(1000);
}
#pragma interrupt_handler int0_isr:2 // 쓰레기 감지시 인터럽트
void int0_isr(void)
{
CLI();
servo();
}
#pragma interrupt_handler int1_isr:3 // 왼쪽 앞 셈서 감지시 인터럽트
void int1_isr(void)
{
sensor = PINE & 0x0f;
if(sensor==2){
stop();
back();
stop();
right();
stop();
go2();
}
else{
CLI();
stop();
back();
stop();
right();
stop();
}
// SEI();
}
#pragma interrupt_handler int2_isr:4 // 오른쪽 앞센서 감지시 인터럼트
void int2_isr(void)
{
sensor = PINE & 0x0f;
if(sensor==1)
{
stop();
back();
stop();
left();
stop();
go2();
}
else{
CLI();
stop();
back();
stop();
left();
stop();
}
// SEI();
}
#pragma interrupt_handler int4_isr:6 // 왼쪽 센서 감지시 인터럽트
void int4_isr(void)
{
CLI();
left2();
stop();
// SEI();
}
#pragma interrupt_handler int5_isr:7 // 오른쪽 센서 감지시 인터럽트
void int5_isr(void)
{
CLI();
right2();
stop();
// SEI();
}
void main(void) // main 함수 항상 앞으로
{
unsigned char sensor;
init_devices();
while(1){
PORTD=0x00;
PORTE=0x00;
//sensor = PINE & 0x0f;
SEI();
go();
}
}
3. 결론
■ 제작과정 후기
- 처음부터 너무 어렵게 생각했다. 한 번 경험상 너무 어렵게 생각하여 마음을 조마조마 하며 시작 하였는데 역시 처음 생각대로 하나부터 잘 지가 않았다. 가장 쉬운 다운로드 하는 것부터 시작하여 마지막 차체 만들기 까지 무엇인가 어렵게 하는 요소가 꼭 있기 마련이었다. 처음에는 AVR 모듈 자체를 만들겠다는 자체가 잘못된 발상이었던 것 같다. AVR을 칩부터 시작하여 모듈을 만든다고 해도 그것을 알아주지 않는다. 이미 시중에 모듈이 나와있기 때문에 그것을 이용하는 자체가 더 좋은 방법인 것 같다. 직접 연결해서 모듈을 만들었을 시 오류가 날 경우가 많아 시스템 자체가 불안정하다. 그러기 때문에 어느 한 군데로도 잘못 연결이 되어있다면 다운로드부터 안될 뿐더러 LED ON - OFF 하는 것조차도 어려운 과정이었다. 여기에 투자했던 시간이 너무 아까울 뿐이다. 고치고 AS 받고 이런 과정을 처음에 너무 오래하다 보면 힘에 버거울 때가 많았다. 그냥 샀으면 시간도 절약하고 쉽게 헤쳐 나갈 수 있는 문제였던 것이다.
- 모트는 스텝모터를 이용했지만 혹시 다른 사람이 이런 종류의 것을 만들겠다고 하면 DC 모터를 권유하겠다. 스텝모터는 제어하기 쉽다고는 하지만 모듈을 직접 만들 시에는 어렵고 움직이는 데 어려움이 많다. 펄스에 민감하기 때문에 어느 한 군데라도 잘못된다면 그에 따른 오작동을 하게 되었다. DC 모터는 모듈도 쉽고 신호만 보내주기 때문에 보다 안정적이고 전력이 적게 소모된다.
- 적외선 센서를 비싸기 때문에 직접 만들었지만 감도조절에 민감하기 때문에 애를 많이 태운 것 같고 하나하나 처음부터 만들었기 때문에 소자의 특성 및 회로도 분석을 스스로 하게 된 것 같다. 아주 쉬운 센서를 만드는데 시간이 오래 걸렸지만직접 문제를 해결하다보니 여기서 어느 정도의 지식을 습득 한 것 같다. 인터럽트에 관련해서 더 공부를 하게 된다면 2번 연속 걸리게 되는 모습을 보완할 수 잇을 것이다.
- 소스를 잘 때에는 1학년 이 후 처음 하는 것이라서 하나하나 배우면서 하게 되었지만 본인이 짜서 그런지 누구나 봐서 이해하기에 쉽다. 그것을 알아가는 과정은 힘들었다.
- 자체를 만드는 과정에서 아크릴 판을 이용하게 되었는데 이것을 자르는데 시간이 오래 걸렸다. 서보모터의 각도 및 위치 및 차체의 모습 등 여러 가지를 고려해야하기 때문에 구상하는 데 시간이 많이 투자되었던 것 같다. 그래서 그런지 겉으로 보기엔 약간 지저분한 모습인 게 아쉽다.
- 여러모로 시간도 많이 투자되고 많은 어려움을 겪고 지금 이 모습을 만들게 되었다. 그 과정이 참 여러모로 기억이 남게 되었고 본인 스스로 이 자체를 분석하고 만들었다는 것에 대해서 기분이 좋다.
■ 참고서적 및 사이트
- 참고서적
IAR EWAVR 컴파일러를 이용한 AVR ATMEGA 128 마이크로컨트롤러
(성안당)
- 참고사이트
NTC 뉴테크날러지 회사 사이트
당근이의 AVR 갖고 놀기 까페 .
  • 가격15,000
  • 페이지수30페이지
  • 등록일2010.04.28
  • 저작시기2009.11
  • 파일형식한글(hwp)
  • 자료번호#605994
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니