圣源电子制作

标题: arduino学习笔记22光控LED实验 [打印本页]

作者: SYDZ__顺    时间: 2012-4-26 17:46
标题: arduino学习笔记22光控LED实验
本帖最后由 SYDZ__顺 于 2012-5-15 18:16 编辑

(, 下载次数: 208) arduino学习笔记22光控LED实验
光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下漂移运动,从而使光敏电阻的阻值迅速下降。

光敏电阻的工作原理基于内光电效应。在半导体光敏材料的两端装上电极引线,将其封装在带有透明窗的管壳里就构成光敏电阻,为了增加灵敏度,两电极常做成梳状。在有光照射时,射入的光强,电阻减小,射入的光弱,电阻增大。

下图就是一个光敏电阻
(, 下载次数: 206)



本次实验设计的效果是,当光照正常的时候led灯是灭的,当周围变暗时led灯变亮。

因为光敏电阻受不同光照影响变化很大,所以本次实验的参数是在60W三基色节能灯照射下实验(无日光照射),同样亮度的日光下光敏电阻的阻值会比日光灯下低不少,估计和不同光的波段有关系。不同环境下实验使用的参数不同,大家根据原理进行调整。

实验前先测量一下当前环境下光敏电阻的亮阻值与暗阻值

下图是测出来的LED亮阻值,为9.1KΩ

(, 下载次数: 213)
下图是测出来的LED暗阻值,为32.4KΩ
(, 下载次数: 212)

硬件连接图如下

(, 下载次数: 207)




根据测出来的亮阻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.   }
复制代码
实验效果如下
http://player.youku.com/player.php/sid/XMjg1MzAxMDUy/v.swf





欢迎光临 圣源电子制作 (http://syyyd.com/) Powered by Discuz! X3.4