zch-Jerry 发表于 2015-7-22 17:06:53

如何读取RGB值

      
   下面这个程序是实现RGB彩灯的程序,我想做成智能灯但是亮度不可调,不知道怎么改程序可以实现亮度调节。。。请大神指教

int redPin   =11;   // 红
int greenPin = 10;// 绿
int bluePin= 9;// 蓝

// Program variables
int redVal   = 255;
int greenVal = 1;   
int blueVal= 1;

int i = 0;   
int wait = 50;
int DEBUG = 0;

void setup()
{
pinMode(redPin,   OUTPUT);
pinMode(greenPin, OUTPUT);   
pinMode(bluePin,OUTPUT);

Serial.begin(9600);
}


void loop()
{
i += 1;   
if (i < 255)
{
    redVal   -= 1;
    greenVal += 1;
    blueVal   = 1;
}
else if (i < 509)
{
    redVal    = 1;
    greenVal -= 1;
    blueVal+= 1;
}
else if (i < 763)
{
    redVal+= 1;
    greenVal = 1;
    blueVal -= 1;
}
else
{
    i = 1;
}

analogWrite(redPin,   redVal);
analogWrite(greenPin, greenVal);
analogWrite(bluePin,blueVal);

Serial.println(redVal);
Serial.println(greenVal);
Serial.println(blueVal);



if (DEBUG) {
    DEBUG += 1;   
    if (DEBUG > 10)
    {
      DEBUG = 1;   

      Serial.print(i);      
      Serial.print("\t");   
      Serial.print("R:");   
      Serial.print(redVal);
      Serial.print("\t");   
      Serial.print("G:");   
      Serial.print(greenVal);
      Serial.print("\t");   
      Serial.print("B:");   
      Serial.println(blueVal);
    }
}
delay(wait);
}

   怎么编写一个程序,读出上面redVal,greenVal,blueVal的值.提取出来我要在PC端加以控制。下面这个程序不知道能不能实现??、
#include<stdio.h>
#include<math.h>
void main()
{
    int redVal,greenVal,blueVal;
   
    printf("%d,%d,%d\n",redVal,greenVal,blueVal);
}
页: [1]
查看完整版本: 如何读取RGB值