AVR

아두이노 Uno + Thermistor 온도센서 사용해보기

by 디케 posted Aug 05, 2012
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

아두이노 Uno + Thermistor 온도센서 사용해보기


참고 :  http://pepsiman.tistory.com/128



궁금한 점 : 저기서 저항을 - 쪽에 왜 다는지 모르겠음???


1. 구성물


MPU UNO 보드(아두이노 UNO 호환보드) + USB 케이블



2.jpg



 Thermistor 온도센서  - 1개 - 아날로그 입력이라 그런가??? ㅋ 특별한 극성이 없음을 알았다.

  - 10Kohm 5pie 5%  NTC-10KD-5J



1.jpg



저항 1개, 각종 점퍼케이블



2. 회로도



회로는 써미스터의 출력값이 저항값이기 때문에 전압 나눔회로를 만들어서 저항을 측정했습니다.


기준 저항은 10K옴 입니다.
측정은 아두이노 0번 아날로그핀으로 했습니다.


3. 사진 및 동영상

CAM00703.jpg




 


 

4. 프로그래밍

int analPin = 0;
int ledPin = 13;   // select the pin for the LED
int val = 0;       // variable to store the value coming from the sensor
long x=0, vcc=4840;
float th=0,ce=0;

void setup() {
  pinMode(ledPin, OUTPUT);  // declare the ledPin as an OUTPUT
  Serial.begin(9600);
}

void loop() {
  val = analogRead(analPin);    // read the value from the sensor
  digitalWrite(ledPin, HIGH);  // turn the ledPin on
  x = map(val,0,1023,0,vcc);
  th = (((float)(vcc-x)*10.0)/(float)x)*1000.0;
  ce = ((log(4.0*th - 3000.0) / (-0.024119329) + 473)-32.0)/1.8;
  
  //Serial.print(vcc-x);
  //Serial.print(", ");
  //Serial.print(x);
  //Serial.print(", ");
  //Serial.print(th);
  //Serial.print(", ");
  Serial.println(ce);
  digitalWrite(ledPin, LOW);   // turn the ledPin off
  delay(200);                  // stop the program for some time
}