上一篇已經教大家溫度感測器LM35的使用方式,這次的專案會教大家如何加上伺服馬達,製作成可愛的箭頭式溫度計。
材料清單
接線圖
首先我們需要學習如何將溫度轉換成角度,我假設溫度感測範圍是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。修改程式後重新上傳~終於完成囉!