代码拉取完成,页面将自动刷新
同步操作将从 DFRobot/upycraft_cn 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
利用具有输出PWM信号功能的I/O口,在固定的频率下,采用占空比的方式来实现LED亮度的变化。占空比为0,LED灯不亮,占空比为100%,则LED灯最亮。所以将占空比从0到100%,再从100%到0不断变化,就可以实现LED灯特效呼吸。
硬件:
软件:
代码位置:
File → Examples → Basic → breathLight.py
下载运行 breathLight.py,其代码如下
#硬件平台: FireBeetle-ESP32
#实验效果:呈现呼吸灯效果。
#下面的信息显示,对于当前版本,breathLight是可用的。
# IO0 IO4 IO10 IO12~19 IO21~23 IO25~27
#IO2引脚与板载LED相连,不需要外接LED灯,其他引脚需要外接LED灯。
from machine import Pin,Timer,PWM
pwm = PWM(Pin(2),100) #创建PWM对象
polar = 0
duty = 0
def setLed(t): #led灯从明到暗再到明变化
global duty,polar
if(polar == 0):
duty+=16
if(duty >= 1008):
polar = 1
else:
duty -= 16
if(duty <= 0):
polar = 0
pwm.duty(duty) #设置2引脚输出的PWM的占空比(控制led灯的亮度)
tim = Timer(1) #创建Timer对象
tim.init(period=10,mode=Timer.PERIODIC, callback=setLed) #不断实现呼吸灯功能,持续10毫秒
#捕获异常
try:
while True:
pass
except: #关闭Timer和PWM
tim.deinit()
pwm.deinit()
ESP32板子上的LED灯呈现呼吸特效。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。