サーボモーターを制御

サーボモーターを制御します。

サーボモーターを動かします。

サーボモーター

 

 サーボモーターは、指示を出した通りに、位置/速度/回転力(トルク)などを正確に実現するサーボ機構に使用されるモーターのことです。
サーボモータの角度制御は、PWM信号で行います。

配線図

実際の配線

MicroPythonプログラム

from machine import Pin, PWM
import utime

pwm = PWM(Pin(16))

pwm.freq(50)

#sensor_adc = machine.ADC(0)

def servo_value(degree):
    return int((degree * 9.5 / 180 + 2.5) * 65535 / 100)

while True:
    #reading = sensor_adc.read_u16()
    pwm.duty_u16(servo_value(0))
    print(servo_value(0))
    utime.sleep(1)
    pwm.duty_u16(servo_value(90))
    print(servo_value(90))
    utime.sleep(1)
    pwm.duty_u16(servo_value(180))
    print(servo_value(180))
    utime.sleep(1)

 

実行

接続が成功すると数値が表示されサーボモーターが連続で0°・90°・180°に動きます。

自由研究

複数のサーボモーターを制御したりローテーションサーボ(回転方向と回転速度をコントロールできます。)を制御してみましょう。