乐鑫科技ESP32-S3开发板配单色LED,竟能玩出这么多花样!代码开源,速来白嫖!

描述

 

从闪烁到呼吸,从流水到追逐,一文掌握所有LED特效技巧

本文将带领大家从零开始,使用ESP32-S3开发板实现多种单色LED效果控制。无论你是刚入门的小白,还是有一定经验的开发者,都能轻松复刻这些炫酷的效果。


 

材料准备

1×ESP32-S3开发板

1×USB 转 TypeC 线

1×165x55x10mm面包板

若干15cm杜邦线

若干5mm单色LED


 


 

led

本教程ESP32-S3开发板采用启明云端WT9932S3-NANO开发板进行演示,它搭载了ESP32-S3R8 双核芯片。


 


 

安装【led_effect】库

要控制 LED,使用我们封装好的led_effect会更加简单:从 GitHub 获取【led_effect】库文件

led

把【led_effect】文件夹,粘贴到「文档→Arduino→libraries」路径下

led

打开 Arduino IDE,在「文件→示例」里,就能看到【led_effect】库的所有现成例程

led

LED 单灯闪烁例程

在 “文件→示例” 中找到【led_effect】库,选择【blink】例程

led

按以下对应关系连接 LED 与开发板通过传入 GPIO 序号和公共端电平创建 Led 对象,调用开关控制方法并配合延时函数

led

点击烧录,烧录程序后,LED 将规律闪烁

led

LED 单灯呼吸例程

在 “文件→示例” 中找到【led_effect】库,选择【breath】例程

led

2. 接线方式和 “单灯闪烁” 一致

先传入 GPIO 序号和公共端电平创建 Led 对象

循环调用 LED 亮度设置方法,配合延时函数,即可实现呼吸灯效果

led

LED灯带闪烁例程

在“文件→示例”中找到【led_effect】库,选择【blinkAll】例程

led

按图表上的连接方式,将五个LED与开发板完成连接

led

先创建灯带对象(led_strip),再通过addLed方法逐一添加各LED对象,接着调用setBlinkTimes设置LED的亮、灭时长,最后在loop循环中调用blinkAll方法

led

烧录程序后,所有LED将同步规律闪烁   

 

LED灯带呼吸灯例程

在“文件→示例”中找到【led_effect】库,选择【breathingRunningLight】例程

led

接线方式和 “灯带闪烁” 一致

先创建灯带对象(led_strip)

通过addLed方法添加各LED对象

调用setBreathPeriod设置呼吸周期

通过setBreathBrightnessRange设定亮度变化范围

在loop循环中调用breathingRunningLight方法 

led

烧录程序后,LED灯带将呈现依次渐变的呼吸效果

 

【LED 流水灯】例程

在 “文件→示例” 中找到【led_effect】库,选择【runningLight】例程

led

接线方式与 “LED 灯带闪烁” 一致

创建灯带对象(led_strip),通过 addLed 方法添加各 LED 对象

调用 setRunningHoldTime 设置单个 LED 的持续点亮时间

通过 setRunningFade 设置是否启用渐亮渐暗模式(仅 PWM 模式支持)

调用 setRunningBounce 可开启往返流动模式
在 loop 循环中调用 runningLight 方法

led

烧录程序后,LED 将呈现循环流动的流水灯效果  

 

【LED 追逐灯】例程

在 “文件→示例” 中找到【led_effect】库,选择【stripChase】例程。

led

接线方式与 “LED 灯带闪烁” 一致

创建灯带对象(led_strip),通过 addLed 方法添加各 LED 对象

接着调用 setChaseBrightness 设置主、从 LED 的亮度

通过 setChaseSpacing 设置主从 LED 的间距

调用 setChaseSlaveCount 设置从 LED 的数量
利用 setChaseDelay 设置追赶延迟时间

在 loop 循环中调用 stripChase 方法  

led

烧录程序后,LED 将呈现循环追逐的动态效果

led

【LED 跑马灯】例程


1.在 “文件→示例” 中找到【led_effect】库,选择【stripMarquee】例程

led

2. 接线方式与 “LED 灯带闪烁” 一致
 

先创建灯带对象(led_strip),通过 addLed 方法添加各 LED 对象
 

接着调用 setMarqueeTailDecay 设置拖影亮度衰减程度
 

通过 setMarqueeTailDuration 设置拖影持续时间
 

调用 setMarqueeHoldPrevious 设置前灯是否保持常亮
 

利用 setMarqueeBounce 开启弹跳模式
 

最后在 loop 循环中调用 stripMarquee 方法  

led

3. 烧录程序后,LED 将呈现带拖影效果的循环跑马灯动态  


 


 

本教程所有代码,已在 GitHub 同步更新,感兴趣的朋友可以按照如下指令在“启明云端科技”公众号后台私信,获取本教程所有配套资料

ESP32S3NANO单色LED】获取单色LED灯多效果控制相关资料

Arduino】获取Arduino安装包

注意:直接复制粘贴不容易出错哦~

led


 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分