本帖最后由 SYDZ__顺 于 2012-5-15 18:16 编辑
arduino学习笔记22光控LED实验 光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下漂移运动,从而使光敏电阻的阻值迅速下降。
光敏电阻的工作原理基于内光电效应。在半导体光敏材料的两端装上电极引线,将其封装在带有透明窗的管壳里就构成光敏电阻,为了增加灵敏度,两电极常做成梳状。在有光照射时,射入的光强,电阻减小,射入的光弱,电阻增大。
下图就是一个光敏电阻
本次实验设计的效果是,当光照正常的时候led灯是灭的,当周围变暗时led灯变亮。
因为光敏电阻受不同光照影响变化很大,所以本次实验的参数是在60W三基色节能灯照射下实验(无日光照射),同样亮度的日光下光敏电阻的阻值会比日光灯下低不少,估计和不同光的波段有关系。不同环境下实验使用的参数不同,大家根据原理进行调整。
实验前先测量一下当前环境下光敏电阻的亮阻值与暗阻值
下图是测出来的LED亮阻值,为9.1KΩ
下图是测出来的LED暗阻值,为32.4KΩ
硬件连接图如下
根据测出来的亮阻9.1KΩ,暗阻32.4欧姆。选定分压电阻为10KΩ。因为当有遮挡物的后,阻值会变大。假设亮阻为10KΩ(对于光敏电阻来说,与测量出来的9.1KΩ差别不大,计算起来更加方便了),分压阻值为10K欧姆。模拟2号口所测量的触发电压为10KΩ分压电阻的,在5V电源供电下,亮与暗转换的触发电压为5×10÷(10+10)=2.5V。当光线越暗,光敏电阻的阻值也就越大,分压两端电压也就越小。所以触发条件就为≤2.5V。(不同光照条件下触发电压不同,请根据实验环境进行调整。)
程序代码如下 1. int photocellPin = 2; //定义变量photocellsh=2,为电压读取端口。 2. int ledPin = 12; //定义变量ledPin=12,为led电平输出端口 3. int val = 0; //定义val变量的起始值 4. 5. 6. void setup() { 7. pinMode(ledPin, OUTPUT); //使ledPin为输出模式 8. } 9. 10. void loop() { 11. val = analogRead(photocellPin); //从传感器读取值 12. if(val<=512){ //512=2.5V,想让传感器敏感一些的时候,把数值调高,想让传感器迟钝的时候把数值调低。 13. digitalWrite(ledPin, HIGH); //当val小于512(2.5V)的时候,led亮。 14. } 15. else{ 16. digitalWrite(ledPin, LOW); 17. } 18. } 复制代码 实验效果如下
|