学习输入和输出
输入和输出 (I/O) 基础知识是深入原型设计您自己的物联网设备的关键。本文提供了电子学中 I/O 的基础知识,并附带了其实现的示例。
获取全新的 Intel® 物联网开发套件,这是一个完整的硬件和软件解决方案,允许开发人员使用 Intel® Galileo 和 Intel® Edison 开发板创建激动人心的新解决方案。访问英特尔® 物联网开发人员专区。
输入和输出 (I/O) 基础知识是深入原型设计您自己的物联网设备的关键。本文提供了电子学中 I/O 的基础知识,并附带了其实现的示例。
为了让电路执行有用的操作,它必须接收数据(输入),然后通过操作(输出)进行响应。想象一个儿童玩具,按下按钮会打开灯,松开按钮时灯会关闭。传感器和执行器在此发挥作用,使这成为可能。传感器属于输入角色:它们唯一的功能是感知物理世界中的各种变化,例如温度、触摸、力、湿度和磁场。传感器也称为换能器,因为它们将物理世界中的输入能量转换为输出能量。输出功能通常由执行器管理,执行器控制灯泡或扬声器等设备。
传感器和执行器
有许多不同类型的传感器,它们根据测量的能量变化进行设计。加速度计是许多项目中常见的传感器。它测量加速度力,由梁等元件组成,该元件承受电压以引起扰动。在加速度计系列中,您可以根据加速度计感知加速度变化的方式找到各种类别,例如电容式(与加速度相关的电容变化)、压电式(使用微晶体确定转换为加速度的电压输出)、霍尔效应(变化的磁场)、磁阻式(磁场变化)、热传递和压阻式(电阻变化)。为您的项目购买传感器时,请注意价格可能因灵敏度、范围、精度和准确性等因素而异。执行器从传感器收集数据(电信号)并对其进行操作,从而导致物理世界发生变化。它也是一个换能器,因为它将一种量转换为另一种量。伺服电机、电机和蜂鸣器都属于输出类别。在更复杂的网络中,您可以在一个网络上连接多个传感器和执行器,其中数据收集和协调可以从传感器到传感器、传感器到执行器或执行器到执行器进行设置。
传感器和执行器有许多应用。在健康领域,血糖仪配备生物传感器,可测量患者体内的葡萄糖含量。化学传感器(输入)使用微型泵(输出)触发胰岛素的释放。图 1 显示了一个 I/O 场景,其中声音传感器(输入)将声音转换为电脉冲,扬声器(输出)将这些脉冲转换为声音。流程从输入开始,然后是将物理能量转换为电波的过程,这导致物理输出(声音)。在图 1 中,传感器和执行器连接到Intel® Edison 开发板,这有助于将声音的物理观察转换为扬声器产生的输出。
当传感器检测到一个或多个信号(输入)时,它会将这些信号转换为模拟或数字表示形式供执行器接收。模拟变化以连续速率变化;它们的图示是连续的平滑曲线。数字数据具有精确的计数,创建了具有急剧上升、恒定部分和急剧下降的阶梯状图。在图 1 的示例中,数据是模拟的。处理模拟和数字通信的电子设备都配备了模数转换器,它使微控制器能够连接到模拟传感器以读取模拟电压。图 2 提供了数字和模拟波形的可视化表示。传感器可以设计成具有任一能力;事实上,有模拟和数字加速度计,而光传感器和声音被认为是模拟的。
使用 Intel® Edison 开发板探索输入和输出
让我们更深入地了解在板上启用 I/O 功能的因素,例如Intel® Edison 开发板。通用输入/输出 (GPIO) 引脚位于 Arduino* 扩展板的边缘,如图 3 所示。这些引脚是物理世界和Intel® Edison 开发板之间的物理接口:每个引脚可以表示高(“开”状态,电压变化)或低(“关”状态,无电压)。然后,您可以在引脚上安装一个基座护罩以连接传感器和执行器。在 Intel® Edison 开发板上,I/O 引脚数据写入位于/sys/class/gpio的文件中。鉴于引脚是双向的,方向在/sys/class/gpio/gpio<XX>/direction中声明,其中<XX>表示启用的 GPIO 的编号,方向可以是输入或输出。
现在您已经清楚地了解了 I/O 是什么及其在项目中的作用,让我们看看您每天可能会遇到的更具体的示例,以及如何使用英特尔技术(例如Intel® Edison或Intel® Galileo 开发板)创建类似的设备。
光传感器
光电传感器是一种无源模拟设备,可将光能(无论是可见光还是红外光)转换为电信号输出。光传感器分为四种类型,具体取决于它们对输入(光)的反应方式:光电发射型、光电导型、光伏型和光电结型。本文重点介绍光电导传感器,其电阻在受光照射时会发生变化。光的增加导致电流的增加。光敏电阻 (LDR) 是一种光电导传感器,常用于根据其电阻变化确定是否存在光线而产生动作的设备。
较新的汽车在环境光线“不足”时(例如黄昏或进入黑暗隧道时)会自动打开车灯。同样,您可以在家中或室外区域插上夜灯以照亮空间。您可以使用 LDR、电源(例如电池)、灯、电阻器和晶体管制作一个简单的自制夜灯。要添加功能,请根据加载到 Intel® Edison 开发板上的代码中的输入指定操作。
声音传感器
著名的“拍手开关”灯受益于声音传感器的使用。该设备带有一个麦克风,可以监听周围的噪音(输入),并将其转换为电信号并放大。过滤器通过识别哪些声音落在特定频率范围内来匹配拍手声。根据过滤器的结果,该设备将(或不)向插座发送电信号,以打开或关闭连接到它的物品。
使用 Intel® Edison 开发板和 Arduino* 扩展板以及扬声器和一些晶体管,您可以构建自己的拍手器或“敲击器”,例如“Secret Knock Detecting Door Lock”Instructables 项目中介绍的那个,网址为http://www.instructables.com/id/Secret-Knock-Detecting-Door-Lock。
摘要
您可以使用传感器获取数据,并将它们与执行器结合,以便数据可以导致物理输入转换为物理输出。各种可用的传感器可满足不同的用例和应用,例如热传感器、光传感器和压力传感器等等。将传感器和执行器连接到Intel® Edison 开发板或Intel® Galileo 开发板以从传感器获取数据并在执行器上输出结果。
其他阅读
- 访问英特尔开发人员专区传感器网站以了解更多信息。
- 访问Intel® Edison 开发板网站以了解更多信息。
- 访问Intel® Galileo 开发板网站以了解更多信息。
- 探索物联网网关产品以比较功能和需求。
- 访问英特尔开发人员专区网站以了解有关英特尔物联网技术的更多信息。
登录以在下方发表评论。如果您尚未注册,请访问英特尔® 开发人员专区进行注册。