9G舵机的控制脚接在microbit的PIN1上,分别按下A键和B键控制舵机正转和反转
程序通过set_analog_period()函数设置设置周期
使用write_analog来设置脉宽控制舵机角度
程序如下:
from microbit import *
def servo(pin,angle): # pin:analog angle:0~180
analog_output = 0
pulse_width = 0
angle_servo = 0
angle_servo = angle
pulse_width = (600 + (2400-600) * (angle_servo-0) / (180-0))
analog_output = (0 + (1023-0) * (pulse_width-0) / (20000-0))
pin.set_analog_period(20)
pin.write_analog(analog_output)
while True:
if button_a.is_pressed():
servo(pin1,160)
elif button_b.is_pressed():
servo(pin1,10)
display.show(Image.HOUSE)