196| 6
|
[项目] 【花雕学编程】Arduino动手做(232)---ESP32S3 CAM随机颜色灯 |
相关知识 RGB LED集成了3个LED,可以分别发出红光、绿光和蓝光。它有4个引脚。这个 长引脚(1)是公共端口,即3个LED的正极或负极端口。RGB LED具有公共正极 端口及其符号如下所示。通过控制这3个参数,我们可以使RGB LED发出各种颜色的光,LED发出不同亮度的光。 红、绿、蓝被称为三原色。当你将这三种原色灯光组合在一起时,它具有不同的亮度,几乎可以产生各种可见光。电脑屏幕,单像素单元,手机屏幕、霓虹灯等都是在这个原理下工作的。如果我们使用三个8位PWM来控制RGB LED,理论上,我们可以创建16777216(1600万)种通过不同的组合颜色。 |
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块 OV2640/5640摄像头模组 {花雕动手做}项目之十三:ESP32-S3 CAM 控制LED灯随机显示不同的颜色,每500毫秒更新一次 实验开源代码
|
代码解释 1、引脚定义: const byte ledPins[] = {38, 39, 40}:定义红、绿、蓝LED的引脚。 const byte chns[] = {0, 1, 2}:定义PWM通道。 2、setup函数: for (int i = 0; i < 3; i++) { ledcAttachChannel(ledPins, 1000, 8, chns); }:设置每个LED引脚为PWM输出模式,频率为1KHz,分辨率为8位。 3、loop函数: red = random(0, 256):生成0到255之间的随机红色值。 green = random(0, 256):生成0到255之间的随机绿色值。 blue = random(0, 256):生成0到255之间的随机蓝色值。 setColor(red, green, blue):调用setColor函数设置LED颜色。 delay(500):延时500毫秒。 4、setColor函数: ledcWrite(ledPins[0], r):设置红色LED的PWM值(共阴极LED,高电平点亮)。 ledcWrite(ledPins[1], g):设置绿色LED的PWM值。 ledcWrite(ledPins[2], b):设置蓝色LED的PWM值。 这个代码的功能是:LED灯会随机显示不同的颜色,每500毫秒更新一次。 实验场景图 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed