Arduino uno 光敏小夜灯


拾遗
原创
发布时间: 2026-02-12 11:02:55 | 阅读数 0收藏数 0评论数 0
封面
Arduino Uno 光敏小夜灯是一个入门级的智能照明小项目,通过光敏电阻检测环境光强度,实现“天黑自动亮灯、天亮自动熄灯”的效果。该项目结合了模拟信号读取与 RGB LED 控制,既能帮助学习 Arduino 的基础电路连接,又能理解传感器数据采集和逻辑控制的原理。整个系统结构简单、成本低,非常适合电子制作初学者、学生实验和创客入门练习,同时也具有一定的实用价值。

准备工作:

材料:

材料名称
数量
备注
Arduino uno
1
光敏电阻
1
RGB LED
1
电阻
3
跳线  
若干
1

接线

接线效果如图

2

代码

#include <Wire.h>

// RGB 灯引脚
const int redPin = 7;
const int greenPin = 6;
const int bluePin = 5;

// 光敏电阻模拟口
#define AD5 A5

int intensity = 0; // 当前光照值

void setup() {
Serial.begin(9600);

// 等待串口准备好(Leonardo 等板子需要)
while (!Serial) {
;
}

// 设置 RGB 引脚为输出模式
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}

void loop() {
// 读取光照强度:越暗数值越大
intensity = analogRead(AD5);

Serial.print("Intensity = ");
Serial.println(intensity);

// 根据光照控制灯
if (intensity > 600) {
// 环境较暗 → 点亮蓝灯
setColor(0, 0, 255);
} else {
// 环境较亮 → 熄灯
setColor(0, 0, 0);
}

delay(1000); // 每秒检测一次
}

// 设置 RGB 颜色
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}

3

测试

光照充足时:光敏电阻阻值变小,电路检测到高光照强度,LED 保持熄灭状态。

环境黑暗时:光敏电阻阻值变大,电路检测到低光照强度,LED 自动点亮。

如图所示

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载
pdf下载 举报