70 likes | 257 Views
2007 년 1 학기 공학설계입문 중간 발표. 제목 개인용 음성인식 엘리베이터 발표일시 : 2007 년 5 월 08 일. 제 1 조 ( http://explore.kwangwoon.ac.kr/~sorapw00/index.html ) 조장 : 정원육 (2000120712) 조원 : 김재원 (2001711214) 김태우 (2002711235) 최인선 (2007709015). 작품 활동 수행 내용. 제어부 및 모터부 회로 디자인 외형틀 제작 C 프로그래밍 연구 아크릴팔 인용 소형 엘리베이터 제작.
E N D
2007년 1학기공학설계입문 중간 발표 제목 개인용 음성인식 엘리베이터 발표일시: 2007년 5월 08일 제1조 (http://explore.kwangwoon.ac.kr/~sorapw00/index.html) 조장:정원육(2000120712) 조원:김재원(2001711214) 김태우(2002711235) 최인선(2007709015)
작품 활동 수행 내용 • 제어부 및 모터부 회로 디자인 • 외형틀 제작 • C 프로그래밍 연구 • 아크릴팔 인용 소형 엘리베이터 제작
기본적인 작동 순서 • MCU로는 AT89C51을 사용 • 전압 레귤레이터 부분은 7805를 사용 • 세그먼트는 7-segment를 구동하여 각층의 버튼을 눌렀을 때, 그에 해당하는 층 표시 • 처음에 전원을 인가하면 엘리베이터는 1층으로 내려오게 설계, 세그먼트는 1층을 표시 • 원하는 층수를 버튼이나 음성으로 입력하면 층수의 값과 현재 위치하고 있는 층과의 값을 비교하여 위로 갈지 아래로 갈지를 결정 • 리셋 부분은 엘리베이터를 초기화, 기준 층인 1층으로 엘리베이터가 이동 • 소스코드는 c언어로 작성 • 엘리베이터가 원하는 층에 도착하면 led가 켜짐
C 프로그래밍 • #include <io89c51.h> • // 서보의 펄스 길이 조정 • #define S_MAX 3871 • #define S_CEN 2765 • #define S_MIN 1659 • #define LIMIT_SW ((P0&0x20)>>5) // Limit Switch 상태 (0:on 1:off) • #define ONE_FLOOR_HEIGHT 775 • // 8051(AT89c51) 초기화 함수 • void init_port(void); // 포트 초기화 • void init_timer(void); // 타이머(Timer0 and Timer1) 초기화 • void write_SBUF(unsigned char c); • unsigned char read_SBUF(void); • void delay_ms(unsigned int msec); // 시간 지연 함수 • void delay_cycle(unsigned char cycle); • void LED_blink(unsigned char n); • void seven_segment(unsigned char n); • unsigned char SW_value(void); • unsigned char voice_command_value(void); • void door_open(void); • void door_close(void); • void elevator_move(unsigned char floor);
차주의 작품 활동 계획 C 프로그래밍 시리얼통신 음성 모듈에 관한 연구