在科技的世界里,彩色灯珠总能为项目增添不少绚丽的色彩。今天,我们就借助 IT 项目网的资源,一起来探索彩色灯珠的奇妙玩法。
1. 运行效果展示
先来看看彩色灯珠的运行效果,是不是超酷炫!
这个动态的效果展示了彩色灯珠在项目中的实际表现,让人对它的应用充满了期待。
2. 电路链接说明
要让彩色灯珠正常工作,正确的电路链接是关键。下面这张图清晰地展示了电路的连接方式。
按照这个电路图进行连接,就能为后续的代码运行打下坚实的基础。
3. 代码 - 亮指定的颜色
接下来,我们看看如何通过代码让彩色灯珠亮起指定的颜色。以下是具体的代码:
from machine import Pin, PWM
import time
# 创建引脚对象
led_r = Pin(5, Pin.OUT)
led_b = Pin(18, Pin.OUT)
led_g = Pin(19, Pin.OUT)
# 创建PWM对象
pwm_led_r = PWM(led_r)
pwm_led_r.freq(1000)
# 注意,占空比如果设置为1023可以理解为全部是高电平,0表示全部是低电平,又因为对应LED引脚输出0即低电平才量,所以要用1023减去
pwm_led_r.duty(1023 - int(255 / 255 * 1023))
pwm_led_g = PWM(led_g)
pwm_led_g.freq(1000)
pwm_led_g.duty(1023 - int(206 / 255 * 1023))
pwm_led_b = PWM(led_b)
pwm_led_b.freq(1000)
pwm_led_b.duty(1023 - int(70 / 255 * 1023))
print("sleep 1...")
time.sleep(1)
在这段代码中,我们首先导入了必要的库,然后创建了引脚对象和 PWM 对象。通过设置不同的占空比,就可以控制彩色灯珠显示出指定的颜色。
4. 代码 - 变化的颜色呼吸灯
如果觉得固定颜色不够有趣,我们还可以让彩色灯珠实现变化的颜色呼吸灯效果。以下是实现该效果的代码:
from machine import Pin, PWM
import time
# 创建引脚对象
led_r = Pin(5, Pin.OUT)
led_b = Pin(18, Pin.OUT)
led_g = Pin(19, Pin.OUT)
# 创建PWM对象
pwm_led_r = PWM(led_r)
pwm_led_r.freq(1000)
# 注意,占空比如果设置为1023可以理解为全部是高电平,0表示全部是低电平,又因为对应LED引脚输出0即低电平才量,所以要用1023减去
pwm_led_r.duty(1023 - int(255 / 255 * 1023))
pwm_led_g = PWM(led_g)
pwm_led_g.freq(1000)
pwm_led_g.duty(1023 - int(206 / 255 * 1023))
pwm_led_b = PWM(led_b)
pwm_led_b.freq(1000)
pwm_led_b.duty(1023 - int(70 / 255 * 1023))
print("sleep 1...")
time.sleep(1)
# ------------ 添加如下代码 ---------------
pwm_led_r.duty(1023)
pwm_led_g.duty(1023)
pwm_led_b.duty(1023)
# 创建列表,存储pwm对象
leds = [pwm_led_r, pwm_led_g, pwm_led_b]
while True:
for led_pwm_obj in leds:
for i in range(1023, -1, -1):
led_pwm_obj.duty(i)
time.sleep_ms(1)
for i in range(1024):
led_pwm_obj.duty(i)
time.sleep_ms(1)
led_pwm_obj.duty(1023)
这段代码在前面的基础上进行了扩展,通过循环不断改变占空比,实现了彩色灯珠颜色的渐变效果,就像呼吸一样有节奏地变化。
深入学习链接
如果你想进一步深入学习彩色灯珠在项目中的应用,可以点击下面的链接查看详细内容:
https://www.itprojects.cn/study/detail/47.html?chapter=38
希望大家通过这些内容,能够在自己的项目中成功运用彩色灯珠,创造出更加精彩的作品!