一、目的

        这一节我们学习如何使用我们的ESP32开发板来控制舵机。前面我和大家使用Wokwi在线仿真讲过。这里我们再来学习一下,大家可以通过文章末尾的链接去购买适合的舵机来学习。这里我为了讲解方便依然采用在线仿真。

关于什么是PWM和怎么使用?请看官方介绍:

Quick reference for the ESP32 — MicroPython latest documentation

二、环境

        ESP32 + MG90S舵机(or使用WOKWI在线仿真) + Thonny IDE + 几根杜邦线

 接线方法:

三、代码

from machine import Pin, PWM
import time


p2 = PWM(Pin(2))  # create PWM object from a pin
p2.freq(50)  # set PWM frequency from 1Hz to 40MHz
p2.duty(256)  # set duty cycle from 0 to 1023 as a ratio duty/1023, (now 25%)

# 0度   p2.duty_u16(1638)  # set duty cycle from 0 to 65535 as a ratio duty_u16/65535
# 90度  p2.duty_u16(4915)
# 180度 p2.duty_u16(8192)

p2.duty_u16(1638)  # 0度
time.sleep(1)
p2.duty_u16(4915)  # 90度
time.sleep(1)
p2.duty_u16(8100)  # 180度  # 真实舵机MG90S可以设为8192
time.sleep(1)

for i in range(1638, 8100, 10):
    p2.duty_u16(i)
    time.sleep_ms(10)
    

p2.duty_u16(1638)
time.sleep(1)

p2.deinit()              # turn off PWM on the pin

四、演示效果

 

五、购买

某宝链接如下:
https://item.taobao.com/item.htm?spm=a230r.1.14.16.2af51026dHbzwp&id=559258153136&ns=1&abbucket=8#detail

MG90S无机械限位,手动可以转动360度,脉冲控制0-180度转动。

资料例程链接:https://pan.baidu.com/s/1QsTIKnoQsOTCkeYLLTTjTA?pwd=8889 
提取码:8889

测试视频链接:

https://v.youku.com/v_show/id_XNTg0NzI4NTkwOA==.html

 

更多推荐