舵機的角度設定
※當我們剛拿到一個新的舵機,我們不知道它目前是轉到幾度!
※當我們剛拿到一個新的舵機,我們不知道它目前是轉到幾度!
設定一個舵機的角度
設定一個舵機的角度
一開始,我們根本不知道舵機目前是轉到幾度,沒關係,我們先取出一個半邊的舵柄,隨意接上去…,目的是待會兒舵機在轉的時候,我們能觀察到它在轉!
一開始,我們根本不知道舵機目前是轉到幾度,沒關係,我們先取出一個半邊的舵柄,隨意接上去…,目的是待會兒舵機在轉的時候,我們能觀察到它在轉!
在這個例子中,我們將這個舵機的排線插到micro:bit的p2
在這個例子中,我們將這個舵機的排線插到micro:bit的p2
針對p2寫一段程式
針對p2寫一段程式
這段程式的意思很明顯是「當按下A鍵時」要求接在P2的舵機轉到120度、再轉到60度、再轉到90度…
這段程式的意思很明顯是「當按下A鍵時」要求接在P2的舵機轉到120度、再轉到60度、再轉到90度…
所以按一次A鍵後,這個舵機便動了起來,而且最後它會停在90度的位置
所以按一次A鍵後,這個舵機便動了起來,而且最後它會停在90度的位置
按下A鍵可以看到舵機的動作
按下A鍵可以看到舵機的動作
※重點在於舵機停下時,我們知道它目前是停在90度地方
※重點在於舵機停下時,我們知道它目前是停在90度地方
重裝舵柄
重裝舵柄
這時我取下舵柄重新裝上成為左圖的樣子…從此以後,我知道只要我在程式中要求這個舵機轉到90度,那麼它的舵柄的方向一定像左圖一樣
這時我取下舵柄重新裝上成為左圖的樣子…從此以後,我知道只要我在程式中要求這個舵機轉到90度,那麼它的舵柄的方向一定像左圖一樣
修改程式
修改程式
接下來把原本的程式改成這樣,再傳入MICRO:BIT試試
接下來把原本的程式改成這樣,再傳入MICRO:BIT試試
看一下執行的結果
看一下執行的結果
※以P2這個舵機來說(它是機器人的左腳板)
※以P2這個舵機來說(它是機器人的左腳板)
這是很有意義的事喔!因為你可以知道,90度時舵柄的位置、0度時舵柄的位置、180度時舵柄的位置
這是很有意義的事喔!因為你可以知道,90度時舵柄的位置、0度時舵柄的位置、180度時舵柄的位置
右腳板P1舵機90度時的位置
右腳板P1舵機90度時的位置
依上面一樣的方式,我們調整了P1的舵機
依上面一樣的方式,我們調整了P1的舵機
P0舵機的90度位置
P0舵機的90度位置
用跟上面一樣的流程,我們可以讓P0所控制的二顆舵機在90度的時候,舵柄呈現的位置如左圖…
用跟上面一樣的流程,我們可以讓P0所控制的二顆舵機在90度的時候,舵柄呈現的位置如左圖…
※二足機器人有個特別之處是P0控制二個舵機,意思是當你在程式中對P0下一個角度的命令時,會有二顆舵機同時動起來!
※二足機器人有個特別之處是P0控制二個舵機,意思是當你在程式中對P0下一個角度的命令時,會有二顆舵機同時動起來!
二足機器人的初始姿態
二足機器人的初始姿態
如果你按照上頭的步驟將機器人組裝起來,我們一定會在機器人的「當啟動時」寫下要求三個PIN都是90度,你可以想像機器人應該就是站得堂堂正正的才對!
如果你按照上頭的步驟將機器人組裝起來,我們一定會在機器人的「當啟動時」寫下要求三個PIN都是90度,你可以想像機器人應該就是站得堂堂正正的才對!
※你也許會想:「為什麼用90度?」,原因是90度是0~180的中間位置,這樣做可以保留未來舵柄向左向右都有一樣的幅度可用!
※你也許會想:「為什麼用90度?」,原因是90度是0~180的中間位置,這樣做可以保留未來舵柄向左向右都有一樣的幅度可用!
想一下~程式裡該怎麼下指令,才能讓機器人做出左邊這二個動作
想一下~程式裡該怎麼下指令,才能讓機器人做出左邊這二個動作
請你弄清楚哪一個舵機是p1;哪一個是p2,想一下它們的舵柄角度大約是幾度?
請你弄清楚哪一個舵機是p1;哪一個是p2,想一下它們的舵柄角度大約是幾度?