首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2个pots的Arduino RGB LED控制

2个pots的Arduino RGB LED控制
EN

Stack Overflow用户
提问于 2018-11-12 03:53:34
回答 1查看 55关注 0票数 0

我正在尝试写一些代码,从2个不同的pots读取电压,并将其转换为3个pwm输出,然后我可以发送到RGB LED。我的想法是使用类似颜色映射的东西来绘制复杂的函数,但我不确定如何实现它。有什么建议吗?

代码语言:javascript
复制
#define COLOUR_POT_INPUT 4
#define INTENSITY_POT_INPUT 3
#define LED_RED 9
#define LED_GREEN 10
#define LED_BLUE 11

float colour_angle;
float colour_radius;
float colour_x_value;
float colour_y_value;

int red_value;
int green_value;
int blue_value;

const float pi = 3.1415;

void setup() {
  pinMode(COLOUR_POT_INPUT, INPUT);
  pinMode(INTENSITY_POT_INPUT, INPUT);
  pinMode(LED_RED, OUTPUT);
  pinMode(LED_GREEN, OUTPUT);
  pinMode(LED_BLUE, OUTPUT);
}

void loop() {
  colour_angle = analogRead(COLOUR_POT_INPUT);
  colour_radius = analogRead(INTENSITY_POT_INPUT);

  colour_angle = map(colour_angle, 0, 1023, 0, 2*pi);
  colour_radius = map(colour_radius, 0, 1023, 0, 255);

  colour_x_value = colour_radius*cos(colour_angle);
  colour_y_value = colour_radius*sin(colour_angle);

}

//Insert function here that maps colour x and y value to red green blue 
value
EN

回答 1

Stack Overflow用户

发布于 2018-11-12 22:16:42

假设colour_anglecolour_radius分别表示色调和饱和度,那么您可以使用任何HSL/HSV到RGB转换代码,并具有固定的亮度/值。

从谷歌搜索结果中随机挑选:

HSL to RGB conversion

HSV to RGB conversion

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53252608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档