목차
[WAT-S010] 아날로그 온도 센서
본 제품은 [WAT-SK114]중요한 아두이노 센서키트(초급) 중 10번째 모듈로 아날로그 온도 센서입니다.

핀 번호
| 번호 | 핀명 | I/O | 기능 |
|---|---|---|---|
| 1 | A0 | Analog Output | 아날로그 출력 |
| 2 | G | GND | GROUND |
| 3 | + | VCC | VCC |
| 4 | D0 | Digital Output | 디지털 출력 |
WAT-Arduino128 예제
핀 연결
| 번호 | I/O | WAT-Arduino128 |
|---|---|---|
| 1 | AO | A0 (PF0) |
| 2 | G | GND |
| 3 | + | 5V |
| 4 | DO | x |

소스코드
최신 소스코드는 [파일]=>[예제]=> [WhiteAT]=>[Sensor37] => [10_AnalogTemperature] 에 있으며
라이브러리는 아두이노 개발환경 (https://docs.whiteat.com/?page_id=5449) 을 참조하세요
/*
[WAT-SK114]중요한 아두이노 센서키트(초급) 예제 중 10 번째
WAT-Arduino128 과 [WAT-S010] 아날로그 온도 센서 예제입니다.
WAT-Arduino128 : https://kit128.com/goods/view?no=64
[WAT-SK114] 중요한 아두이노 센서키트 (초급): https://kit128.com/goods/view?no=114
[WAT-S010] 아날로그 온도 센서 모듈 : https://kit128.com/goods/view?no=358
출처: http://whiteat.com/Arduino
*/
int S = A0; // INPUT PIN
// 프로그램 시작 - 초기화 작업
void setup()
{
Serial.begin(115200); // 시리얼 통신 초기화
Serial.println("Arduino Examples - Analog Temperature Sensor");
Serial.println(" https://docs.whiteat.com/?p=1161");
pinMode(S, INPUT);
}
int adcvalue = 0;
void loop()
{
adcvalue = analogRead(S);
Serial.print("S="); Serial.print(adcvalue, DEC);
adcvalue = GetTemper(adcvalue);
Serial.print(", T="); Serial.print(adcvalue / 10, DEC);
Serial.print("."); Serial.println(adcvalue % 10, DEC);
delay(100);
}
int GetTemper(int v)
{
// 29.0 도 일때 adc 값 172
// 34.1 도 일때 adc 값 160
return ( v-172 )* ((341 - 290) / (160 - 172)) + 290;
}
결과 화면
평상시 ADC값은 167 이며 29.9도 입니다.(실험 당일은 후텁지군 하네요^^)
센서에 입김을 넣으니 순간적으로 143에 40도 까지 올라갑니다.
위에 사용된 GetTemper() 함수는 아주 심플하게 제작된 함수이며 센서마다 다를 수 있으며 정밀한 데이터를 원한다면 테이블로 작성하여 사용하는 것이 좋습니다.

Arduino UNO R3 예제
핀 연결
| 번호 | I/O | UNO R3 |
|---|---|---|
| 1 | AO | A0 |
| 2 | G | GND |
| 3 | + | 5V |
| 4 | DO | x |

소스코드
최신 소스코드는 [파일]=>[예제]=> [WhiteAT UNO]=>[Sensor37] => [10_AnalogTemperature] 에 있으며
라이브러리는 아두이노 개발환경 (https://docs.whiteat.com/?page_id=5449) 을 참조하세요

/*
[WAT-SK114]중요한 아두이노 센서키트(초급) 예제 중 10 번째
UNO 와 [WAT-S010] 아날로그 온도 센서 예제입니다.
UNO R3 : https://kit128.com/goods/view?no=337
[WAT-SK114] 중요한 아두이노 센서키트 (초급): https://kit128.com/goods/view?no=114
[WAT-S010] 아날로그 온도 센서 모듈 : https://kit128.com/goods/view?no=358
출처: http://whiteat.com/Arduino
*/
int S = A0; // INPUT PIN
// 프로그램 시작 - 초기화 작업
void setup()
{
Serial.begin(115200); // 시리얼 통신 초기화
Serial.println("Arduino Examples - Analog Temperature Sensor");
Serial.println(" https://docs.whiteat.com/?p=1161");
pinMode(S, INPUT);
}
int adcvalue = 0;
void loop()
{
adcvalue = analogRead(S);
Serial.print("S="); Serial.print(adcvalue, DEC);
adcvalue = GetTemper(adcvalue);
Serial.print(", T="); Serial.print(adcvalue / 10, DEC);
Serial.print("."); Serial.println(adcvalue % 10, DEC);
delay(100);
}
int GetTemper(int v)
{
// 29.0 도 일때 adc 값 172
// 34.1 도 일때 adc 값 160
return ( v-172 )* ((341 - 290) / (160 - 172)) + 290;
}
결과 화면
평상시 ADC값은 167 이며 29.9도 입니다.(실험 당일은 후텁지군 하네요^^)
센서에 입김을 넣으니 순간적으로 143에 40도 까지 올라갑니다.
위에 사용된 GetTemper() 함수는 아주 심플하게 제작된 함수이며 센서마다 다를 수 있으며 정밀한 데이터를 원한다면 테이블로 작성하여 사용하는 것이 좋습니다.

제품 구매
[WAT-SK114] 중요한 아두이노 센서키트(초급) 은 https://kit128.com/goods/view?no=114 에서
[WAT-S010] 아날로그 온도 센서 모듈은 https://kit128.com/goods/view?no=358 에서 구매하실 수 있습니다.
