入门MicroPython+ESP32:彩色灯珠在项目中的实践

在科技的世界里,彩色灯珠总能为项目增添不少绚丽的色彩。今天,我们就借助 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

希望大家通过这些内容,能够在自己的项目中成功运用彩色灯珠,创造出更加精彩的作品!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值