0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用LM35制作一個Web服務(wù)器

科技觀察員 ? 來源:circuitdigest ? 作者:里沙布·耆那教 ? 2022-11-14 17:15 ? 次閱讀

在本教程中,我們將探索有關(guān)這個有趣的MCU的更多信息,并通過將NodeMCU與互聯(lián)網(wǎng)連接來慢慢地潛入物聯(lián)網(wǎng)世界。在這里,我們將使用此模塊在Web瀏覽器上獲取室溫,即我們將制作一個Web服務(wù)器以LM35作為溫度傳感器顯示溫度。

所需組件:

節(jié)點單片機 - ESP12

LM35 溫度傳感器

面包板

公母連接器

LM35 溫度傳感器:

LM35是一款模擬線性溫度傳感器。其輸出與溫度成正比(以攝氏度為單位)。工作溫度范圍為 -55°C 至 150°C。 輸出電壓變化 10mV 以響應(yīng)oC 溫度升高或下降。它可以采用 5V 和 3.3 V 電源供電,待機電流小于 60uA。

pYYBAGNyB1GAL1c7AAAb9v3BhKE987.jpg

poYBAGNyB1KAEaLWAAApdPrUPjg157.png

請注意,LM35 有 3 個系列變體,即 LM35A、LM35C 和 LM35D 系列。主要區(qū)別在于它們的溫度測量范圍。LM35D 系列設(shè)計用于測量 0 至 100 攝氏度,而 LM35A 系列設(shè)計用于測量 -55 至 155 攝氏度的更寬范圍。LM35C 系列設(shè)計用于測量 -40 至 110 攝氏度。

將 LM35 與 NodeMCU 連接:

下面給出了將LM35與NodeMCU連接的電路圖:

pYYBAGNyB1SAeUHdAACtAtNDllY518.png

LM35 是一個模擬傳感器,因此我們必須將此模擬輸出轉(zhuǎn)換為數(shù)字輸出。為此,我們使用定義為A0的NodeMCU的ADC引腳。我們將 LM35 的輸出連接到 A0。

我們在NodeMCU的引腳上有3.3 V作為輸出電壓。因此,我們將使用 3.3V 作為 LM35 的 Vcc。

poYBAGNyB1WAbeLYAAC1W6ULJKI274.jpg

代碼說明:

本文末尾提供了帶有演示視頻的完整代碼。在這里,我們將解釋代碼的幾個部分。

首先,我們必須包含 ESP8266wifi 庫才能訪問 Wi-Fi 功能。

#include

然后在 ssid 和密碼字段中輸入您的 Wi-Fi 名稱和密碼。還初始化了變量并在波特率為 115200 的端口 80 上啟動服務(wù)器。

const char* ssid = "*********"; // Your ssid

const char* password = "***********"; // Your Password

float temp_celsius = 0;

float temp_fahrenheit = 0;

WiFiServer server(80);

void setup() {

Serial.begin(115200);

通過調(diào)用這些函數(shù)建立 Wi-Fi 連接。

Serial.println();

Serial.println();

Serial.print("Connecting to ");

Serial.println(ssid);

WiFi.begin(ssid, password);

連接可能需要幾秒鐘才能建立,因此請繼續(xù)顯示“...”直到連接不會建立。然后系統(tǒng)將繼續(xù)等待并檢查客戶端連接...

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(".");

}

Serial.println("");

Serial.println("WiFi is connected");

server.begin();

Serial.println("Server started");

Serial.println(WiFi.localIP());

}

在循環(huán)部分中,讀取傳感器值并將其轉(zhuǎn)換為攝氏度和華氏度,并在串行監(jiān)視器上顯示這些值。

void loop() {

temp_celsius = (analogRead(A0) * 330.0) / 1023.0; // To convert analog values to Celsius We have 3.3 V on our board and we know that output voltage of LM35 varies by 10 mV to every degree Celsius rise/fall. So , (A0*3300/10)/1023 = celsius

temp_fahrenheit = celsius * 1.8 + 32.0;

Serial.print(" Temperature = ");

Serial.print(temp_celsius);

Serial.print(" Celsius, ");

在網(wǎng)頁上顯示溫度的 HTML 代碼:

我們在網(wǎng)頁上顯示溫度,以便可以通過互聯(lián)網(wǎng)從世界任何地方訪問它。HTML代碼非常簡單;我們只需要使用 client.println 函數(shù)來回顯 HTML 代碼的每一行,以便瀏覽器可以執(zhí)行它。

這部分顯示用于創(chuàng)建顯示溫度值的網(wǎng)頁的HTML代碼。

WiFiClient client = server.available();

client.println("HTTP/1.1 200 OK");

client.println("Content-Type: text/html");

client.println("Connection: close"); // the connection will be closed after completion of the response

client.println("Refresh: 10"); // update the page after 10 sec

client.println();

client.println("");

client.println("

");

client.print("

Digital Thermometer

");

client.print("

Temperature (*C)= ");

client.println(temp_celsius);

client.print("

Temperature (F) = ");

client.println(temp_fahrenheit);

client.print("

");

client.println("");

delay(5000);

}

加工:

使用 Arduino IDE 上傳代碼后,打開串行監(jiān)視器并按 NodeMCU 上的重置按鈕。

pYYBAGNyB1qAfhkvAACCKzr3VvM298.png

現(xiàn)在,您可以看到該板已連接到您在代碼中定義的Wi-Fi網(wǎng)絡(luò),并且還獲得了IP。復(fù)制此 IP 并將其粘貼到任何 Web 瀏覽器中。確保運行 Web 瀏覽器的系統(tǒng)應(yīng)連接到同一網(wǎng)絡(luò)。

pYYBAGNyB1uAU_ExAAAy2ceF8Y8547.png

您的數(shù)字溫度計已準備就緒,溫度將在每 10 秒后在網(wǎng)絡(luò)瀏覽器中自動刷新。

#include

const char* ssid = "*********"; // Your ssid

const char* password = "***********"; // Your Password

float temp_celsius = 0;

float temp_fahrenheit = 0;

WiFiServer server(80);

void setup() {

Serial.begin(115200);

pinMode(A0, INPUT);

Serial.println();

Serial.println();

Serial.print("Connecting to ");

Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(".");

}

Serial.println("");

Serial.println("WiFi is connected");

server.begin();

Serial.println("Server started");

Serial.println(WiFi.localIP());

}

void loop() {

temp_celsius = (analogRead(A0) * 330.0) / 1023.0; // To convert analog values to Celsius We have 3.3 V on our board and we know that output voltage of LM35 varies by 10 mV to every degree Celsius rise/fall. So , (A0*3300/10)/1023 = celsius

temp_fahrenheit = celsius * 1.8 + 32.0;

Serial.print(" Temperature = ");

Serial.print(temp_celsius);

Serial.print(" Celsius, ");

Serial.print(temp_fahrenheit);

Serial.println(" Fahrenheit");


WiFiClient client = server.available();

client.println("HTTP/1.1 200 OK");

client.println("Content-Type: text/html");

client.println("Connection: close"); // the connection will be closed after completion of the response

client.println("Refresh: 10"); // update the page after 10 sec

client.println();

client.println("");

client.println("");

client.print("

Digital Thermometer

");

client.print("

Temperature (*C)= ");

client.println(temp_celsius);

client.print("

Temperature (F) = ");

client.println(temp_fahrenheit);

client.print("

");

client.println("");

delay(5000);

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 溫度傳感器
    +關(guān)注

    關(guān)注

    48

    文章

    2885

    瀏覽量

    155666
  • LM35
    +關(guān)注

    關(guān)注

    2

    文章

    83

    瀏覽量

    18033
  • Web服務(wù)器
    +關(guān)注

    關(guān)注

    0

    文章

    137

    瀏覽量

    24349
收藏 人收藏

    評論

    相關(guān)推薦

    LM35溫度傳感應(yīng)用及特性

    LM35溫度傳感應(yīng)用及特性 LM35種得到廣泛使用的溫度傳感。由于它采用內(nèi)部補償,所以輸出可以從0℃開始。該器件采用塑料封裝TO9
    的頭像 發(fā)表于 01-16 11:00 ?1.2w次閱讀

    如何使用PIC微控制LM35溫度傳感制作數(shù)字溫度計

    在本教程中,我們將使用 PIC 微控制LM35 溫度傳感制作數(shù)字溫度計。在本項目中,我們將使用 LM35 檢測溫度并將其顯示在 16
    的頭像 發(fā)表于 11-16 15:49 ?3870次閱讀
    如何使用PIC微控制<b class='flag-5'>器</b>和<b class='flag-5'>LM35</b>溫度傳感<b class='flag-5'>器</b><b class='flag-5'>制作</b>數(shù)字溫度計

    LM35溫度傳感

    LM35溫度傳感
    發(fā)表于 08-14 23:30

    使用LM35的冷卻風(fēng)扇控制

    描述使用 LM35 的冷卻風(fēng)扇控制功率元件的高溫是電子學(xué)中的已知現(xiàn)象。為了克服這挑戰(zhàn),設(shè)計人員在組件上安裝散熱
    發(fā)表于 06-30 07:21

    基于LM35溫度傳感的溫控系統(tǒng)設(shè)計

    本文介紹了種應(yīng)用LM35 溫度傳感開發(fā)的溫控系統(tǒng),重點闡述了系統(tǒng)結(jié)構(gòu)、工作原理、采樣值量化。同時對LM35 傳感特性、系統(tǒng)硬件電路設(shè)計
    發(fā)表于 08-04 15:10 ?114次下載

    LM35,datasheet,pdf(Precision C

    The LM35 series are precision integrated-circuit temperaturesensors, whose output voltage
    發(fā)表于 10-20 14:18 ?27次下載

    溫度傳感 LM35介紹

    溫度傳感 LM35介紹 在自動控制、機電整合的應(yīng)用中,溫度的測量為
    發(fā)表于 12-02 10:28 ?2.9w次閱讀

    lm35怎么用(lm35工作原理及內(nèi)部結(jié)構(gòu)_應(yīng)用電路圖)

    LM35種得到廣泛使用的溫度傳感。由于它采用內(nèi)部補償,所以輸出可以從0℃開始。該器件采用塑料封裝TO992,工作電壓4~30V,所以乍看來,它似乎是無需校準的
    發(fā)表于 01-31 10:54 ?6w次閱讀
    <b class='flag-5'>lm35</b>怎么用(<b class='flag-5'>lm35</b>工作原理及內(nèi)部結(jié)構(gòu)_應(yīng)用電路圖)

    lm35測溫電路圖大全(二款lm35測溫電路設(shè)計)

    LM35 是由National Semiconductor 所生產(chǎn)的溫度傳感,其輸出電壓為攝氏溫標。LM35種得到廣泛使用的溫度傳感
    發(fā)表于 01-31 11:21 ?2.4w次閱讀
    <b class='flag-5'>lm35</b>測溫電路圖大全(二款<b class='flag-5'>lm35</b>測溫電路設(shè)計)

    基于LM35溫度傳感的溫控系統(tǒng)設(shè)計

    本設(shè)計介紹了種應(yīng)用LM35溫度傳感開發(fā)的溫控系統(tǒng),重點闡述了系統(tǒng)結(jié)構(gòu)、工作原理以及采樣值量化。同時對LM35傳感特性、系統(tǒng)硬件電路設(shè)計
    發(fā)表于 01-31 11:39 ?8154次閱讀
    基于<b class='flag-5'>LM35</b>溫度傳感<b class='flag-5'>器</b>的溫控系統(tǒng)設(shè)計

    基于LM35溫度傳感的高精度恒溫控制系統(tǒng)

    LM35 是由National Semiconductor 所生產(chǎn)的溫度傳感,其輸出電壓為攝氏溫標。LM35種得到廣泛使用的溫度傳感
    發(fā)表于 01-31 17:57 ?1w次閱讀

    LM35溫度測量電路,LM35 temperature measurement circuit

    LM35溫度測量電路,LM35 temperature measurement circuit 關(guān)鍵字:溫度測量電路,溫度測試電路,LM35
    的頭像 發(fā)表于 09-20 18:17 ?1861次閱讀

    LM35與ICL7107構(gòu)成的溫度計,LM35 thermometer

    。首先把LM35故人冰水中,調(diào)整PRt,使顯示顯示0.0℃。再把LM35放人100℃的開水中,調(diào)整PR2,使顯示顯示100℃。重復(fù)調(diào)整多次即可。但要注意從冰水中取出的
    的頭像 發(fā)表于 09-20 18:31 ?1886次閱讀

    使用LM35的冷卻風(fēng)扇控制

    電子發(fā)燒友網(wǎng)站提供《使用LM35的冷卻風(fēng)扇控制.zip》資料免費下載
    發(fā)表于 07-06 10:56 ?4次下載
    使用<b class='flag-5'>LM35</b>的冷卻風(fēng)扇控制<b class='flag-5'>器</b>

    如何使用Arduino和LM35傳感制作溫度計

    電子發(fā)燒友網(wǎng)站提供《如何使用Arduino和LM35傳感制作溫度計.zip》資料免費下載
    發(fā)表于 11-24 14:31 ?1次下載
    如何使用Arduino和<b class='flag-5'>LM35</b>傳感<b class='flag-5'>器</b><b class='flag-5'>制作</b>溫度計