介紹
LM35溫度傳感器
LM35 是一款溫度傳感器,可測量 -55°C 至 150°C 範圍內的溫度。
它是一個 3 端器件,可提供與溫度成比例的模擬電壓。溫度越高,輸出電壓越高。
輸出模擬電壓可以使用 ADC 轉換為數字形式,以便微控制器可以處理它。
有關 LM35 及其使用方法的更多信息,請參閱傳感器和模塊部分中的主題 LM35 溫度傳感器。
NodeMCU ADC 可用於測量來自 LM35 的模擬電壓以及與模擬電壓成比例的溫度。要了解 NodeMCU 的 ADC,請參閱 NodeMCU ADC with ESPlorer IDE和NodeMCU ADC with Arduino IDE。
接口圖
NodeMCU LM35接口圖
例子
這裡,LM35 輸出被提供給 NodeMCU 的模擬引腳 A0。該模擬電壓被轉換為其數字形式並進行處理以獲得溫度讀數。
我們可以用 Lua 腳本或 C/C++ 語言為 NodeMCU DevKit 編寫代碼。我們使用 ESPlorer IDE 用 Lua 腳本編寫代碼,使用 Arduino IDE 用 C/C++ 編寫代碼。要了解更多信息,請參閱 使用 ESPlorer IDE 開始使用 NodeMCU(對 NodeMCU 使用 Lua 腳本)和使用 Arduino IDE 開始使用 NodeMCU(對 NodeMCU 使用基於 C 語言的 Arduino 草圖)。
LM35 的 Lua 腳本
Vref = 3.3
resolution = Vref/1023
analogVtg = adc.read(0)
if analogVtg> 1023 then
analogVtg = 1023
end
temperature = (analogVtg * resolution)*100
print('LM35 Temperature:', temperature)
ESPlorer 串行輸出窗口
用於 LM35 溫度測量的 ESPlorer 串行監視器輸出窗口
用於 LM35 的 Arduino 草圖
float vref = 3.3;
float resolution = vref/1023;
void setup() {
Serial.begin(9600); /* Define baud rate for serial communication */
}
void loop() {
float temperature = analogRead(A0);
temperature = (temperature*resolution);
temperature = temperature*100;
Serial.println(temperature);
delay(1000);
}
Arduino 串行輸出窗口
用於 LM35 溫度測量的 Arduino 串行監視器輸出窗口
資料來源:https://www.electronicwings.com/nodemcu/lm35-interfacing-with-nodemcu
沒有留言:
張貼留言