打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
光敏电阻制作光控LED灯
userphoto

2023.10.17 广西

关注

1.光敏电阻的基本原理

光敏电阻也是电阻中的一种,其阻值随光强度的变化而变化。光敏电阻一般由硫化镉、硒化镉、硫化铝等半导体材料制成,这些材料在特定波长的光照射下,载流子在电场的作用下漂移运动,其阻值迅速下降。

光敏电阻的阻值随光强度的增加而减小,光敏电阻在黑暗的环境下其阻值一般几十K以上,甚至高达1MΩ到10MΩ。如下图为光敏电阻实测结果,在光线较充足的环境下其阻值3.049K,在较暗的环境下测量,其阻值为74.9K。

2、光敏电阻控制LED的原理

光敏电阻采样的原理较简单,光敏电阻直接串联一个高精度的基准电阻1KΩ,再接5V电源即可,中间输出接入单片机ADC采样接口进行电压采样。

通过单片机IO口控制LED灯亮灭,实现白天光线较亮时,LED灯不亮;晚上光线较暗时,LED灯点亮。

其原理为,光线变化会影响光敏电阻阻值改变,从而导致ADC接口采集到的电压变化,单片机通过采集到的电压数字量进行判断是白天还是黑夜,当黑夜时,控制IO口输出高电平点亮LED灯;当白天时,IO口输出低电平,LED灯不亮。

A0引脚是ADC引脚(模拟输入引脚),Arduino有6个模拟输入引脚A0~A5,对于输入引脚的参考电压为0~5V,库函数为analogRead(),读取返回值,范围为0~1023,线性关系,输入0V时返回值为数字0,输入5V时,返回值为1023,比如光敏电阻为4K时,ADC接口的电压为4V,对应的数字量为4/5×1023=818,因此,analogRead()返回818,利用该值控制LED灯亮灭。

示例程序如下:

int led_0 = 13;

int lightSensor_0 = A0;

void setup() {

pinMode(led_0, OUTPUT);

pinMode(lightSensor_0, INPUT);

}

void loop() {

if(analogRead()>818)

digitalWrite(led_0,HIGH);

else

digitalWrite(led_0,LOW);

}

当采集到的数字量大于818时,即光敏电阻的阻值大于818时,认为光线较暗,LED的IO口输出高电平,点亮LED灯;否则,认为光线较强,LED的IO口输出低电平,LED灯熄灭。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
光敏电阻的原理,即实例小制作:光控LED灯
光控LED庭院灯的工作原理是什么?
电子设计 -- 路灯开关模拟电路
光控自动节能LED灯电路
光控开关的制作
Arduino极简教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服