반응형

ESP32 에는 기본적으로 온도센서를 내장하고 있다. 이를 사용하는 방법을 알아보려고 한다. 



위 ESP32 블록 다이어그램을 보면 온도센서가 있음을 알 수 있다. 소스는 구글링을 통해서 가지고 왔다. 


■ 스케치

소스출처 : https://gist.github.com/xxlukas42/7e7e18604f61529b8398f7fcc5785251


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifdef __cplusplus
extern "C" {
#endif
uint8_t temprature_sens_read();
#ifdef __cplusplus
}
#endif
uint8_t temprature_sens_read();
 
void setup() {
  Serial.begin(115200);
}
 
void loop() {
  Serial.print("Temperature: ");
  
  // Convert raw temperature in F to Celsius degrees
  Serial.print((temprature_sens_read() - 32/ 1.8);
  Serial.println(" C");
  delay(5000);
}
cs



그런데 위와 같이 작성하고 실행을 해 보니 이상하다.


위와 같이 시리얼 모니터에 똑같은 온도만 계속 표시가 된다. 그리고 너무 높다. 방 안의 온도가 현재 20도 정도인데 53도 라니...


왜 그런지 모르겠다. 칩 자체의 온도가 높은건가? 소숫점 2째자리 까지 표시가 되는데 하나도 변화가 없는 것이 제대로 측정되지 않는 것 같다. 


혹시 왜 그런지 아는 분들의 댓글 바란다.

반응형

+ Recent posts