【安信可BW16-Kit】+ color temperature

[复制链接]
查看621 | 回复10 | 2024-3-31 16:22:42 | 显示全部楼层 |阅读模式

安信可BW16-Kit结合色温控制功能可以创建出丰富多彩的光环境,实现智能家居照明或其他灯光应用的需求。要实现色温控制,使用具有色温调节功能的LED灯,并通过BW16-Kit的GPIO引脚来控制这些LED灯。

要确保LED灯支持色温调节,并且具有与BW16-Kit兼容的接口。然后,将LED灯连接到BW16-Kit的GPIO引脚上(是板载)。根据LED灯的要求,需要添加适当的驱动电路和电阻。

在软件方面,您可以使用Arduino IDE或其他支持BW16-Kit的开发环境来编写代码。通过编写代码,您可以控制GPIO引脚的输出,从而调节LED灯的色温。具体的代码实现取决于您使用的LED灯和控制协议。

说实际的,通过串口发送1-100的数字,实现点亮LED的色温变化,确保您的LED灯或LED灯带支持色温调节,并且已经将它正确连接到了安信可BW16-Kit的GPIO引脚上。接下来,您需要编写代码来监听串口接收到的数据,并根据接收到的数字值来调整LED灯的色温。

实际输出结果:

1711873272753.jpg

代码:


  1. void setup() {
  2.   pinMode(PA12, OUTPUT);
  3.   // pinMode(PA14, OUTPUT);
  4.   pinMode(PA13, OUTPUT);
  5.   
  6.   Serial.begin(115200); // 初始化串口
  7. }

  8. int calculateColorValue(int colorTemp, int minVal, int maxVal) {
  9.   // 根据色温数值和最小最大值计算颜色亮度
  10.   int val = map(colorTemp, 0, 100, minVal, maxVal);
  11.   return val;
  12. }

  13. void loop() {
  14.   // 读取串口数据
  15.   if (Serial.available() > 0) {
  16.     int colorTemp = Serial.parseInt(); // 读取串口发送的色温数值
  17.     Serial.print("the color tmp is set as  ");
  18.     Serial.print(colorTemp);
  19.     Serial.print("/r/n");

  20.     // 根据色温数值调整颜色亮度
  21.     // analogWrite(PA14, calculateColorValue(colorTemp, 0, 255));//这个引脚打开之后就出现问题,不开一切正常
  22.     analogWrite(PA12, calculateColorValue(colorTemp, 0, 255));
  23.     analogWrite(PA13, calculateColorValue(colorTemp, 0, 255));

  24.   }
  25. }
复制代码

输出效果: ef611b1612de78c0e4a2c41b268a8214.zip (2.87 MB, 下载次数: 0)

回复

使用道具 举报

干簧管 | 2024-3-31 18:00:58 | 显示全部楼层
👍
回复

使用道具 举报

lovzx | 2024-3-31 18:43:47 | 显示全部楼层
学习
回复

使用道具 举报

1084504793 | 2024-3-31 21:29:51 | 显示全部楼层
回复

使用道具 举报

WT_0213 | 2024-4-1 08:52:49 | 显示全部楼层
高产呀
回复

使用道具 举报

lazy | 2024-4-1 10:59:51 | 显示全部楼层
学习
回复

使用道具 举报

1055173307 | 2024-4-1 16:03:44 | 显示全部楼层
学习
回复

使用道具 举报

noonezero | 2024-4-10 11:23:14 | 显示全部楼层
回复

使用道具 举报

wurong | 2024-4-10 14:50:04 | 显示全部楼层
回复

使用道具 举报

timo | 2024-4-11 19:53:20 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则