物联网开发笔记(54)- 使用Micropython开发ESP32开发板之控制MG90S舵机
使用Micropython开发ESP32开发板之控制MG90S舵机
·
一、目的
这一节我们学习如何使用我们的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
四、演示效果
五、购买
MG90S无机械限位,手动可以转动360度,脉冲控制0-180度转动。
资料例程链接:https://pan.baidu.com/s/1QsTIKnoQsOTCkeYLLTTjTA?pwd=8889
提取码:8889
测试视频链接:
https://v.youku.com/v_show/id_XNTg0NzI4NTkwOA==.html
更多推荐
已为社区贡献16条内容
所有评论(0)