Arduino+光敏电阻实现光感应灯

2018-11-251.9万
AI 快速预览详细 收起
本教程介绍了如何使用Arduino和光敏电阻实现一个简单的光感应灯。所需元器件包括光敏电阻、红色LED、10KΩ直插电阻、220Ω直插电阻、面包板等。通过连接电路并编写程序,当光强不同时,LED小灯的亮度也会相应变化。参考源程序中,模拟输入analogRead()函数的返回值范围是0到1023,而模拟输出analogWrite()函数的输出值范围是0到255,因此需要将传感器返回值除以4。这个实验适合初学者,可以帮助他们理解光敏电阻的工作原理,并激发对互动作品的兴趣。
Arduino+光敏电阻实现光感应灯

光敏电阻器(photovaristor)又叫光感电阻,是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。
光敏电阻可广泛应用于各种光控电路,如对灯光的控制、调节等场合,也可用于光控开关。
本次实验我们先进行一个较为简单的光敏电阻的使用实验。光敏电阻既然是可以根据光强改变阻值的元件,自然也需要模拟口读取模拟值了,本实验可以借鉴PWM 接口实验,将电位计换做光敏电阻实现当光强不同时LED 小灯的亮度也会有相应的变化。

下面是所需要的元器件:
光敏电阻*1
红色LED*1
10KΩ直插电阻*1
220Ω直插电阻*1
面包板*1
面包板跳线若干

按照以下原理图连接电路。


连接好就可以编写程序了,本实验程序与PWM 实验程序相类似只是在PWM 值赋值时根据我们现在的电路稍有修改(修改部分见参考源程序)。
参考源程序:
[mw_shl_code=applescript,true]int potpin=0;//定义模拟接口0 连接光敏电阻

int ledpin=11;//定义数字接口11 输出PWM 调节LED 亮度

int val=0;//定义变量val

void setup()

{

pinMode(ledpin,OUTPUT);//定义数字接口11 为输出

Serial.begin(9600);//设置波特率为9600

}

void loop()

{

val=analogRead(potpin);//读取传感器的模拟值并赋值给val

Serial.println(val);//显示val 变量数值

analogWrite(ledpin,val);// 打开LED 并设置亮度(PWM 输出最大值255)

delay(10);//延时0.01 秒

}
[/mw_shl_code]

这里我们将传感器返回值除以4,原因是模拟输入analogRead()函数的返回值范围是0 到1023,而模拟输出analogWrite()函数的输出值范围是0 到255。下载完程序再试着改变光敏电阻所在的环境的光强度就可以看到我们的小灯有相应的变化了。在日常生活中光敏电阻的应用是很广泛的,用法也是很多,大家可以根据这个实验举一反三,做出更好的互动作品。




创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(4)
止水波兰
止水波兰
谢谢了
qiuge
qiuge
(小白)学到了,赞!
gada888
gada888
不错不错
成明亮
成明亮
学习了,谢谢!!!!!!!!!
- 没有更多了 -