Colors 带颜色传感器TCS3200 RGB的Arduino Uno

Colors 带颜色传感器TCS3200 RGB的Arduino Uno,colors,arduino,rgb,Colors,Arduino,Rgb,我试图用Arduino Uno和TCS3200传感器制作一个简单的程序。我想捕获扫描颜色的RGB值,但输出似乎不是RGB代码,因为值超过255,并且与实际颜色不匹配。我认为返回的值是颜色的频率 这是我的密码: #定义S04 #定义s15 #定义S2 6 #定义S37 #定义传感器输出8 整数频率=0; 无效设置(){ pinMode(S0,输出); pinMode(S1,输出); pinMode(S2,输出); pinMode(S3,输出); 引脚模式(传感器输出、输入); //将频率缩放设置为

我试图用Arduino Uno和TCS3200传感器制作一个简单的程序。我想捕获扫描颜色的RGB值,但输出似乎不是RGB代码,因为值超过255,并且与实际颜色不匹配。我认为返回的值是颜色的频率

这是我的密码:

#定义S04
#定义s15
#定义S2 6
#定义S37
#定义传感器输出8
整数频率=0;
无效设置(){
pinMode(S0,输出);
pinMode(S1,输出);
pinMode(S2,输出);
pinMode(S3,输出);
引脚模式(传感器输出、输入);
//将频率缩放设置为20%
数字写入(S0,高);
数字写入(S1,低电平);
Serial.begin(9600);
}
void循环(){
//设置要读取的红色滤波光电二极管
数字写入(S2,低电平);
数字写入(S3,低电平);
//读取输出频率
频率=脉冲信号(传感器输出,低);
//将频率值重新映射到0到255的RGB模型
频率=映射(频率,25,72255,0);
//在串行监视器上打印值
Serial.print(“R=”);//打印名称
Serial.print(频率);//打印红色频率
连续打印(“”);
延迟(100);
//设置要读取的绿色滤波光电二极管
数字写入(S2,高);
数字写入(S3,高);
//读取输出频率
频率=脉冲信号(传感器输出,低);
//将频率值重新映射到0到255的RGB模型
频率=映射(频率,30,90255,0);
//在串行监视器上打印值
Serial.print(“G=”);//打印名称
Serial.print(频率);//打印红色频率
连续打印(“”);
延迟(100);
//设置要读取的蓝色滤波光电二极管
数字写入(S2,低电平);
数字写入(S3,高);
//读取输出频率
频率=脉冲信号(传感器输出,低);
//将频率值重新映射到0到255的RGB模型
频率=映射(频率,25,70255,0);
//在串行监视器上打印值
Serial.print(“B=”);//打印名称
Serial.print(频率);//打印红色频率
Serial.println(“”);
延迟(100);
}
有没有办法将频率值转换为精确的RGB颜色

编辑:以下是灰色材质的扫描:

R= 174  G= 200  B= 340  
R= 174  G= 200  B= 317  
R= 174  G= 200  B= 323  
R= 174  G= 200  B= 323  
R= 174  G= 200  B= 323  
R= 174  G= 200  B= 323  
R= 180  G= 204  B= 323  
R= 185  G= 209  B= 323  
R= 180  G= 209  B= 323  
R= 185  G= 209  B= 323  
R= 185  G= 209  B= 323  
R= 218  G= 209  B= 323  
R= 185  G= 209  B= 328  

你为什么不给我们看一个输出样本?这是一个灰色材料的扫描输出:R=174 G=200 B=340 R=174 G=200 B=317 R=174 G=200 B=323 R=174 G=200 B=323 R=174 G=200 B=323 R=174 G=200 B=323 R=180 G=204 B=323 R=185 G=209 B=323 R=185 R=185G=209 B=323 R=218 G=209 B=323 R=185 G=209 B=328