作者:創客萊吧MakerLab
LM35是一款只需要一個類比接口就可以使用的溫度感測器,但在使用前需知道它的眉角(台語),首先我們參考一下它的 Datasheet,從它的 Datasheet可以知道電壓與溫度的關係。當溫度為0度C 時,量測到的電壓為 0V,每上升1度C,電壓會增加 10mV,再知道這個原理後,我們就能透過計算,得出實際的溫度。

LM35類比溫度感測器(圖片來源:ICShop 提供)
材料清單:
這次使用 UNO 擔任這次教學的主角,接線圖如下:

ARDUINO UNO R3 接線圖(圖片來源:ICShop 提供)
我們從A0讀取到的值並不是溫度也不是電壓的實際值,必須透過百分比與單位換算才能得到我們想要的溫度值。Arduino UNO的 analog輸入(A0~A5)所能讀到的範圍是 0~1024,而Arduino電壓範圍為 0~5V,所以我們可以透過下面的公式得到轉換後的電壓:
轉換的電壓 = ( A0的值 / 1024 ) x 5
求得 A0 轉換後的電壓值後,透過從 Datasheet知道的,每上升1度C 電壓增加 10mV,我們將轉換後的電壓值再除以 10mV,就可以得出溫度值:
溫度 = 轉換的電壓 / 10mV
程式打好後就能打開序列埠監控視窗看看數值正不正確。

數值示意圖(圖片來源:ICShop提供)
透過監控視窗,看到的數值與實際溫度差不多,同時我們也試著用手壓住感測器來看溫度上升的情形,最後發現溫度雖然都有正常上升,但整體溫度讀值似乎不太穩定。對此,我們需要透過「取樣平均化」來改進這樣的狀況,讓數值不要這麼漂移不定,因此在程式中,會用到 for迴圈來加總10次測量到的溫度值,最後再除以10來取得平均溫度。
透過平均化後可以看到數值變得比較穩定了。

平均化後的數值(圖片來源:ICShop提供)
小結
從LM 35的 Datasheet獲得其電壓與溫度變化的關係,再透過ARDUINO UNO R3 接線,寫好程式後取平均值,您了解它的使用原理了嗎?本次的教學就到這邊,下次會教大家使用伺服器馬達搭配這次學到的LM35來製作一個可愛的溫度計,敬請期待!
(本文轉載自創客萊吧MakerLab、原文連結;責任編輯:賴佩萱)
- 【CIRCUS Pi】ESP32教學系列:用ESP32玩91段電子紙 - 2025/03/24
- 【CIRCUS Pi】ESP32教學系列:硬體中斷 - 2024/12/25
- 【CIRCUS Pi】使用 Arduino UNO R4 WiFi 輕鬆製作 LED Matrix 動畫 - 2024/10/14
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!