micro:bit
  • micro:bit全攻略
  • micro:bit基礎實習
  • 認識micro:bit
  • 開始使用micro:bit
  • 計數器實作
  • 麵包板及電源模組的使用
  • LED(燈光)顯示功能
  • 電子輪盤遊戲實作(內建LED篇)
  • 隨機數的應用–猜大小
  • 使用序列埠輸出資訊
  • 三色 RGB LED實習
  • 伺服馬達基礎實習
  • 光敏電阻基礎實習
  • 繼電器基礎實習
  • OLED顯示器實習
  • 超音波測距實習
  • 音樂積木用的接頭
  • 遙控小車硬體組裝及程式入門
  • 小車程式實作
  • 小車遙控程式
  • 開始使用MicroPython
  • MicroPython程式簡易入門
  • MicroPython按鈕控制
  • MicroPython操作每一顆LED
  • MicroPython亂數的應用
  • MicroPython電子輪盤遊戲實作
  • MicroPython輸出入接腳控制
  • MicroPython飄落的雪花及避障遊戲
  • 上傳檔案到micro:bit
  • MicroPython物件導向程式設計
  • MicroPython無線電通訊
  • MicroPython SSD1306 oled實作
  • MicroPython DHT11溫濕度感測器
  • MicroPython光感測器模組
  • MicroPython繼電器應用
  • MicroPython超音波HC-SR04
  • MicroPython伺服馬達操作
  • 專題--燈籠牆實作
Powered by GitBook
On this page

MicroPython伺服馬達操作

PreviousMicroPython超音波HC-SR04Next專題--燈籠牆實作

Last updated 5 years ago

伺服馬達可以透過角度的方式讓馬達指定到固定的位置,對於控制一些機構的情況非常方便。第一個練習使用的是下面這顆伺服馬達:

大部份的伺服馬達都有三條線,分別是電源線的正負極(因為伺服馬達需要較大電流,所以也是要額外供電喔),以及一條決定要轉幾度的訊號線,而對於要控制它的角度的micro:bit來說,連接控制用的腳位需要有PWM能力,也就是以數位信號模擬類比信號的技術。micro:bit只有pin3, pin4, 以及pin10這三支接腳具備此能力,還記得micro:bit的接腳圖嗎?請參考以下的說明:

但是這3支接腳都和LED是共用的,所以為了使用這幾支接腳,要先把LED關閉才能。以下是測試的程式(假設把伺服馬達的信號號連接到pin3):

from microbit import *

display.off()
while True:
    pin3.write_analog(60)
    sleep(500)
    pin3.write_analog(120)
    sleep(500)

執行上面這個程式,你有就可以看到伺服馬達以0.5秒為間隔,很快地在兩個不同的角度間轉動。

還記得前一個使用光感測器的單元嗎?結合光感測器,我們就可以利用不同的亮度來決定伺服馬達的轉動角度,這個方式就可以用來製作雷射光打靶遊戲喔。

from ssd1306 import initialize, clear_oled
from ssd1306_text import add_text
from microbit import *

display.off()
initialize()
clear_oled()
add_text(0, 0, 'NKUST')
add_text(0, 1, 'Richard Ho')

pin3.write_analog(120)
while True:
    light = pin1.read_analog()
    add_text(0, 3, 'Light:{:>4d}'.format(light))
    if light < 300:
        pin3.write_analog(60)
        sleep(5000)
    else:
        pin3.write_analog(120)

上面這個程式會把伺服馬達固定在某一個點上,當偵測到亮度小於300的時候,就會讓伺服馬達轉動到另外一個角度並停留5秒才再偵測是否需要回復到原有的角度。此外,為了讓我們可以隨時瞭解亮度的數值以方便調整程式,在程式中匯入了ssd1306,驅動OLED顯示器顯示出數值內容。

SG90 舵機 9克伺服機 伺服馬達 1.5Kg扭力 品質穩定台灣物聯科技 TaiwanIOT Studio
Input/Output Pins — BBC micro:bit MicroPython 1.0.1 documentation
Logo
Logo