검색어 입력폼
평가점수A

atmege128을 이용한 습도경보기

저작시기 2013.06 |등록일 2014.06.03 파일확장자압축파일 (zip) | 49페이지 | 가격 4,000원

목차

1. Title
2. Name
3. Abstract
4. Background
5. 코딩 및 결과
6. Result
7. Analysis
8. Conclusion
9. References

본문내용

- 기존의 AVR보드를 이용해 응용회로를 추가해 새로운 기능을 가진 AVR보드 제 작을 목적으로 한다.
- 기본 AVR보드에 808H5V5의 소자를 이용하여 회로를 구성 한 후 추가하여 현 재 습도를 측정하는 디지털 습도계를 구현
- 습도 경보 울릴시 모터를 작동하여 습기 제거하는 기능 구현
- Timer0를 이용하여 평상시에 시계기능을 동시에 할 수 있도록 구현.
- 실습한 LED제어를 이용하여 습도계와 비슷하게 습도에 따른 변화를 구현.
- LCD 제어를 통한 시간과 현재 습도의 화면 표시.
- 인터럽트 및 스위치를 이용한 습도정지 및 시간 설정, 습도 정지 기능 구현.
- 부저를 이용한 습도상승 시에 경보기 역할 구현.
- 습도상승 시에 LED및 LCD의 화면 출력을 이용한 경보 표현.
- 경보 울릴 시 UART를 이용하여 제어한다.

<중 략>

- 이 함수는 ADC컨버터를 초기화하고 디지털로 변환된 아날로그 값을 받아오는 함수를 선언한 부분이다.
atmega128의 ADC모듈은 10비트 연속 비교방법을 이용. 최소값은 GND값.
void adc_init(void)가 컨버터를 초기화 하는 함수로 ADMUX = 0x40으로 하여 ADC의 기준 전압을 AVCC단자( 0x40) 전압인 5V로 선택한다. ADCSRA = 0xA5로 하여 ADC동작을 허용하고 free running mode로 설정하며 프리스케일러를 32분주로 설정한다.
비트 7의 ADEN을 1로 하면 A/D컨버터의 모든 동작이 허용. 0으로 하면 모든 동작이 금지된다. 따라서 ADEN을 1로 한다
ADMUX |= 0x40은 ADSC비트를 1로 하여 A/D변환을 시작한다.
uint16_t get_adc(uint8_t channel)은 MUX를 조작하여 ADC의 채널을 선택하고 그 결과 값을 result값에 저장하는 부분으로 오차를 줄이기 위해 16번 ADC를 하여 평균한다.

참고 자료

없음

압축파일 내 파일목록

습도경보기.hwp
다운로드 맨위로