반응형

 

아두이노. NTC 온도 센서로 만든 온도계 

글.  오상문 sualchi@daum.net 

 

이번 예제는 NTC 온도센서를 이용하여 온도를 측정하고 그 값을 출력하는 예제입니다. 

 

준비물: 아두이노 우노, 미니 브레드보드, ntc 온도센서, 10K 저항 1개

 

회로 배치도는 다음과 같습니다. 

 

 

 

 

 

소스 코드는 다음과 같습니다. 

참고로 측정된 온도 값을 섭씨 온도로 바꾸려면 좀 복잡한 계산이 필요합니다.  

 GetTemperature () 함수가 그 계산을 하는 부분입니다.

 

 /* 

 *  NTC 온도센서 예제 

 */

#include <math.h>

 

double temperature = 0.0;

 

double GetTemperature(int t) 

{

  double temp;

  temp = log(10000.0 / (1024.0 / t - 1));

  temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741*temp*temp))*temp);

  return (temp - 273.15);  // 섭씨 온도로 변환 

}

  

void setup() {

  Serial.begin(9600);  

}

 

void loop() {

  Serial.write("온도: ");

  temperature = GetTemperature(analogRead(A0));  

  Serial.println(temperature);

  delay(1000);

}

 

아두이노 보드에 업로드한 다음에 우측상단의 시리얼 모니터 아이콘을 클릭하면 

측정한 온도 값을 볼 수 있습니다.

 

 

 

에어컨을 꺼놨더니 실내 온도가 어느 새 28도였습니다. (다른 전자 온도계도 28도였음)

중간에 29도 넘어가는데, 제가 손가락을 센서에 대서 일부러 온도가 변하나 확인한 겁니다. ^^ 

 

<이상>

 

 

반응형

+ Recent posts