用Arduino实现LED自我控制发光

这个LED是用Arduino控制的,观看下列视频你会发现:光线稍强时LED熄灭,挡一下光LED就点亮了,但是你并没有看到有光敏传感器,这是怎么回事呢?

接线图:

我们知道,给LED通电它就会发光,那么反过来我们用光照射LED会不会产生电压呢?经过试验答案是肯定的,即LED也具有光伏效应,一只普通的白光LED受到稍强的光线照射后会在4.7M的负载电阻上产生数十毫伏的电压(对于大功率的LED其产生的电压还要高)。当负载为4.7M时,在室内靠近窗户的光线下几种LED光伏效应的测量结果:1、白色LED:

2、绿色LED:

3、红色LED

这里Arduino就是利用LED的这一特征作自我控制的,当对LED挡光时,LED不产生光伏电流或产生的光伏电流较小,电路控制其接通,受到光照时,产生的光伏电流较大,电路控制其熄灭。控制灵敏度阈值由程序设定。LED的两个角色是由Arduino分时控制实现的,由于测量的时间极短,你是感觉不到因测量而中断发光引起的闪烁的。正常光照时LED熄灭

挡光后LED点亮

程序代码:int temp=10;void setup(){analogReference(INTERNAL);}void loop(){pinMode( A0 , INPUT);//delayMicroseconds( 10);if (analogRead(A0) < temp ){pinMode( A0, OUTPUT);digitalWrite( A0 , HIGH );temp=15;delay(1);}else temp=10;}

(0)

相关推荐