ESP32 NTC測(cè)溫代碼
ESP32 NTC測(cè)溫代碼
以下是一個(gè)基于ESP32的NTC測(cè)溫代碼的示例:
以下是一個(gè)簡(jiǎn)單的ESP32 NTC測(cè)溫代碼示例:
#include <math.h>
const float R1 = 10000; // 電阻值
const float B = 3950; // B值
const float T0 = 298.15; // 溫度參考值
const float R0 = 10000; // 溫度參考值時(shí)的電阻值
void setup() {
?Serial.begin(9600);
}
void loop() {
?float reading = analogRead(A0); // 讀取NTC電阻值
?float voltage = reading * (5.0 / 1023.0); // 將讀取值轉(zhuǎn)換為電壓值
?float resistance = R1 * (5.0 / voltage - 1.0); // 計(jì)算NTC電阻值
?float temperature = 1.0 / (1.0 / T0 + log(resistance / R0) / B) - 273.15; // 計(jì)算溫度值
?Serial.print("Temperature: ");
?Serial.print(temperature);
?Serial.println(" C");
?delay(1000);
}
這個(gè)代碼示例與前面的示例非常相似,但有一些微小的更改。我們將NTC連接到ESP32的34號(hào)引腳。代碼讀取該引腳上的模擬值,并將其轉(zhuǎn)換為電壓值和電阻值。然后,使用Steinhart-Hart公式計(jì)算溫度值,并將其以攝氏度為單位輸出到串口監(jiān)視器中。
請(qǐng)注意,此代碼中的NTC電阻器是一個(gè)10K歐姆的電阻器。如果您使用不同值的電阻器,則需要相應(yīng)地調(diào)整代碼中的電阻值。