Transcript Group 5
입문설계
디지털 적외선 알람 시계
5조
하덕호 교수님
백승민 200411685
이상진 200830211
이상목 200811650
contents
1. 조 소개
2. 설계 목표 설정
3. 합성
4. 분석
5. 제작
6. 시험
7. 평가
8. 고찰
조원 소개
백승민
(조장)
스케줄 및 프로그램
작성, 장비 합성
중간, 최종 발표
이상목
이상진
PPT 작성
프로그램 작성
장비 구입
장비 합성
설계 목표 설정
적외선 센서가 너무 민감하여
수-발광 다이오드로 교체
합 성
COMEPOSE
모델 원리
•
•
•
•
•
•
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/delay.h>
#include <util/delay.h>
SIGNAL(SIG_INTERRUPT0);
SIGNAL(SIG_INTERRUPT1);
•
•
//함수 선언
int init(void);
•
•
•
•
•
//변수 선언
volatile int i=0, j=0, m=0, u, time_chk;
volatile int chk = 0, time_1s = 0, time_10s = 0, time_1m = 0, time_10m = 0, time_m = 0, time_s = 0;
volatile unsigned int cnt=0;
unsigned char fnd[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67, 0x40}; //FND값
•
•
•
•
//main함수
int main()
{
init();//초기화
•
sei(); //인터럽트활성
모델 원리
•
•
•
•
while(1)
{
time_1m = time_m % 10;
time_10m = time_m / 10;
•
•
time_1s = time_s % 10;
time_10s = time_s / 10;
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
PORTC = 0x0E;
PORTA = fnd[time_10m];
_delay_ms(5);
•
•
PORTC = 0x0D;
PORTA = fnd[time_1m];
_delay_ms(5);
PORTC = 0x0B;
PORTA = fnd[time_10s];
_delay_ms(5);
PORTC = 0x07;
PORTA = fnd[time_1s];
_delay_ms(5);
}
}
return 0;
•
///////////////////////////////////////////////////////////////
/
•
•
•
ISR(TIMER0_OVF_vect)
{
sei();
•
TCNT0 = 0x83; //카운트재설정
•
•
•
•
•
•
•
•
•
•
•
•
•
static int a=0;
if(++a==125)
{
if(time_s <= 1)
{
if(time_m > 0)
{time_m--;
time_s = 59;}
}else
{
time_s--;
}
cnt++;
모델 원리
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
if(cnt==30) PORTB = 0x00;
if(cnt==time_chk)
{ time_s = 0;
time_m = 0;
TIMSK = 0x00;
if(chk == 0)
{
for(;;){
PORTB = 0x01;
_delay_ms(500);
PORTB = 0x00;
_delay_ms(500);
PORTB = 0x01;
_delay_ms(500);
PORTB = 0x00;
_delay_ms(500);
PORTB = 0x01;
_delay_ms(500);
PORTB = 0x00;
_delay_ms(500);
PORTB = 0x01;
_delay_ms(1000);
PORTB = 0x00;
_delay_ms(500);
if(chk == 1) break;
}
}else
{
PORTB = 0x00;
}
}
a=0;
•
•
•
•
•
•
•
•
•
}
//초기화 함수
}
•
•
•
•
•
int init(void)
{
DDRA = 0xFF;
DDRC = 0xFF;
DDRB = 0x03;
•
•
•
•
•
•
•
•
•
•
//타이머카운터
TCCR0 = 0x07; //분주비 1024
TIMSK = 0x01; //overflow 인터럽트
TCNT0 = 0x83; //카운트수치 저장
}
EICRA = 0xFF;
EICRB = 0x00;
EIMSK = 0x0F;
return 0;
모델 원리
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
SIGNAL(SIG_INTERRUPT1)
{
cli();
if(chk == 0)
{
chk = 1;
}else
{
chk = 0;
}
sei();
}
SIGNAL(SIG_INTERRUPT0)
{
cli();
}
time_m++;
time_s = 0;
time_chk = time_m * 60;
sei();
분석
Analysis
분 석
• AVR ATMEGA 128 을 C언어로 코딩
– 마이크로프로세서, 프로그래밍 실습 수업내용을 바탕으로 코딩
• FND로 디지털 시계 구현 or 디지털 시계를 연결
– FND를 사용하여 디지털 시계구현 (delay 함수, timer 이용)
• 적외선 센서를 PORT에 연결하여 on/off신호 입력
– 외부 입력 PORT를 사용하여 C언어 코딩으로 함수입력
– 알람 on/off 확인
제 작
Production
모델 정의
디지털 적외선 알람 시계(avr KIT)
시계 내부에서 적외선 센서를 이용하여 인체를
감지하여 알람을 ON/OFF 하는 시계.
하지만 모델 합성 도중 적외선 센서가 너무 민감
하여 우리 조가 원하는 결과를 얻지 못함.
그래서 적외선 센서대신에 수-발광 다이오드를 이
용하여 빛을 차단 및 통과 시킴으로써 알람을
ON/OFF 시키는 모델로 변경
모델 재료 (적외선 센서)
적외선 센서 DC인체감지센서(KC7783)
•Operation Volage = 4 - 12V
• Operation Current = 400㎂ at 5V
• PIR Input Gain = 68dB
• Output Pulse Width = 0.5 sec min
•Operation Temperature = -20℃ -50℃
모델 재료
Ocl- 1ml2 발광 다이오드
Alpha- 1205s 부져
Option-1mla 수광다이오드
시 험
T.E.S.T
현실적 제한조건
현실적 제한 조건
• 경제성
–
–
–
–
–
일반 디지털 알람 시계에 적외선 센서, AVR ATMEGA128 부착
센서 부착으로 인한 디지털 알람 시계 가격상승
대량 생산 시 단가 하락
그러나 비슷한 아이템의 디지털 알람 시계 다수 판매중
많은 획기적인 상품에 비해 경쟁성 뒤처짐
• 환경 보건 및 안전
– 적외선 센서는 인체에 무해하다
– 다른 디지털 가전과 다름없는 환경 보건 및 안전 수준이다
현실적 제한 조건
• 미학(디자인)
– 겉의 외장은 설계시 배제를 하여 정확히 표현하지 못함
– 수발광 다이오드와 부져, 적외선 센서의 부착으로
디지털 시계의 소형화는 다소 무리
• 생산성 및 산업표준
– 기본 AVR ATMEGA 128 사용으로 생산성 이 비효율적임
– (만약 다른 마이크로 컨트롤러를 사용한다면 코딩을 새로
– 해야 하기 때문에 이 설계 제품은 AVR전용임)
현실적 제한 조건
• 내구성
– 타 제품과 비교하여 저가의 다이오드를 부착.
– 내구성 면에서 다소 떨어지는 현실
• 사회
– 비슷한 아이템을 모방했다는 면에서 사회적으로 지적을
받을 수는 있음.
• 윤리
– 모방 아이템이라는 점에서 윤리적 문제 발생
고찰
제품을 직접 설계 및 제작하여 평가를 받는 다는 것에 처
음엔 조원 모두가 부담을 느꼈습니다. 하지만 하나의 제
품을 우리 손으로 만든다는 것에 상당한 만족감을 느꼈고,
좀 더 이해정도 부분에서 도움이 된 것 같아 만족스럽습
니다. 중간에 시행착오가 여러 번 발생 하였지만, 결과적
으로 완성된 결과물을 내보일수 있어서 뜻 깊은 기회가
아니었나 싶습니다. 입문설계라는 수업이 우리가 책으로
만 배운 지식을 단순 시험만을 위해 사용하지 않고 실제
로 실 사용을 위해 설계를 해보았다는 것 이 매우 뜻 깊은
경험 인 것 같습니다.
감사 합니다
Thank you very much