M5StickV输出PWM的简单示例
之前提到了如何使用M5StickV连接M5StickC控制舵机运行,该实验主要用到了串口通信。本实验将直接通过M5StickV生成PWM驱动舵机,由于M5StickV输出电流不足以驱动舵机,建议使用外部电源给舵机供电。maixpy已经提供了pwm的模块因此可以直接调用。通常来说舵机的信号周期为20ms即50Hz,一个周期内高电平占0.5~2.5ms(0-180°),理论上换算为占空比就是2.5%-12.5%,在实际使用中数据会有少许偏差,根据实际情况进行调整。from machine import Timer,PWM
import lcd
import image
import time
import sys
lcd.init()
img = image.Image()
tim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM)
ch = PWM(tim, freq=50, duty=2.5, pin=35)
arg = {-90:2.5, 0:7.25, 90:12.5} # arg:duty
try:
while True:
ch.duty(arg)
img.draw_string(60, 100, "arg 0", scale=3)
lcd.display(img)
time.sleep(1)
img.clear()
ch.duty(arg[-90])
img.draw_string(60, 100, "arg -90", scale=3)
lcd.display(img)
time.sleep(1)
img.clear()
ch.duty(arg)
img.draw_string(60, 100, "arg 0", scale=3)
lcd.display(img)
time.sleep(1)
img.clear()
ch.duty(arg)
img.draw_string(60, 100, "arg +90", scale=3)
lcd.display(img)
time.sleep(1)
img.clear()
except:
lcd.clear()
ch.deinit()
sys.exit()
你好,能否分享一下你上面提到的“之前提到了如何使用M5StickV连接M5StickC控制舵机运行,该实验主要用到了串口通信”这个教程,谢谢
页:
[1]