ATmega128과 Code vision C-compiler를 이용한 자동문 구현
본 자료는 4페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
해당 자료는 4페이지 까지만 미리보기를 제공합니다.
4페이지 이후부터 다운로드 후 확인할 수 있습니다.

본문내용

있기 때문에 무한loop로 되어있다. 우선 반복적으로 A/D converter에서 현재 변환되어진 digital값을 읽어서 ADCW라는 변수에 저장한다. 만약 ADCW값이 400을 초과한다면 첫 번째 if으로 들어오게 된다. 400을 초과했다는 의미는 물체가 motion sensor에 감지되었다는 의미이므로 적색LED에 +5V를 주어 LED를 on상태로 만들어 감지되고 있음을 알려준 후 count라는 변수에 1을 추가시켜준다. 여기서 count라는 변수를 굳이 준 이유는 motion sensor가 상당히 민감하여 불필요하게 지나가는 물체에 대해서도 감지가 되기 때문이다. 이 부분은 특별히 교수님께서 소프트웨어적으로 구현해보라는 advice가 있었기 때문에 구현해 보았다. 다시 말하면 자동문을 통과하여 내부로 들어오는 사람들이 아니라 내부에 들어가고자 하는 의도없이 그냥 자동문 근처를 지나가는 사람들에 대해서 sensor가 반응하여 자동문이 열리게 되는 점을 보완한 것이다. 따라서 감지가 1번 될 때마다 count의 수는 1씩 증가하게 되어 count수가 50이상이 되면 두 번째 if문으로 들어오게 되며 hyperterminal에 "!!!Open Door!!!"를 표시하게 된다. 후에 자동문이 동작한다는 것을 알려주기 위해 녹색 LED에 불이 들어오게 되며 motor를 on상태로 만들어준 후 motor를 정방향으로 2초동안 구동시키고 2초동안 정지시킨 후 다시 2초동안 역회전을 시킨 다음 녹색 LED를 off시킨다. 만약 처음부터 ADCW값이 400을 넘지 않는다면 else문으로 건너가 hyperterminal에 "Not detected"를 표시하게 된다.
현재 구현하고자 하는 자동문은 외부에서 내부로 들어올 때는 motion sensor에 의한 감지로 인하여 자동문이 작동하고 내부에서 외부로 나갈 때는 사람이 직접 자동문 옆에 부착된 스위치를 눌러서 자동문을 작동시키는 방식이다. 따라서 그 다음 줄부터는 micro-switch를 통해 motor를 작동시키는 부분이다. 만약 switch를 누르게 되면 input인 Port B의 4번 pin에 digital값인 1(high:+5V)이 들어오게 된다. 지속적으로 4번 pin의 digital 값을 변수 a에 대입시키고 만약 1이 들어오게 된다면 if문 안으로 들어오게 된다. if안으로 들어와서의 방식은 sensor에서 구동되었던 방식과 동일하며 if문 안으로 못들어오고 else문으로 건너뛸 경우에는 hyperterminal에 "Switch off"를 표시하게 된다.
6. 구동 결과
최종적으로 만들어진 자동문 mechanism은 상당히 잘 작동되었다. sensor는 약 1m내외의 거리에서 정확히 물체의 유무를 판단 할 수 있었고 일정시간동안 sensor에 감지되면 DC motor는 정방향으로 2초동안 구동된 후 2초동안 정지되었다가 마지막으로 2초동안 역방향으로 구동되어졌다. micro-switch를 누르게 되어도 역시 잘 motor가 구동되어졌다. 또한 sensor의 감지상태를 알리기 위해 부착한 적색 LED도 sensor에 물체가 감지될때 정확히 작동하였으며 자동문의 구동상태를 표시하기 위해 부착한 녹색 LED도 motor가 구동되고 멈춘 후 역방향으로 구동될 때 까지 정확히 작동되어졌다. DC motor에 대한 정방향과 역방향 구동문제가 이번 project의 관건이었는데, 조교의 조언을 받아 정방향과 역방향을 제어할 수 있는 digital 방식의 ‘DC motor drive module’이라는 기기를 활용하였고 0(0V)은 정방향, 1(+5V)은 역방향으로 motor의 방향제어 뿐만아니라 motor의 on/off 상태를 제어하여 자동문의 결정적인 작동방법을 구현하는 최종결과를 얻었다.
<그림 6-1. 구동 결과 사진>
7. 고찰
전반적인 C programing의 지식이 부족한 상태에서 어떤 project를 설계하고 구현하는 것에 대해 많은 제약이 있었지만 최대한 수업시간에 배운 지식을 토대로 응용해보고자 노력하였다. C programing중 모르는 부분이 있으면 도서관에서 C에 관한 기초책자를 빌려서 공부하여 programing하였으며, 특히 교수님께서 구현해보라고 advice해주신 count부분(일정시간동안 sensor에 감지되어야 자동문이 구동되는 부분)은 실질적인 C code 부분은 몇 줄 되지 않았지만 몇날몇일을 고민하며 도서관의 C관련 도서들을 뒤져보았던 기억이 떠오른다. 그 뿐만아니라 자동문의 대한 작동 방식에 대해서 여러방면으로 자료를 찾아보았지만 별 다른 정보를 얻지 못하여 교내 K동 입구에 있는 자동문과 홍대주변 상가들을 방문, 건물 및 상가에 설치되어 있는 자동문에 대해서 유심히 관찰 하였다. 원래 계획은 자동문 mechanism뿐만 아니라 자동문과 관련 요소를 아크릴판으로 만들어 자동문 상단에 rack gear를 부착하고 motor에 pinion gear를 부착하여 실제로 작동하는 소형의 자동문을 만들어보려 했으나 rack gear를 가공하는데 필요한 금전적, 시간적인 문제 때문에 구현하지 못한 것이 가장 큰 아쉬움으로 남는다. 앞으로 기회가 된다면 DC motor보다 보다 더 정확한 제어가 가능한 step motor를 이용하여 자동문을 만들어 보고 싶다. 마지막으로 한 학기동안 수고해주신 교수님과 project를 진행하면서 궁금한 점이 있을 때마다 친절하게 조언을 해주고 장비를 빌려준 조교에게 감사의 말씀을 드리고 싶다.
8. 참고서적
C언어기초+α, Mitchell Waite, Stephen Prata, Donald Martin 원저, 황희웅 편역, 교학사
열혈강의 C 프로그래밍, 윤성우 저, 프리렉
뇌를 자극하는 C 프로그래밍, 서현우 저, 한빛미디어
원리를 일깨우는 C 프로그래밍, 김한용 저, 웰북
AVR ATmega 128 정복, 윤덕용 저, Ohm사
AVR-GCC I Love Atmega 128, 황해권 저, 복두출판사
알기쉽게 배우는 AVR ATMEGA 128, 신동욱 저, Ohm사
IAR EWAVR컴파일러를 이용한 AVR ATMEGA128 마이크로컨트롤러, 송봉길 저, 성안당
  • 가격5,000
  • 페이지수12페이지
  • 등록일2008.03.30
  • 저작시기2007.12
  • 파일형식한글(hwp)
  • 자료번호#458627
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니