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