我正在尝试编写一些代码,该代码从2个不同的电位器读取电压,并将其转换为3 pwm输出,然后将其发送至RGB LED。我的想法是使用诸如颜色图之类的东西来绘制复杂功能,但是我不确定如何实现。有什么建议吗?
#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
答案 0 :(得分:2)
假设colour_angle
和colour_radius
分别代表色相和饱和度,那么您可以使用任何具有固定亮度/值的HSL / HSV到RGB转换代码。
从Google搜索结果中随机选择: