亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

光敏电阻与 LED 环境光感应器 – 入门级 Arduino 教程

项目目标

使用光敏电阻(光依赖电阻,LDR)检测环境光强,通过 Arduino 读取模拟值,分三档控制两颗不同颜色 LED 指示“强光/中光/弱光”,并在串口监视器打印实时数值与状态文本。适合零基础入门模拟输入、条件判断与串口调试。

硬件清单

电路连接

光敏电阻分压电路

光敏电阻一脚接 5V,另一脚接 A0 与 1kΩ 电阻一端;1kΩ 另一端接 GND。光照越强,电阻越小,A0 读值越大(0~1023)。

LED 指示电路

LED 阳极分别接 D13、D12(或任意数字口),阴极串 220Ω 接地。代码中 D13 为左侧 LED,D12 为右侧 LED。

代码实现

int light = 0; // 存储光照模拟值

void setup() {
  Serial.begin(9600);
  pinMode(13, OUTPUT); // 左 LED
  pinMode(12, OUTPUT); // 右 LED
}

void loop() {
  light = analogRead(A0); // 读取光敏电阻分压电压
  Serial.println(light);  // 打印原始值

  if (light > 450) {                // 强光
    Serial.println("It is quite light!");
    digitalWrite(13, LOW);
    digitalWrite(12, LOW);
  } else if (light > 229) {         // 中光 (230~450)
    Serial.println("It is average light!");
    digitalWrite(13, HIGH); // 左 LED 亮
    digitalWrite(12, LOW);
  } else {                          // 弱光 (<230)
    Serial.println("It is pretty dark!");
    digitalWrite(13, HIGH); // 双 LED 亮
    digitalWrite(12, HIGH);
  }
  delay(1000); // 避免串口刷屏
}

阈值调整建议

实际环境中,打开串口绘图器观察不同光照下的数值分布,再修改代码中的 450 与 229 阈值。也可改用 map() 映射为 0~100 百分比,或引入滑动平均滤波减少抖动。

进阶扩展

常见问题排查

  1. 串口始终显示 1023:光敏电阻未接好或 1kΩ 电阻接错,检查分压节点是否悬空。
  2. LED 不亮:确认极性、限流电阻阻值、引脚号与代码一致。
  3. 阈值不灵敏:更换不同阻值的固定电阻(如 4.7kΩ、10kΩ)改变分压比例。

制造工艺

  1. 树莓派与 Python 构建远程温度传感器:分步实战指南
  2. 树莓派 PIR 运动传感器控制 LED 实战指南
  3. 树莓派多传感器温度光照监测系统:DS18B20 实战构建
  4. 基于树莓派的卫生间占用传感器:通过 Twilio 实现语音与短信提醒
  5. 智能物联网罐:ESP8266 + Arduino + 超声波传感器实时监测罐内物位
  6. 可见光通信 (Li-Fi) 实验:Arduino 实现 LED 无线数据传输
  7. Bolt IoT + Arduino UNO 实现 6 路 LED 无级调光
  8. 仪表盘灯光全解码:颜色含义、常见报警灯与指示灯图文详解
  9. 色彩传感器:工作原理与关键应用
  10. OPT3007超薄环境光传感器:智能设备精准光测量
  11. 环境光传感器:功能、设计与关键应用
  12. 光学传感器:基础、类型与实用应用