伺服馬達:又稱為舵機,可以依照指示角度做轉動的馬達。
一般伺服馬達有三條線,電源(紅色)、接地(黑或棕色)、訊號線(白、黃、橘、藍….)。透過訊號線傳送PWM脈波來控制軸柄的停止位置旋轉角度,只要一個指令就可以控制了。
若想使用超過兩個以上的伺服馬達,要以另外的電源供電,而且要記得共同接地。
一、控制伺服馬達轉動
將伺服馬達的三條線,電源(紅色)接5V、接地(黑或棕色)接GND、訊號線(白色)接數位腳D12。
1.轉動伺服馬達
使用 [ 伺服馬達為腳位(…)轉動角度為(…)度] 的指令積木來控制馬達的轉動角度。
改變角度數字就可以改變伺服馬的轉動角度。
程式下載:伺服馬達.sb2
2.讓伺服馬達慢慢從0度轉到180度,再轉回0度,重複轉動。
使用 [ 伺服馬達為腳位(…)轉動角度為(…)度] 的指令積木來控制馬達的轉動角度。
製做一個[角度]變數,使用[重複 …次] (迴圈) 來讓程式變的簡短一點
加上[等待0.5秒],讓馬達有時間去轉動。
程式下載: 伺服馬達.sb2
二、使用鍵盤按鍵來控制轉動角度
注意:
記得先檢查[輸入法]是否為[英],當輸入法不對時,鍵盤按鍵對應的值是錯的,無法正確反應動作。
按下鍵盤上的[空白鍵]讓伺服馬達轉動到0度,[向左鍵]讓伺服馬達轉動到90度,[向右鍵]讓伺服馬達轉動到180度。
[向上鍵]讓伺服馬達轉動角度增加5度,[向下鍵]讓伺服馬達轉動角度減少5度。
程式下載:鍵盤控制轉動.sb2
延伸:
1.利用拉霸(變數)控制伺服馬達
先做一個[角度]變數,在舞台區會顯示變數的圖案,在圖案上用滑鼠左鍵點一下,就會變成只有數值,在圖案上再點一下滑鼠左鍵,就會出現有[拉霸]小點的圖形。
用滑鼠左鍵拖曳小點往左右滑動,就可以改變變數大小,也就是改變輸出值的大小。
這樣就可以拉霸來控制伺服馬達的轉動角度。
程式下載:拉霸控制伺服馬達.sb2
2.調整成可以控制到最大的180度
[拉霸]小點的圖形,內定最大就是100度,如何可以讓轉動角度達到最大的180度呢?
動動腦想想看吧!
增加一個變數,將拉動的變數除以100再乘以180,就可以將拉動的值轉換成最大到180度了。
程式下載:拉霸控制伺服馬達180.sb2
三、用按鍵控制轉動角度
選擇上面的伺服馬達線路,再設置兩個按鍵線路(請參考第八課(按鍵))
A按鍵讓伺服馬達轉動角度會增加1度,B按鍵讓伺服馬達轉動角度會減少1度。
程式設計請參考上面和第八課(按鍵)
四、可變電阻控制伺服馬達轉動
可變電阻改變時類比腳A0讀到的值也會改變。
輸入的電壓是0到5V,A0讀到的數值範圍為0到1023, 伺服馬達的轉動角度為0到180度,顯示時需要做公式轉換。
程式中有一個說的指令,可以讓我們看到輸出的角度。
設置伺服馬達的輸出角度為轉換結果。
程式下載:可變電阻轉動馬達1.sb2
上面程式執行時發現太過靈敏,會有抖動現象。
程式修正如下:
在程式中多加一個 [ 將轉換結果四捨五入 ] 的指令,可以改善此情形。
程式下載:可變電阻轉動馬達2.sb2
延伸:
將伺服馬達裝到機械手臂上,就可以操控手臂的動作了。
五、光敏電阻控制轉動角度
將上面可變電阻控制伺服馬達的線路中,可變電阻更換成光敏電阻感應線路(請參考第十課(光敏電阻))
伺服馬達的角度隨著光強度而改變,當光強度最大時,伺服馬達轉動到180度,光強度最小時伺服馬達轉動到0度。
程式設計請參考上面和第十課(光敏電阻)
延伸:
伺服馬達連接大門,平常門關起來,當有人靠近時,遮住光敏電阻的光,啟動伺服馬達打開門。
六、創作:
結合前面的零件組合創作。
———————————-
相關連結:
初級班課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433
WFduino課前準備
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636665
WFduino第一課(概論、連接)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636745
WFduino第二課(LED)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637840
WFduino第三課(用鍵盤控制LED)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637841
WFduino第四課(3顆LED紅綠燈)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637850
WFduino第五課(PWM模擬類比輸出)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/638450
WFduino第六課(RGB三色LED)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/638508
WFduino第七課(蜂鳴器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509
WFduino第八課(按鍵)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639090
WFduino顏色猜猜機(第8-1課)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639091
WFduino第九課(可變電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639092
WFduino第十課(光敏電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639093
WFduino第十一課(伺服馬達)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639094
WFduino第十二課(超音波感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095
WFduino第十三課(繼電器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096
WFduino第十四課(人體紅外線感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/640850
WFduino第十五課(主動式紅外線感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/640852
WFduino第十六課(七段顯示器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/640853
英文聽音打字練習(WFduino)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636484
會說時間的鬧鐘(WFduino)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637772
會說話的九九乘法表(WFduino)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636482
WFduino Chrome App
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637303
WFduino語音控制(forcratchX)
http://blog.ilc.edu.tw/blog/blog/868/post/10898/635592
WFduino無線操控arduino
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636819
WFduino原廠使用方法介紹網頁
http://wf8266.com/wf8266r/tutorials/65_Sx4ABlocks
WFduino for ScratchX
http://blog.ilc.edu.tw/blog/blog/868/post/10898/635190
WF8266R雲端外部感應器
http://blog.ilc.edu.tw/blog/blog/868/post/10898/633305
文章來源:WFduino第十一課(伺服馬達) 由 roc 發表。