【ESP8266学习】micropython实现呼吸灯
0 票
通过在PWM控制,利用延时的方法实现了一个呼吸灯。但是延时会让其它任务无法执行因此决定使用定时器实现呼吸灯。
先定义一个LED_set函数,每调用一次函数就改变一次LED的亮度,然后将它指定为定时器的回调函数,就可以方便的实现呼吸灯了。改变dp和定时器周期,可以调整呼吸灯的速度。
- from machine import Pin, Timer, PWM
- LED = PWM(Pin(15))
- p = 0
- dp = 4
- def LED_set(t):
- global p, dp
- LED.duty(p)
- p += dp
- if p == 0 or p > 1023 – dp:
- dp = -dp
- tm =Timer(1)
- tm.init(period = 10, mode = Timer.PERIODIC, callback = LED_set)
- while True:
- 后面就可以接运行的程序了。