OCROBOT入门教程010--光控LED
本帖最后由 董董soul 于 2016-10-27 10:58 编辑光强度感应会在很多场合用到,感光元件中光敏电阻使用是最多的我们这节课就来做一个光控LED。
光敏电阻
光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下漂移运动,从而使光敏电阻的阻值迅速下降。
光敏电阻的工作原理基于内光电效应。在半导体光敏材料的两端装上电极引线,将其封装在带有透明窗的管壳里就构成光敏电阻,为了增加灵敏度,两电极常做成梳状。在有光照射时,射入的光强,电阻减小,射入的光弱,电阻增大。
下图就是一个光敏电阻
电路方面,我们用一颗10K电阻与光敏电阻相连,串联的两头接5V和GND,两个原件的连接处接A2端口,然后在D12端口加一颗LED作为指示灯。
int photocellPin = 2; //定义变量photocellsh=2,为电压读取端口。
int ledPin = 12; //定义变量ledPin=12,为led电平输出端口
int val = 0; //定义val变量的起始值
void setup() {
pinMode(ledPin, OUTPUT);//使ledPin为输出模式
}
void loop() {
val = analogRead(photocellPin); //从传感器读取值
if(val<=512){ //512=2.5V,想让传感器敏感一些的时候,把数值调高,想让传感器迟钝的时候把数值调低。
digitalWrite(ledPin, HIGH); //当val小于512(2.5V)的时候,led亮。
}
else{
digitalWrite(ledPin, LOW);
}
}
最后我们通过视频看一下效果
http://player.youku.com/player.php/sid/XNzEyNzk5NjQw/v.swf 为什么这里读取模拟2#引脚直接用2就可以了,而不用A2? 这样不会和数字2#引脚混淆吗?
还是因为analogRead本身默认就是模拟引脚? kevin0512cn 发表于 2014-6-3 10:22 static/image/common/back.gif
为什么这里读取模拟2#引脚直接用2就可以了,而不用A2? 这样不会和数字2#引脚混淆吗?
还是因为analogRe ...
analogRead()默认就只有模拟引脚,所以写A2与2都是可以使用的。数字引脚上无法使用analogRead。 :):(:):):):):):):):)
页:
[1]