光敏传感器
光阻器是一个模拟传感器,作用类似于可变电阻器。当传感器暴露在光线下时,传感器的电阻降低。我们可以使用模拟输入引脚读取光电阻器上的电压,这与光阻器的电阻直接相关。
引脚名称
名字 | 描述 |
---|---|
VCC | 正电源 |
GND | 地 |
DO | 数字输出 |
AO | 模拟输出 |
操作
光阻传感器模块包括一个LDR(光依赖电阻器)系列与10K电阻器。AO 销连接 LDR 和 10K 电阻器。
AO 端上的电压取决于照明 - 即落在传感器上的光量。您可以通过将光驱光传感器的 AO 端连接到模拟输入引脚,然后使用该功能来读取此电压。analogRead()
条件 | 光照强度 | LDR 阻值 | 电压 | analogRead(value) |
---|---|---|---|---|
满月 | 0.1 | 1.25MΩ | 4.96 | 1016 |
深暮 | 1 | 250kΩ | 4.81 | 985 |
黄昏 | 10 | 50kΩ | 4.17 | 853 |
计算机监视器 | 50 | 16.2kΩ | 3.09 | 633 |
楼梯照明 | 100 | 9.98kΩ | 2.50 | 511 |
办公室照明 | 400 | 3.78kΩ | 1.37 | 281 |
阴天 | 1,000 | 1.99kΩ | 0.83 | 170 |
全日光 | 10,000 | 397Ω | 0.19 | 39 |
直射 | 100,000 | 79Ω | 0.04 | 8 |
代码解析:
- 换算函数
analogRead()
// 根据表格选择正确的GAMMA和RL10
const float GAMMA = 0.7;
const float RL10 = 50; //光照强度为10,相当于表格黄昏的电阻50K欧
// Convert the analog value into lux value:
int analogValue = analogRead(A0);
float voltage = analogValue / 1024. * 5;
float resistance = 2000 * voltage / (1 - voltage / 5