|
由于不同的颜色反射光照的强度不同,我们可以使用光敏电阻或光敏三极管来感应不同的颜色。
所需的材料 ● 光敏三极管 ● 光敏电阻 ● Arduino Mega开发板 ● 连接导线 ● 发光二极管 ● LED限流电阻(250欧) ● 传感器校准电阻(10欧电位器)
光敏三极管是一种三端器件,就像普通的三级管一样,带有基极、集电极和发射极,但光敏三极管基极也对光线敏感。典型的光敏三极管如下所示。照射在光敏三极管上的光线将引起基极电流流动,这将导致三极管导通。通过三极管的电流与落在三极管基极上的光强度成比例。
光敏电阻(LDR)在光照射时会改变电阻值。当没有光线照射在它们上面时,电阻值处于最大值,可能是兆欧或更大。当光线照射在光敏电阻上时,该阻值会根据光线的亮度而降低。最小电阻可能只有几百欧姆。下面是一张常见的光敏电阻的照片:
颜色传感器 要使用光敏三极管或光敏电阻作为颜色传感器,可以将它们作为分压电路的一部分。因为两个组件都可以根据落在它们上的光强度来控制电流,所以分压器的输出将与光强度成比例。并且,由于不同的颜色反射不同的光强度,如果您准确地校准系统,您可以使用它们来检测反射光的颜色。
以下是配置颜色传感器的方法:
Vout是随着光照强度变化而变化的电压。因此,当传感器前面的颜色发生变化时,Vout会发生变化,这种变化用于识别颜色。
要校准传感器,您需要进行一些实验。将不同颜色的纸张放在传感器前面并记下输出电压。然后,您可以在Arduino程序中使用此值。
在这里使用热缩管是非常关键的。在光敏三极管或光敏电阻上使用热缩管将有助于阻挡环境光,并有助于确保传感器仅接收来自彩色纸的光。
操作方法
1. 首先,收集所有必需的组件,如下所示:
2. 组装电路,如下图所示。首先,我们将使用光敏三极管作为颜色传感器。
3. 组装后,面包板将如下所示:
4. 将Arduino连接到笔记本电脑并观察串口监视器上的读数:
5. 通过在传感器前放置不同的颜色板并记录值来校准传感器。
6. 记录值后,修改下面给出的代码,然后将程序上传到Arduino开发板。 7. 用光敏电阻替换光电晶体管并重复校准过程。
代码 - int signal=A0;
- int value=0;
- void setup()
- {
- Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
- pinMode(signal,INPUT);
- }
- void loop()
- {
- delay(500);
- value=analogRead(signal);
- Serial.println(value);
- delay(500);
- //Conditions for different colors
- if (value>100)
- {
- Serial.println("White");
- }
- else if (value<15)
- {
- Serial.println("Black");
- }
- 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");
- }
- }
复制代码
|