雷竞技注册
项目

感受彩虹:用Arduino感知颜色

2015年6月26日经过蒂姆杨ood

由于不同颜色反映不同级别的光,因此您可以使用光致抗蚀剂或光电晶体管来感测不同的颜色。

由于不同颜色反映不同级别的光,因此您可以使用光致抗蚀剂或光电晶体管来感测不同的颜色。

所需的材料清单:

  • PhotoLro ansistor
  • 光电阻挡者
  • Arduino Mega.
  • 跳线电线
  • LED
  • LED电流限制电阻(250欧姆)
  • 传感器校准电阻(可变电阻,10欧姆电阻)
  • 面包板
  • 热缩管

光电晶体管是三端设备,就像普通晶体管一样,带有基座,集电极和发射器,但光电晶体基底也对光敏感。典型的光电晶体管如下所示。光闪耀在光电晶体管上将导致贱电流流动,然后将导致晶体管进行。通过晶体管的电流流量与落在晶体管基座上的光强度成比例。


光依赖性电阻,称为光电阻挡,当光线闪耀时,改变电阻。当没有光线闪烁时,电阻处于最大值,可能是MeGoHM或更多。当光在光致电灯器上闪烁时,该值取决于光线的亮度。最小电阻可能仅是几百欧姆。以下是典型的光电电阻的照片:

使用光电晶体管或光致抗蚀剂作为颜色传感器

要将光电晶体或光致阻挡电机用作颜色传感器,可以使它们成为分压器电路的一部分。因为两个组件都可以控制基于落在它们的光强度的电流流,所以分压器的输出将与光强度成比例。而且,由于不同的颜色反映了不同的光线,如果准确校准系统,可以使用它们来检测反射光的颜色。

以下是如何配置颜色传感器:

vout.是随着强度变化而变化的电压。因此,随着传感器前面的颜色变化,VOUT变化,此变化用于识别颜色。

为了校准传感器,您必须做一点实验。将不同颜色的床单放在传感器前面并注意输出电压。然后,您可以在Arduino程序中使用此值。

使用H.这里吃的缩小管是非常至关重要的。在光电晶体管或光致阻挡上使用热量收缩管将有助于阻止环境光并有助于确保传感器仅接收来自彩色纸张的光。


设置

1.首先,收集所有所需的组件,如下所示:


2.如下图所示组装电路。首先,我们将使用光电晶体管作为颜色传感器。


3.装配后,面包板将如下所示:

4.将Arduino连接到笔记本电脑,并观察串行监视器的读数:

5.通过在传感器前面放置不同颜色并记录值来校准传感器。


6.记录值后,修改下面显示的代码,然后将程序上传到Arduino。

7.用光致抗蚀器替换光电晶体管并重复校准过程。




代码

int信号= a0;int值= 0;void setup(){serial.begin(9600);//打开串行端口,将数据速率设置为9600 bps pinmode(信号,输入);void循环(){延迟(500);值= analogread(信号);serial.println(价值);延迟(500);//如果(value> 100){serial.println(“白色”);}如果(value <15){serial.println(“黑色”); } else if (value<= 65 && value >50) { Serial.println("RED"); } else if (value>=68 && value<80) { Serial.println("Green"); } else if (value<30 && value>20) { Serial.println("Blue"); } }

color_sensing.zip.

视频

为自己提供这个项目!得到bom。

3评论
  • 本地制时 2015年8月28日

    光强度以多种方式表示。流明,光通量的衡量标准。Candelas,发光强度的测量。所有受到器件的光辐射程度的影响。当使用LED购买时,该度尤为重要也影响其他光源。如果将所有光线指向一个小区域,强度是指数级的。这种设计是一个很好的想法,但取决于它检测到的样子。我可能建议的一个想法是检测光的波长,因为每种颜色都是不同的波长。同样,我认为光束的强度和角度可能会影响这一点。

    喜欢。 回复
  • V.
    veeerava. 2016年5月11日

    检测颜色的极端原始方法。颜色和强度是两个不同的参数

    喜欢。 回复
  • P.
    Pictus. 2016年6月14日

    如上所述,颜色和强度是不同的参数,并且它所认为这可能是一个令人困惑的文章。它确实有潜力,使用3光电晶体管如何覆盖不同的彩色胶片?

    喜欢。 回复