2015年3月17日 星期二

感測器使用-電位計(可變電阻)

感測器使用-電位計(可變電阻)


常見的電位計模組(可變電組)有旋轉電位計(圓形)和滑動電位計(長條型),在兩端通電後利用中間的旋鈕旋轉或滑桿移動來改變模組的電阻,利用分壓原理來改變在電路中模組兩邊的電壓降,藉由此電壓訊號送進ARDUINO的A0-A5類比輸入端。

旋轉電位計









滑動電位計











圖片取自:www.playrobot.com

電路接法













電位計端    ARDUINO端
=======     =========
    V(VCC) ←→  5V(模組供電)
    G(GND) ←→  GND
    S(OUT)  ←→  A0-A5類比訊號輸入

訊號轉換


在模組端的0~5V,在進入ARDUINO後變成0~1023的數值,因此可以知道,每個數字1代表了0.00488V左右,所以0V=數值0、0.00488V=1、2.5V大約是512、5V是1023...,不過在這裡這個轉換完全不重要,你可以不用知道。

如何使用


電位計通常會用來做手動的大小、位置、角度、程度...的調整,舉例來說打磚塊遊戲時下方檔球的平台的位置、射擊遊戲時飛機上下移動的位置、或是砲塔旋轉的角度、數位調光的亮度...等等,所以必須做一些處理才能達到想要的效果,例如

調整水平移動的位置


S4A的畫面中,要在X軸的範圍內(-240~240)移動,這中間間隔範圍是480,而A0~A5的範圍是0-1023,間隔是1024,因此要把1024轉換成480,就要做將A0~A5的偵測數值*480/1024,然後因為轉換後會在0~480,所以還要向左位移240,所以要-240,因此最後要將A0~A5的偵測值*480/1024-240(四則運算先後順序不能錯,小朋友常常發生),這樣就能在畫面的範圍內左右移動,當然如果你要移動的範圍不是這樣的話,就要根據實際情況調整。

影片在這裡(待續)

調整垂直移動的位置


S4A的畫面中,要在Y軸的範圍內(-180~180)移動,這中間間隔範圍是360,而A0~A5的範圍是0-1023,間隔是1024,因此要把1024轉換成360,就要做將A0~A5的偵測數值*360/1024,然後因為轉換後會在0~360,所以還要向下位移180,所以要-180,因此最後要將A0~A5的偵測值*360/1024-180(四則運算先後順序不能錯,小朋友常常發生),這樣就能在畫面的範圍內上下移動,當然如果你要移動的範圍不是這樣的話,就要根據實際情況調整。

影片在這裡(待續)

調整旋轉的角度


假設你的砲塔在下方,要向上方的範圍內做角度的調整(0~180度內),因此將A0~A5的數值*180/1024,然後因為S4A中面向上是0度,向右是90度,向左是-90度,因此最後的結果要向逆時針轉90度,所以最後就變成A0~A5的數值*180/1024-90,當然如果你要移動的範圍不是這樣的話,就要根據實際情況調整。

影片在這裡(待續)

調整角色的亮度、大小、特效的程度


依據上方的調整方法,如果你的特效,例如亮度,範圍是在-100~100變動,所以最後就變成A0~A5的數值*200/1024-100

影片在這裡(待續)

翻轉教學


1.製作一個飛機射擊遊戲:影片在這裡
2.製作一個城堡防禦遊戲
3.用2個電位計製作桌球雙打遊戲
4.配合3個電位計和1個RGB LED製作全彩調色燈

感想:


小朋友常常抱怨在學校學數學用不上,或是學得太虛無飄渺,無法與生活結合,瞧,我們這不是用上了,數學和生活和科學都是可以結合的歐!





沒有留言:

張貼留言