Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理RGB滚轮以控制Arduino RGB LED_Arduino_Processing_Rgb - Fatal编程技术网

处理RGB滚轮以控制Arduino RGB LED

处理RGB滚轮以控制Arduino RGB LED,arduino,processing,rgb,Arduino,Processing,Rgb,我想制作一个RGB滚轮,作为GUI处理,以控制连接到Arduino板的RGB LED的LED颜色 到目前为止,我已经在处理中完成了这段代码 float startFill; float startAngle; int step; float stepLength; float centerX; float centerY; float pSize; float bValue; void setup() { size(512, 512); colorMode(HSB, 2*PI, 1

我想制作一个RGB滚轮,作为GUI处理,以控制连接到Arduino板的RGB LED的LED颜色

到目前为止,我已经在处理中完成了这段代码

float startFill;
float startAngle;
int step;
float stepLength;

float centerX;
float centerY;

float pSize;
float bValue;

void setup()
{
  size(512, 512);
  colorMode(HSB, 2*PI, 100, 100);
  smooth();
}

void draw()
{
  background(0,0,25);
  ellipseMode(CENTER);
  noStroke();

  step = 120;
  centerX = width/2;
  centerY = height/2;
  startFill = 0;
  startAngle = 0;
  stepLength = PI/step;

  pSize = 400;
  bValue = 200;

  // draw arcs
  for(int i=0; i< 2*step; i++)
  {
     for(int j=0; j< step; j++)
     {
         fill(startFill, bValue, 100,80);
         stroke(0,0,95,20);
         arc(centerX, centerY, pSize, pSize, startAngle, startAngle+stepLength);

         bValue = bValue - 50/step;
         pSize = pSize - 50/step;
      }   
      startFill =  startFill + stepLength;
      startAngle = startAngle + stepLength;
  }  
}
float startFill;
漂浮星团;
整数步;
浮动步长;
浮动中心;
中心浮动;
浮雕;
浮动b值;
无效设置()
{
大小(512、512);
彩色模式(HSB,2*PI,100100);
光滑的();
}
作废提款()
{
背景(0,0,25);
ellipseMode(中心);
仰泳();
步骤=120;
centerX=宽度/2;
中心Y=高度/2;
startFill=0;
startAngle=0;
步长=PI/步;
pSize=400;
b值=200;
//画弧
对于(int i=0;i<2*步;i++)
{
对于(int j=0;j
我想使用鼠标在屏幕上的位置在上一个轮子上映射红色、绿色和蓝色的值

我找到了一张图片,可以帮助我在滚轮上的鼠标位置上书写RGB值,但我不太确定如何做到这一点

我真的很感激任何帮助或建议


致以最诚挚的问候

请注意,色轮实际上并不全是色轮。它只是“同一颜色,进去”。外圆是您的标准颜色组合,角度为纯R,角度为纯G,+2/4*pi,角度为纯B,+4/3*pi。出于激活目的,构造一个颜色楔形体对象并使用:

class颜色楔块{
颜色c;
浮动[]坐标;
ColorWedge(颜色_c,浮动【】_坐标){
c=_c;
坐标=_坐标;
}
作废提款(){
填充(c);
仰泳();
三角形(坐标[0],坐标[1],坐标[2],坐标[3],坐标[4],坐标[5]);
冲程(0);
线(坐标[2],坐标[3],坐标[4],坐标[5]);
}
}
然后通过在一个角度上创建楔形,为“所有”颜色构建楔形:

最终浮点PI2=2*PI;
ArrayList楔;
无效设置(){
规模(200200);
彩色模式(HSB,PI2);
wedges=新的ArrayList();
浮动半径=90,
ox=宽度/2,
oy=高度/2,
px,py,nx,ny,
阶跃=0.01,
重叠=步骤*0.6;

for(float a=0;a代码运行得非常好!!非常感谢!完成完整代码并上传视频后,我想在Youtube的评论中提及您,如果您允许的话:)。开始吧。我是Pomax,Processing.js开发者之一=)视频完成:D这里是:非常感谢Pomax!我将在完成内容创建后立即上传到我的网页www.andruinnova.es。