「雕爷学编程」Arduino动手做(30)——光敏二极管模块
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);
}



一片乌云来来去去的光线波形


环境自然光线的波形


「雕爷学编程」Arduino动手做(30)——光敏二极管模块的更多相关文章
- 「雕爷学编程」Arduino动手做(15)——手指侦测心跳模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(9)——火焰传感器模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(10)——敲击传感器模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(14)——倾斜角度模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(13)——触摸开关模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(12)——霍尔磁力模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(11)——金属触摸模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(8)——湿度传感器模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(7)——旋转电位器模块
37款传感器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验 ...
随机推荐
- 安装和使用redis
我现在只是在window上使用redis在其他平台上暂时没有操作过,如果你有其他好的意见欢迎提出来! 安装redis具体可查看:http://www.runoob.com/redis/redis-in ...
- mysql闪回工具--binlog2sql实践
DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚.传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据.此法费时费力,甚至需要停机维护 ...
- Github C 编译器项目 8cc main函数中用到的 C库函数
atexit C 库函数 int atexit(void (*func)(void)) 当程序正常终止时,调用指定的函数 func.您可以在任何地方注册你的终止函数,但它会在程序终止的时候被调用. s ...
- opencv-5-图像遍历与图像改变
opencv-5-图像遍历与图像改变 opencvc++qt 目录 目录 开始 图像的像素点访问与遍历 opencv 座标定义 下标访问 指针访问 迭代器法访问 遍历访问时间对比 图像操作 图像叠加 ...
- 深拷贝、浅拷贝与Cloneable接口
深拷贝与浅拷贝 浅拷贝 public class Student implements Cloneable{ Integer a; Integer b; @Override protected Obj ...
- SpringBoot 集成Swagger2自动生成文档和导出成静态文件
目录 1. 简介 2. 集成Swagger2 2.1 导入Swagger库 2.2 配置Swagger基本信息 2.3 使用Swagger注解 2.4 文档效果图 3. 常用注解介绍 4. Swagg ...
- 斐波那契数列计算html代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 《高性能Linux服务器构建实战》——第1章轻量级HTTP服务器Nginx
第1章 轻量级HTTP服务器Nginx本章主要介绍Nginx的配置管理和使用.作为一个轻量级的HTTP服务器,Nginx与Apache相比有以下优势:在性能上,它占用很少的系统资源,能支持更多的并发连 ...
- javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
2019独角兽企业重金招聘Python工程师标准>>> 问题 前两天一个学弟在群里面问一个问题: 请问一下用阿里云服务器发送https请求为什么会失败,是需要有些其他什么配置吗? 同 ...
- 12c DG broker DMON自动重启过程分析
一.知识点 1.强烈建议大家管理dataguard使用broker. 2.broker的日志要知道在哪里,会看日志是学习的第一步. 3.体系结构需要看官方文档. 二.测试过程 1.查看DMON进程 & ...