온도센서

물체의 온도를 감지하여 전기신호로 바꿔주는 센서 (에어컨,보일러,전기밥솥등에서 사용)

온도센서는 온도에 따른 전압의 변화량을 이용하여 온도를 측정하는 센서로써 약간의 오차가 있지만(±2%),

-40℃~120℃까지의 온도를 측정 할 수 있고, 사용하기 편해서 학습용으로 자주 활용 합니다.

부품 수량
아두이노 우노 R3 1
온도센서 1
브레드보드 1
점퍼케이블 3

회로도

브레드보드 레이아웃

연결시 주의사항

PIN1 5V
PIN2 analog입력핀
PIN3 GND

coding

우리 온도센서


float temperature;  
int reading;  
int lm35Pin = 5;

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

void loop()  
{
    reading = analogRead(lm35Pin);
    temperature = reading / 9.31;
    Serial.println(temperature);

    delay(1000);

}

다른온도센서( TMP36)

int outputpin= A5; // 센서와 연결된 아날로그 핀 설정

void setup()
{
  Serial.begin(9600); // 시리얼 통신을 열고 속도를 9600bps 로 사용한다.
}

void loop()
{
  int reading = analogRead(outputpin);  // 센서로 부터 자료값을 받는다.
  float voltage = reading * 5.0 / 1024.0;
  float celsiustemp = (voltage - 0.5) * 100 ; 
  float fahrenheittemp= celsiustemp * 9.0/5.0 + 32.0;
  // 입력받은 자료값을 수정하여 필요한 자료값으로 바꾼다.

  Serial.print(celsiustemp);
  Serial.println(" Celsius");
  Serial.print(fahrenheittemp);
  Serial.println(" Fahrenheit");
  Serial.println("----------------------");
  // 수정하여 나온 자료값을 출력한다.(섭씨, 화씨 둘다 출력)
  delay(1000);
}

소프트웨어 설명

온도 센서에 따라 읽는 방식이 좀 다르다.

현재온도 (섭씨) V(전압)과 C(온도)와의 관계는, V = 0.01C + 0.5*

화씨계산

  • F = (9/5 C) + 32

읽혀진 온도를 시리얼모니터에출력한다.