使用Raspberry Pi进行传感器输入实验

电子说

1.3w人已加入

描述

这篇文章来源于DevicePlus.com英语网站的翻译稿。

本文最初发布在deviceplus.jp网站上,而后被翻译成英语。

在本系列文章中,主要是通过使用Raspberry Pi创建的简单项目来学习电子设计的原理和基础知识。此次的分享嘉宾是伊藤尚未先生,一位媒体艺术家和作家,以讲解“更深层次的原理”而闻名。本文将探讨传感器输入实验。

[目录]

1. 前言
2. 电机旋转原理
3. 传感器概述
4. 光电晶体管与GPIO的连接
5. 光反射器与GPIO的连接
6. 结论

1. 简介

这个世界每天都在飞速发展,很多人跟不上发展的步伐,并非他们对新事物不感兴趣,而是在各个方面与时俱进实在是心余力绌。因此,我会先对各类不同事务进行思考,然后整理思考结果并确定我应该做的事情,专注于我认为有趣的事情并全身心投入去做,这就是今天我在这里所做的工作的源动力。

2. 电机旋转原理

在上一篇文章中我们用的是直流电机。我在汽车模型、塑料模型和无线电控制模型方面有着丰富的经验。我认为直流电机就像是能量转换的代表,能够将电能转换成动能。下面通过简单的原理图来具体说明。

Raspberry Pi

当然,基本原理是电流产生的磁场会影响永磁体(铁氧体磁铁)的磁场,从而产生等于动能的物理力。想知道这个机理是什么吗?对,就是弗莱明左手定则。大家应该都听说过吧。

弗莱明左手定则
首先,您应该知道,弗莱明定则分为右手定则和左手定则。拇指、食指和中指互相垂直,分别代表三维XYZ轴。拇指代表力的方向,食指代表磁场的方向,中指代表电流流动的方向。

Raspberry Pi

通过使自己的左右手摆成这种造型,即可直接了解这三者之间的关系。将肘部弯曲并暂且将手拉至胸前,然后将肘部向左右45度方向伸展,并大声说“耶!” 关键在于左右手的形状。一只手代表电机的原理,另一只手代表发电机的原理,怎么样?大家还记得哪只手代表电机哪只手代表发电机吗?

一只手代表通过电能产生动能的电机;另一只手代表通过动能创造电能的发电机。对于惯用右手的人而言,很容易就能记住右手是勤勤恳恳不断运动的“发电机”,那么左手就是动作不够麻利的“电机”。接下来,让我们进入主题,尝试通过Raspberry Pi使用传感器。

3. 传感器概述

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

可以想象一下,当您走在街上,听到有人喊您,如果遇到心里想“这是谁来着?”的情况,此时此刻,真希望自己的大脑能连接AI设备啊。
总之,电子作品可以使用的设备、元器件及其工作机制种类繁多,还有一些产品可以像扩展组件一样与微控制器相连,并直接获取数据。在本文中,我们将回归基础,使用一种叫做“光电晶体管”的光传感器。以前,提到光传感器,就是指硫化镉(CdS)光敏电阻,这是一种一旦接收到光其电阻值就会下降的元件。顾名思义,这种传感器采用硫化镉制成,但出于环保方面的考虑,这种传感器的使用已经越来越少。

Raspberry Pi

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

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

Raspberry Pi

图形符号

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

光电晶体管与GPIO的连接

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

Raspberry Pi

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

Raspberry Pi

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

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

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

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

Raspberry Pi

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

Raspberry Pi

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

Raspberry Pi

光反射器与GPIO的连接

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

Raspberry Pi

RPR-220

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

Raspberry Pi

光电晶体管部分的电路与之前的电路相同。这样,就可以发挥传感器的作用了。我们暂且尝试了让LED自行点亮。当然,也可以像之前一样,尝试让电机转起来。

Raspberry Pi

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

Raspberry Pi

Raspberry Pi

Scratch程序示意如图如下:

Raspberry Pi

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

Raspberry Pi

看!LED点亮!

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

4. 结论

这次我们尝试了传感器输入实验,进一步了解了通过简单的原理来处理传感器的方法。但我们不能就此止步。我希望继续探索具体应用,尝试做有趣的项目,或者创建一些实用产品。在下一篇文章中,我们将会运用迄今为止所学到的原理和工作机制,来介绍创建具体作品的技术和过程。

虽然通过实验来验证原理和工作机制非常重要,但我更期望在不断创新的同时,能够更多地思考在哪方面可进行更深入的探索,不断拓展应用范围。

Raspberry Pi

DevicePlus 编辑团队

设备升级版适用于所有热爱电子和机电一体化的人。

审核编辑 黄宇

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分