角度傳感器用來檢測角度的。它的身體中有一個孔,可以配合樂高的軸。當連結(jié)到rcx上時,軸每轉(zhuǎn)過1/16圈,角度傳感器就會計數(shù)一次。往一個方向轉(zhuǎn)動時,計數(shù)增加,轉(zhuǎn)動方向改變時,計數(shù)減少。計數(shù)與角度傳感器的初始位置有關(guān)。當初始化角度傳感器時,它的計數(shù)值被設(shè)置為0,如果需要,你可以用編程把它重新復(fù)位。
如果把角度傳感器連接到馬達和輪子之間的任何一根傳動軸上,必須將正確的傳動比算入所讀的數(shù)據(jù)。舉一個有關(guān)計算的例子。在你的機器人身上,馬達以3:1的傳動比與主輪連接。角度傳感器直接連接在馬達上。所以它與主動輪的傳動比也是3:1。也就是說,角度傳感器轉(zhuǎn)三周,主動輪轉(zhuǎn)一周。角度傳感器每旋轉(zhuǎn)一周計16個單位,所以16*3=48個增量相當于主動輪旋轉(zhuǎn)一周。我們需要知道齒輪的圓周來計算行進距離。幸運地是,每一個LEGO齒輪的輪胎上面都會標有自身的直徑。我們選擇了體積大的有軸的輪子,直徑是81.6CM(樂高使用的是公制單位),因此它的周長是81.6×π=81.6×3.14≈256.22CM。已知量都有了:齒輪的運行距離由48除角度所記錄的增量然后再乘以256。我們總結(jié)一下。稱R為角度傳感器的分辨率(每旋轉(zhuǎn)一周計數(shù)值),G是角度傳感器和齒輪之間的傳動比率。我們定義I為輪子旋轉(zhuǎn)一周角度傳感器的增量
應(yīng)用領(lǐng)域:使用角度傳感器來控制你的輪子可以間接的發(fā)現(xiàn)障礙物。原理非常簡單:如果馬達運轉(zhuǎn),而齒輪不轉(zhuǎn),說明你的機器已經(jīng)被障礙物給擋住了。此技術(shù)使用起來非常簡單,而且非常有效;唯yi要求就是運動的輪子不能在地板上打滑(或者說打滑次數(shù)太多),否則你將無法檢測到障礙物。如果是一個空轉(zhuǎn)的齒輪連接到馬達上就可以避免這個問題,這個輪子不是由馬達驅(qū)動而是通過裝置的運動帶動它:在驅(qū)動輪旋轉(zhuǎn)的過程中,如果惰輪停止了,說明你碰到障礙物了。