본문 바로가기

Arduino/[2] Arduino Module

[Arduino Module] #18. 아날로그 온도센서 모듈

728x90
반응형

아날로그 온도센서 모듈

아날로그 온도센서모듈은 NTC 서미스터를 사용하는 온도센서모듈이다.

온도가 상승하게 되면 저항이 증가하는 방식으로 전압분배 방식으로 아날로그가 출력된다.

 

KY-013 센서의 특징은 다음과 같다.

작동 전압 5V
온도 측정 범위 -55 ° C ~ 125 ° C [-67 ° F ~ 257 ° F]
측정 정확도 ± 0.5 ° C

KY-013 센서 동작 원리

Arduino 용 아날로그 온도 센서 모듈 KY-013은 서미스터의 저항을 기반으로 주변 온도를 측정한다. KY-013 아날로그 온도 센서 모듈은 NTC 서미스터와 10kΩ 저항으로 구성된다. 서미스터의 저항은 주변 온도에 따라 달라진다. Steinhart–Hart 방정식을 사용하여 서미스터의 정확한 온도를 유도한다.

 

센서는 수학을 통해 저항 변화에 가까워지고 선형 코스로 변환할 수 있다.  이를 통해 온도 계수를 결정할 수 있다.  현재 저항을 알고 있다면 실제 온도를 결정할 수 있다. 이 저항은 알려진 전압이 알려진 저항과 알려지지 않은 (가변) 저항 사이에서 분할되는 전압 디바이더를 통해 결정할 수 있다. 이 전압으로 저항의 저항을 결정할 수 있다. 

회로도

출처: https://m.blog.naver.com/compass1111/221282232417

PIN
이름
기 능
1
-
GND
2
 
5V
3
S
Signal(아날로그 출력)

 

아날로그 온도센서의 값을 입력받는 헤더 파일은 아래의 깃허브에서 적용한다.

https://github.com/themactep/KY013

 

GitHub - themactep/KY013: Arduino library for KY-013 analog temperature sensor module

Arduino library for KY-013 analog temperature sensor module - themactep/KY013

github.com

 

 헤더파일은 아두이노가 저장되는 폴더의 libraries에 저장한다. 이때 cpp과 ino파일 모두 다운로드해야 한다. 

코드: 일반적인 출력

int AnalogPin = A0;    // Analog input
int DigitalPin = 7;  // Digital input
int LedPin = 13;     // select the pin for the LED
int gValue = 0;     // variable for Sensor Data

void setup (){
  pinMode (LedPin, OUTPUT);
  Serial.begin (9600);
}

void loop (){

  gValue = analogRead(AnalogPin);

  if (gValue>500) {digitalWrite (LedPin, HIGH);}
  else {digitalWrite (LedPin, LOW);}

  Serial.print ("Sensor Value : ");
  Serial.println (gValue, DEC);

  delay(500);

}

코드: KY013 헤더 파일 이용

#include <KY013.h>

#define PIN A0

KY013 thermistor(PIN);

void setup() {
  Serial.begin(9600);
}

void loop() {
  float temp = thermistor.readTemperatureC();
  Serial.print(temp);
  Serial.println("C");
  delay(1000);
}
728x90
반응형
댓글