[AVR 마이크로프로세서] 장애물 감지 및 온습도 측정 6족로봇
- 최초 등록일
- 2004.10.03
- 최종 저작일
- 2004.09
- 61페이지/
한컴오피스
- 가격 10,000원
![할인쿠폰받기](/images/v4/document/ico_det_coupon.gif)
소개글
정말 많이 노력하여 만든 자료입니다.
궁금한게 있으면 메일 주시길 바랍니다.
nona78@hanmail.net
목차
1.1기본원리
1.2구현내용
1.3로봇동작 메인프로그램
1.4장애물감지 센서프로그램
1.5온도프로그램
1.6습도프로그램
2.1메인회로설명
2.2온도회로
2.3다리부분
2.4습도회로
본문내용
전원 스위치를 켜면 ATmega8L에 전원이 들어가고 시스템이 초기화 된다. 그것은 양쪽에 달린 LED가 수초간 깜빡거리는 것으로 표시하였다. 초기화 시에는 3개의 서보모터가 프로그램에 지정된 값으로 초기화 되면서 모터가 시작 위치로 이동하게 된다. 그리고 나서, 로봇이 전진하게 된다. AT90S2313으로 구성된 적외선 센서부에서 물체가 감지되어 인터럽트 신호가 들어오기 전까지는 로봇이 계속하여 전진하게 된다.
만약 적외선 센서부에서 장애물이 감지되게 되면, 장애물이 감지되었다는 신호로 감지된 장애물 쪽의 LED가 깜빡이고, 그 장애물을 피하기 위해서 로봇이 잠시 후진하였다가 장애물이 없는 방향으로 전환하여 다시 전진하게 된다. 인터럽트 신호가 감지되면, 일단 다른 인터럽트 신호를 받지 않고, 먼저 들어온 신호를 먼저 처리한다.
적외선 센서가 있는 AT90S2313에서의 ISP회로를 구성하여 ATmega8L에 프로그램을 구워넣을 수 있게 하였다.
2.2.2.2.2 세부동작사항 설명
전원이 켜짐과 동시에 칩이 동작하면서, PD2와 PD3를 통해 0 신호를 내보냈다가 다시 1이라는 신호를 내보내면서 LED를 켰다 껐다 하면서 시스템이 초기화 되었음을 알려준다. 1신호가 나가면 LED에 전류가 흐르지 않아서 불이 꺼지고, 0신호가 나가면 LED에 불이 켜지게 된다. 그리고, PB0를 통해서 왼쪽 서보모터에 모터의 초기값인 140을 보내주고, PB1을 통해서 오른쪽 서보모터에 마찬가지로 오른쪽 서보모터의 초기값인 120을 보낸다. 그리고 PB2를 통해서 가운데 서보모터에 초기값인 110을 보내준다. 이 초기값을 통해서 모터가 셋업된다. 즉 출발 준비를 완료하게 되는 것이다.
이렇게 초기화와 출발 준비가 완료되고 나면 로봇이 전진하게 되는데, 프로그램을 통해서 각각의 서보모터에 출력핀인 PB0에서 2까지 적당한 값을 주면서 전진하게 된다.
칩에서 별다른 인터럽트가 들어오지 않으면 로봇은 계속 전진을 하게 된다. 이렇게 전진을 하다가 장애물
참고 자료
http://atmel.com
http://eleparts.co.kr