MicroPython ESP32 pwm(脉宽调制)示例

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MicroPython ESP32 pwm(脉宽调制)示例相关的知识,希望对你有一定的参考价值。

MicroPython ESP32 pwm(脉宽调制)示例


ESP32 PWM

PWM可以在任何有输出功能的引脚上使用。PWM的基频可以设置范围在1Hz到40MHz,注意最好选择不要太极端,注意实现的条件是否满足。基础频率越高占空比减少.

  • 本示例基于Thonny开发平台

PWM属于machine模块中的类成成员

>>> from machine import PWM
>>> help(PWM)
object <class 'PWM'> is of type type
  init -- <function>
  deinit -- <function>
  freq -- <function>
  duty -- <function>
  duty_u16 -- <function>
  duty_ns -- <function>

成员函数功能说明

  • pwm.freq(): 获得当前的PWM频率.
  • pwm.freq(0-1023): 设置PWM频率:0-1023
  • pwm.duty():获得当前的PWM占空⽐:0-8192
  • pwm.duty(0-100):设置占空⽐:0-100
  • deinit(): 关闭PWM
    • freq(Pin,freq,duty): 设置PWM频率

PWM示例代码

from machine import Pin, PWM
pwm0 = PWM(Pin(2))      # 通过Pin对象来创建PWM对象
pwm0.freq()             # 获得当前的PWM频率
pwm0.freq(1000)         # 设置PWM频率
pwm0.duty()             # 获得当前的PWM占空⽐
pwm0.duty(100)          # 设置占空⽐
print(pwm0.duty() )
 pwm0.deinit()           # 关闭PWM
 pwm2 = PWM(Pin(2), freq=500, duty=50) # 创建PWM同时设置参数

以上是关于MicroPython ESP32 pwm(脉宽调制)示例的主要内容,如果未能解决你的问题,请参考以下文章

ESP32-MicroPython基础操作

ESP324.RGB-LED实验(PWM)

ESP8266-模拟输出(PWM)

micropython(esp8266)SG90舵机控制

详解STM32的PWM输出及频率和脉宽(占空比)的计算——寄存器配置六步曲!(转)

通过mem32函数来提高MM32 MicroPython 输出PWM 频率的精度