Arduino 專題教學-鯊魚溫度計 (LM35+伺服馬達)

【DIY】使用Arduino 製作鯊魚溫度計 (LM35+伺服馬達)

上一篇已經教大家溫度感測器LM35的使用方式,這次的專案會教大家如何加上伺服馬達,製作成可愛的箭頭式溫度計。

材料清單

ARDUINO UNO R3

LM35 類比溫度感測器

3條杜邦線(公/母)

5條杜邦線(公/公)

SG90 9G伺服器

迷你麵包板

鯊魚溫度計套件包

接線圖

Arduino 鯊魚溫度計接線圖

首先我們需要學習如何將溫度轉換成角度,我假設溫度感測範圍是0~40度,而伺服馬達旋轉範圍是0~180度,我們希望當溫度是0度時,伺服馬達旋轉至0度。當溫度是40度時,伺服馬達旋轉至180度。以此類推當溫度20度時,伺服馬達旋轉至90度。

那該怎麼辦到呢?Arduino有一個好用的數學函式:map(),只要三個步驟即可無痛轉換,第一步~輸入數值來源,第二步~設定來源數值的範圍(最大值與最小值),第三步~輸入希望轉換後的數值範圍(最大值與最小值),map() 就會幫您轉換成對應的數值囉。

map(輸入數值來源,來源最小值,來源最大值,轉換後的最小值,轉換後的最大值)

將剛剛的描述實際套用就會是:

map( 量測溫度 , 0 , 40 , 0 , 180 )

參考程式

程式完成後接下來就是製作可愛的溫度計啦,您可以用紙(最好硬一點)、厚紙板、木板…等,與剪刀或美工刀製作。若是使用畫紙,還可以塗上自己喜歡的顏色喔,像小編就很偷懶啦!直接雷切機大切一波,下圖就是小編的偷懶成品。

雷切的鯊魚溫度計

實際裝上去測試後發現,小編的指針旋轉方向,似乎與溫度相反。當溫度越高時好像越轉左邊,溫度越低反而越轉右邊,這樣跟小編鯊魚嘴裡的刻度根本相反呀!!!

如果您也跟小編一樣的話,沒關係!還記得map() 的用法嗎?只要將轉換的最大值與最小值交換即可:

map( 量測溫度 , 0 , 40 , 180 , 0 )

如此一來當溫度為0度時,馬達轉向180,反之當溫度為40度時,馬達轉向0。修改程式後重新上傳~終於完成囉!

鯊魚溫度計
完成惹~~~