37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。
【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
实验三十:光敏二极管传感器模块(英语:photodiode )
光敏二极管
也叫光电二极管。光敏二极管与半导体二极管在结构上是类似的,其管芯是一个具有光敏特征的PN结,具有单向导电性,因此工作时需加上反向电压。无光照时,有很小的饱和反向漏电流,即暗电流,此时光敏二极管截止。当受到光照时,饱和反向漏电流大大增加,形成光电流,它随入射光强度的变化而变化。当光线照射PN结时,可以使PN结中产生电子一空穴对,使少数载流子的密度增加。这些载流子在反向电压下漂移,使反向电流增加。因此可以利用光照强弱来改变电路中的电流。常见的有2CU、2DU等系列。
光敏二极管与光敏电阻的区别
光敏电阻又称光敏电阻器或光导管常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。还有另一种入射光弱,电阻减小,入射光强,电阻增大。根据光敏电阻的光谱特性,可分为三种光敏电阻器:紫外光敏电阻器、红外光敏电阻器、可见光光敏电阻器。和光敏二极管不同,光敏电阻测量的时候,没有正反,2面的电阻是一样的。
光敏电阻和光敏二极管相比,光敏电阻内部的光电效应和电极无关(光电二极管才有关),即可以使用直流电源,灵敏度和半导体材料、以及入射光的波长有关,环氧树脂胶封装,可靠性好, 体积小, 灵敏度高,反应速度快,光谱特性好。但是光敏电阻受温度影响较大,响应速度不快,在ms到s之间,延迟时间受入射光的光照度影响(光电二极管无此缺点,光电二极管灵敏度比光敏电阻高)最后光敏电阻是耗材。
应用领域
光敏二极管是电子电路中广泛采用的光敏器件。光敏二极管和普通二极管一样具有一个PN结,不同之处是在光敏二极管的外壳上有一个透明的窗口以接收光线照射,实现光电转换,在电路图中文字符号一般为VD。主要用于自动控制、如光耦合、光电读出装置、红外线遥控装置、红外防盗、路灯的自动控制、过程控制、编码器、译码器等。
我手头上的3线制和4线制的光敏二极管感应器模块
模块用途
光线亮度检测,光线亮度传感器,具有方向性,只感应传感器正前方的光源,用于寻光效果更佳光线亮度检测,光线亮度传感器,具有方向性,只感应传感器正前方的光源,用于寻光效果更佳。
模块电原理图
模块特色
1 可以检测周围环境的亮度和光强度(与光敏电阻比较,方向性比较好,可以感知固定方向的光源)
2 灵敏度可调(图中蓝色数字电位器调节)
3 工作电压 3.3V-5V
4 输出形式:DO 数字开关量输出(0 和 1)和 AO 模拟电压输出
5 设有固定螺栓孔,方便安装
6 小板 PCB 尺寸:3.2cm * 1.4cm
接线说明(3线制)
1、VCC 接电源正极3.3-5V
2、GND 接电源负极
3、DO TTL开关信号输出
接线说明(4线制)
1、VCC 接电源正极3.3-5V
2、GND 接电源负极
3、DO TTL开关信号输出
4、AO 模拟量输出
模块使用:
1 光敏二极管模块对环境光强最敏感,一般用来检测周围环境的亮度和光强,在大多数场合可以与光敏电阻传感器模块通用,二者区别在于,光敏二极管模块方向性较好,可以感知固定方向的光源;
2 模块在无光条件或者光强达不到设定阈值时,DO 口输出高电平,当外界环境光强超过设定阈值时,模块 D0 输出低电平;
3 小板数字量输出 D0 可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的光强改变;
4 小板数字量输出 DO 可以直接驱动继电器模块,由此可以组成获得环境光强更精准的数值。
/* 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真) 实验三十:光敏二极管传感器模块(3线制) */ void setup() { pinMode(3,INPUT); pinMode(13,OUTPUT); } void loop() { if (digitalRead(3)) { digitalWrite(13,LOW); } else { digitalWrite(13,HIGH); delay(1000); } }
/* 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真) 实验三十:光敏二极管传感器模块(4线制) */ void setup() { Serial.begin(9600); pinMode(A0,INPUT); pinMode(3,OUTPUT); } void loop() { analogWrite(3, (map(analogRead(A0),0,1023,0,235))); Serial.println((map(analogRead(A0),0,980,235,0))); delay(300); }
一片乌云来来去去的光线波形
环境自然光线的波形