本帖最后由 techff 于 2023-9-21 11:31 编辑

传感器概述

一提到传感器,大家就会想到一个以电子方式检测某些条件状态的装置或电子器件。具体有哪些条件状态呢?包括光、声音、温度、湿度、倾斜度以及加速度等。比如在我们的日常生活中离我们很近但我们却不想经历的火灾报警器,配有能够感应温度和烟雾的传感器,当温度和烟雾达到一定条件时即会触发警报机制。另外,数码相机也配备有光传感器。现在的传感器已经非常先进,甚至可以通过人工智能(AI)技术分析图像和识别固体物,这种识别能力已经超过了传感器本身的功能。

可以想象一下,当您走在街上,听到有人喊您,如果遇到心里想“这是谁来着?”的情况,此时此刻,真希望自己的大脑能连接AI设备啊。

总之,电子制作可以使用的装置、元器件及其工作机制种类繁多,还有一些产品可以像扩展组件一样与微控制器相连,并直接获取数据。在本文中,我们将回归基础,使用一种叫做“光电晶体管”的光传感器。以前,提到光传感器,就是指硫化镉(CdS)光敏电阻,这是一种一旦接收到光其电阻值就会下降的元件。顾名思义,这种传感器采用硫化镉制成,但出于环保方面的考虑,这种传感器的使用已经越来越少。

NJL7502L光电晶体管(左)和2个硫化镉光敏电阻(右)

这种光电晶体管采用半导体制成,与一般的双极晶体管结构相同。二者唯一的区别是光电晶体管的输入是光。

图形符号

从图形符号来看,这种晶体管与NPN型晶体管相似,但没有B端(基极),取而代之的是一个箭头。这个箭头代表光,因此B端(基极)输入的并非电流,而是入射光。也就是说,C端(集电极)到E端(发射极)之间输出的是光的强弱。具有根据光的情况进行放大或开关的功能。


光电晶体管与GPIO的连接

我们尝试将光电晶体管与Raspberry Pi上的GPIO相连。使用的语言是Scratch,传感器的取值方法与开关相同,为1和0。

这个电路简直太简单了,简单到甚至让人怀疑用这个电路到底能不能工作,那么就让我们来试一试吧。
当没有光射入光电晶体管时,输入设置为“pullup”,因此开关ON。也就是说,此时值为1。有光射入时,在光电晶体管的作用下,输入变为负值,开关OFF,值变为0。

声明GPIO,然后将输入GPIO设置为“pullup”,通过小猫编程软件(儿童编程软件Scratch)输出结果。将光照射在传感器上,或用手遮住传感器部分挡住光,可以看到值变成“1”或者“0”。这里我们使用的是光传感器,大家也可采用其他不同的传感器来试一试制作不同的作品。例如,采用温度传感器——热敏电阻,创建一个当温度升高时可以打开电机送风的装置;还可与湿度传感器配合使用,创建中暑警报器等作品。总之,GPIO输入真的非常方便!

通过光来检测物体的传感器

在很多情况下,光电晶体管可能会受到周围环境光的影响。当然,在黑暗的环境中这种传感器就没有用武之地了。因此,与LED结合使用,也就是与光源配对使用光电晶体管,效果会更好。这种配对使用的元器件有很多种,具体的结构和检测方法等也不尽相同。

光断续器是将光电晶体管与LDE成直线配置,使LED的光直接输入到光电晶体管,当有物体穿过它们当中并遮挡光线时,就会检测到该物体的一种感测装置。此类设备一般用于工厂生产线和打印机等设备中,所以我们在生活中并不常见。

反射式光电传感器则是将LED和光电晶体管安装在同一方向,当有物体通过它们前面时,就会检测到反射光的一种感测装置。最常见的应用是公共卫生间的自动冲水传感器。

光电耦合器由LED和光电晶体管配对组成,但这种产品不是用来检测其间物体的,而是用来通过光传输信号的。因此,光电耦合器并不是传感器,但因其同样使用了光源和光接收器件而暂且列为传感器的伙伴吧。光电耦合器无需连电即可传输信号,因此适用于注重电路安全的应用,以及向电气特性不同的电路传输信号的应用。

反射式光电传感器与GPIO的连接

此次,我们打算使用ROHM的RPR-220反射式光电传感器。这种反射式光电传感器由LED和晶体管组成,接下来我们来了解一下它们的特性。

RPR-220

首先,LED部分的电压和电流分别为1.34V和50mA,光电晶体管部分集电极电流为300mA,因此LED电源需要使用3.3V的Raspberry Pi电源引脚,连接51Ω的限流电阻器,并与LED部分连接。这种LED的光是红外光,肉眼无法直接看到,但使用数码相机可以很清楚地看到它在发光。

光电晶体管部分的电路与之前的电路相同。这样,就可以发挥传感器的作用了。只是作为Scratch的输出会略显无聊,所以我们暂且尝试了作为Raspberry Pi的输出,让LED自行点亮。当然,也可以像之前一样,尝试让电机转起来。



面包板组装示意如图如下:



Scratch程序示意如图如下:



完成以上步骤后,当传感器前面有东西时,LED就会点亮。


反射式光电传感器的结构是发光单元和光接收单元分开配置在封装内部的。由于是用来反射光的产品,所以如果有什么东西与封装紧密接触,光接收单元就无法很好地接收反射光。对于RPR-220来说,距离封装6mm为宜。因此,可能设想创建一些通过玻璃或亚克力板放置什么东西的项目比较好。