계단을 올라가는 6족 개미로봇
닫기
  • 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페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

계단을 올라가는 6족 개미로봇에 대한 보고서 자료입니다.

목차

1. 서론

2. 본론Ⅰ

3. 본론Ⅱ

4. 본론Ⅲ

5. 본론Ⅳ

6. 결과

7. 결론

본문내용

4X",m_cnt);
lcd_puts(sbuf);
sw_process();
senser_off();
/*move_left();
move_right();
move_fwd();
*/
}
}
void sw_process(void){
char tmp[17];
int cnt;
cnt=0;
if (PINB.0 == 0) cnt=cnt+8; //There is a wall at left side
if (PINB.1 == 0) cnt=cnt+1; //-------------------------------------
if (PINB.2 == 0) cnt=cnt+2; // 3 sensers in front of the robot
if (PINB.3 == 0) cnt=cnt+4; //-------------------------------------
if (PINB.4 == 0) cnt=cnt+16; //There is a wall at right side
if (PINB.5 == 0) cnt=cnt+32; //
if (PINB.6 == 0) cnt=cnt+64; // 2 sensers to find stairs
if (PINB.1 || PINB.2 || PINB.3 != 0)
{
if (PINB.5 || PINB.6 == 0)
{
if (cnt == 7) // If there are stairs in front of the robot
{
sprintf(tmp, "Go upstairs");
// up rootine
}
} else
{
sprintf(tmp, "Can't go up");
// find other way.
}
if (PINB.0 == 1)
{
sprintf(tmp, "Turn to right way");
move_right();
}
else if (PINB.4 == 1)
{
sprintf(tmp, "Turn to right way");
move_left();
}
} else
{
sprintf(tmp, "Walking Fwd");
move_fwd();
}
/*
if (cnt == 0) sprintf(tmp,"NO Wall Detected");
else if (cnt == 1) sprintf(tmp, "SW7(PB.0) Press");
else if (cnt == 2) sprintf(tmp, "SW6(PB.1) Press");
else if (cnt == 3) sprintf(tmp, "0&1 Pressed");
else if (cnt == 4) sprintf(tmp, "SW5(PB.2) Press");
else if (cnt == 5) sprintf(tmp, "0&2 Pressed");
else if (cnt == 6) sprintf(tmp, "1&2 Pressed");
else if (cnt == 7) sprintf(tmp, "0&1&2 Pressed");
else if (cnt == 8) sprintf(tmp, "SW4(PB.3) Press");
else if (cnt == 9) sprintf(tmp, "0&3 Pressed");
else if (cnt == 10) sprintf(tmp, "1&3 Pressed");
else if (cnt == 11) sprintf(tmp, "0&1&3 Pressed");
else if (cnt == 12) sprintf(tmp, "2&3 Pressed");
else if (cnt == 13) sprintf(tmp, "0&2&3 Pressed");
else if (cnt == 14) sprintf(tmp, "1&2&3 Pressed");
else if (cnt == 15) sprintf(tmp, "0&1&2&3 Pressed");
else if (cnt == 16) sprintf(tmp, "SW3(PB.4) Press");
else if (cnt == 32) sprintf(tmp, "SW2(PB.5) Press");
else if (cnt == 64) sprintf(tmp, "SW1(PB.6) Press");
*/
lcd_gotoxy(0,1);
lcd_puts(tmp);
}
결론
우리는 2학년에 마이크로프로세서와 컴퓨터 구조에서 디지털 논리 회로와 마이크로프로세서를 배웠고, 기들이 기본이 되는 회로이론과 전자 회로를 시스템 소프트웨어 시간에 마이크로프로세서를 구동할 수 있는 어셈블리어를 배웠다. 하지만 이 역시 책으로만 배웠지 실제로 어떻게 사용하는지는 잘 몰랐다. 말로만 공학인(공돌이)였던 것이다.
하지만 이번 프로젝트를 진행하면서 단지 책에 쓰여져 있는 글자로서만 이런 과목들을 이해한 것이 아니라, 납 연기를 마시고, 인두에 데어가면서, 알맞은 부품을 구하기 위해 청계천과 용산을 구석구석 뒤지면서 책으로 배우던 것과는 다른 어떤 것을 느꼈다. 단지 회로에 흐르는 전류, 전압의 수치를 구하는 것이 아니라 전류가 이렇게 흐르고 전압이 이렇게 걸려서 회로가 이렇게 동작하는 구나. 이렇게 연결 했을 때는 동작하지 않았는데, 커패시터를 연결했더니 동작을 하는구나 이론상이나 회로도 상으로는 분명히 작동을 해야만 하는데 실제로 작동하지 않는 경우도 있구나라고.
처음 졸업 작품을 시작하면서는 다른 학교들은 졸업 잘만 시켜 주는구만 우리 학교는 왜 이러나, 졸업 작품 보다는 취직률을 올리는 게 학교이름을 위해서도 최고가 아닌가 라고 생각했다. 하지만 졸업 작품을 만들면서 이런 생각은 점점 엷어지고 졸업 작품의 본래 목적을 몸으로 느끼게 되었다. 그동안의 이론 수업에 치중했던 전공 과목들의 부족함을 졸업 작품을 만들면서 보완하라는 뜻이란 것을.
실제로 졸업을 하고 취직을 어떤 쪽으로 할지는 모르지만, 우리가 책으로만 배웠던 것 보다는 팀을 짜서 프로젝트를 진행한 것이 실제적 도움이 될 것 같다.
참고문헌
① AT90S2313을 이용한 AVR 마이크로 프로세서 및 로봇 제작 (신대섭, 신준섭 공저 / 세화)
② 예제로 배우는 AVR (김철오, 임규만, 박생하 공저 / 성안당)
③ Bascon-AVR 로봇 스터디1 (이재창, 심광렬, 송경화 공저 / 동일출판사)
④ 마이크로로봇바이블(윤지녕 / 성안당)
⑤ http://www.atmel.com
  • 가격1,500
  • 페이지수35페이지
  • 등록일2006.01.06
  • 저작시기2017.2
  • 파일형식한글(hwp)
  • 자료번호#331624
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니