Arduino 專題教學-實測類比溫度感測器 LM35

類比溫度感測器 LM35

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

材料清單

ARDUINO UNO R3

LM35 類比溫度感測器

3條杜邦線(公/母)

小編使用 UNO來擔任這次教學的主角,接線圖如下:

接線圖
接線圖

我們從A0讀取到的值並不是溫度也不是電壓的實際值,需要經過百分比與單位換算才能得到我們想要的溫度值。Arduino UNO的 analog輸入(A0~A5)所能讀到的範圍是 0~1024,而Arduino電壓範圍為 0~5V,所以我們可以透過下面的公式得到轉換後的電壓為幾V:

轉換的電壓 = ( A0的值 / 1024 ) x 5

求得 A0轉換後的電壓值後,透過從 Datasheet知道的~每上升1度C電壓就增加 10mV,我們將轉換後的電壓值再除 10mV就可以得出溫度值了。

溫度 = 轉換的電壓 / 10mV

參考程式

程式打好後就能打開序列埠監控視窗看看數值正不正確。

打開序列埠監控視窗查看數值是否正確

我們從監控視窗能看到數值與實際溫度差不多,也試著用手壓住感測器看看溫度上升的情形,發現溫度都有正常上升,但整體溫度讀值似乎不太穩定。對此小編相當苦惱,特別請教我們的神隊友大大來幫助我們。

我們需要透過取樣平均化來改進這樣的狀況,讓我們的數值不要這麼漂移。在程式當中會用到 for迴圈來加總10次測量到的溫度值,最後再除10來取得平均溫度。

參考程式

透過平均化後可以看到數值變得比較穩定了。

平均化後的數值

您是不是成功了呢? 本次的教學就到這邊啦,下次會教大家使用伺服馬達搭配這次學到的LM35來製作一個可愛的溫度計,那就下次再見啦~