아트메가/활용

아트메가를 사용한 디지털 온도계

원원 2017. 7. 7. 14:45

안녕하세요. 이번에는 아트메가8를 이용하여 디지털 온도계를 만들어보겠습니다.

세븐세그먼트에 실내온도를 표시하고 온도에 따라서 LED가 켜지게 할것입니다.


30도 이상 - 초록LED

21~29도  - 노랑LED

20도 이하 -빨강LED


전원은 9V건전지를 사용하고 7805를 이용하겠습니다.


부분 설명

-7805

7805는 전압을 변경해주는 IC로써 IN과 GND에 전원을 연결하고 5V와 GND를 아트메가에 연결하면 됩니다.



-LM35


LM35는 온도감지 센서로써 5V와 GND에 전원을 입력하고 OUT으로 센서값을 얻어오면 됩니다.




-세븐세그먼트





필요재료


만능기판, ATMEGA8 , 외부클럭, 7805, 세븐세그먼트, LM35(온도센서), 스위치





만든과정


적절한 위치에 소자들을 납땜합니다.




세븐세그먼트를 세우기위해서 연장선을 연결한 모습입니다.



완성되었습니다.





소스코드


 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#define F_CPU 16000000UL     // 16 MHz
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include "adc.h"
#include "segmentled.h"
  
  
 
 
int main(void)
{
    adc_init();
    segment_init();
    while(1)
    {
        int_temp=ADC*500/1000;
        setNum(int_temp);
        displayNum();
        led_temp();
  
         
    }
cs

헤더파일은 adc포스팅한 글에 있습니다~