[WAT-S010]중요한 아두이노 센서키트 10번째 [아날로그 온도 센서]

[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 에서 구매하실 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다