伺服馬達
伺服馬達之所以叫做「伺服」馬達,是因為「伺服 servo」表示馬達會依照指示命令動作,由程式要馬達轉幾度,馬達就會轉幾度,但伺服馬達有機械結構上的限制,旋轉的角度是 180 度,但並非完全的 180 度,可能是 1 度到 180 度,或是 -2 度到 177 度都有可能,不過這些誤差都不影響這個範例的實作,這個範例將會介紹如何用 Blockly、HTML 與 JavaScript 去控制伺服馬達。
範例影片展示
影片對應範例:https://blockly.webduino.io/?page=tutorials/servo-1
接線與實作
由於伺服馬達需要的電流量較大,因此必須採用獨立電源或是直接使用開發板上頭的 VCC,才能供應伺服馬達足夠的電流量,伺服馬達具有三條電線。紅色的為正電,深咖啡色是接地 GND,橘色的則是訊號線,而伺服馬達的訊號源接在 11 的腳位即可。
由於 Webduino 支援開發板種類只會越來越多,接線圖先使用馬克一號與 Fly 示範,對於其他開發板來說,只要 訊號腳接數位腳 ( 數字 ),仍會有一樣的效果。
馬克一號接線示意圖:
Fly 接線示意圖:
基本操作
打開 Webduino Blockly ( https://blocklypro.webduino.io ),在畫面中放入開發板積木,填入 Device ID,在開發板內放入伺服馬達的積木,腳位設定 10,伺服馬達變數名稱設定為 servo。
開發板的積木在「開發板控制」目錄下,伺服馬達積木在「玩具及馬達 > 伺服馬達」的目錄下。
放入「伺服馬達 servo 旋轉角度」的積木,可以透過圓餅圖調整角度,或直接使用數字積木顯示度數,伺服馬達角度區間為 0~180 度。
填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,就可以看到伺服馬達旋轉到指定的角度。
進階一點,如果透過「迴圈」和「等待」的積木,就可以自訂伺服馬達左右擺動十次的效果,要實現這個效果,首先放入「重複 10 次」的迴圈積木,在裡頭第一個放入伺服馬達旋轉到 180 度的積木,後面銜接一個「等待 0.5 秒」的積木,接著再放入旋轉到 0 度的積木,再銜接一個「等待 0.5 秒」的積木,如此一來就會重複這些動作十次。
迴圈的積木在「基本功能 > 迴圈」目錄下,等待的積木在「進階功能 > 等待」目錄下。
填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,就可以看到伺服馬達先旋轉到一側,接著就會旋轉到另一側,重複這樣一輪的動作十次。。
範例解答 ( 雲端平台 ):https://blocklypro.webduino.io/#7ylGNpvKze
網頁拉霸操控伺服馬達
接下來,我們可以透過網頁操控伺服馬達,打開 Webduino Blockly 的網頁互動測試區,下拉選單選擇「拉霸操作」,畫面裡會出現一個網頁拉霸,此時在右下角也會出現對應的積木功能可以選擇。
一開始先設定拉霸數值和伺服馬達旋轉角度都是 90 度,因為這樣才會先讓伺服馬達旋轉到中間的位置。
再來就是透過拉霸的積木,指定最大值、最小值、間距和預設值,拉動拉霸的時候,會顯示拉霸的數值,同時伺服馬達也會旋轉到這個角度。
填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,就可以使用網頁拉霸操控伺服馬達,拉霸往右伺服馬達就旋轉到右邊,往左就旋轉到左邊。
範例解答 ( 雲端平台 ):https://blocklypro.webduino.io/?demo=demo-area-06#XQdja1Ew9Q