K210——PWM控制舵机

K210

在这里插入图片描述


在这里插入图片描述

一、PWM是什么?

PWM(脉冲宽度调制)就是一个特定信号输出,主要用于输出不同频率、占空比(一个周期内高电平出现时间占总时间比例)的方波。以实现固定频率或平均电压输出
在这里插入图片描述
PWM波形实例,右边为等效电压

二、相关函数

1.machine.PWM(tim, freq, duty, pin, enable=True)

machine.PWM(tim, freq, duty, pin, enable=True)

PWM 对象在 machine 模块下。
【tim】K210 的 PWM 依赖于定时器来产生波形
【freq】PWM 频率
【duty】PWM 占空比
【pin】PWM 输出引脚
【enable】是否在构建对象后立即产生波形,默认 True。

PWM.freq(freq)
设置频率。不传参数返回当前频率值。
PWM.duty(duty)
设置占空比。不传参数返回当前占空比值。[0-100]表示占空比百分比
PWM.enable()
使能 PWM 输出。
PWM.disable()
暂停 PWM 输出。 PWM.deinit()
注销 PWM。

在这里插入图片描述

2.完整代码

from machine import Timer,PWM
import time

#PWM通过定时器配置,接到IO17引脚
tim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM)
S1 = PWM(tim, freq=50, duty=0, pin=17)

'''
说明:舵机控制函数
功能:180度舵机:angle:-9090 表示相应的角度
     360连续旋转度舵机:angle:-9090 旋转方向和速度值。
    【duty】占空比值:0-100
'''

def Servo(servo,angle):
    S1.duty((angle+90)/180*10+2.5)


while True:
    #-90Servo(S1,-90)
    time.sleep(1)

    #-45Servo(S1,-45)
    time.sleep(1)

    #0Servo(S1,0)
    time.sleep(1)

    #45Servo(S1,45)
    time.sleep(1)

    #90Servo(S1,90)
    time.sleep(1)

在这里插入图片描述
接的时候不要直接接板子上的5v,可能会击穿芯片

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我与nano

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值