树莓派连接红外传感器获取遥控器的键值

  • 内容
  • 评论
  • 相关

红外线是一种不可见光。日常生活中所有物体都会吸收和释放红外光,只是强度有所不同,这一特性并被科技工作者广泛利用。比如红外夜视仪,它利用在低可见光条件下,物体会产生红外辐射的特性,如果在设备中配置红外传感器,传感器就可以检测并输出这些红外辐射图像!

红外夜视仪成像
红外夜视仪成像

红外传感器简介

红外传感器由光电元件和芯片组成的装置,芯片经过特殊调谐,就可以检测出特定波长的不可见的红外光,使用红外线实现遥控检测,红外LED发光管和红外接收管是必备的。这也是为什么红外线可以被用于远程控制检测等领域,比如红外线遥控器可以控制家里的电视机、空调等电器。有人会说, 使用可见光也可以达到控制检测的目的,为什么要用不可见光,假想一下如果我们在家里像用手电筒一样的遥控器在控制电视,这是不是有点让人抓狂…

在本文中,我们将测试一个红外传感器,然后将它连接到我们的树莓派,通过编程实现远程控制。

测试红外传感器

前面我们提到,红外传感器内部含有半导体元件,因此它是需要供电才能工作的,通常红外线传感器的工作电压是3.3V。 (实际使用中需要根据具体型号检查产品的datasheet)。以TOSP38238红外接收管为例:

TOSP382引脚定义
TOSP382引脚定义

TSOP引脚定义如下:

  1. TSOP382的引脚1是输出脚,我们后面会把它连接到一个发光二极管和电阻;
  2. TSOP382的引脚2是接地脚;
  3. TSOP382的引脚3是供电脚,连接到3.3V。

下面是面包板上搭建的原型,透明白色LED的正极连接到+3.3V,负极通过200~1000欧姆电阻连接到TSOP382红外传感器上的引脚1(out)。

TSOP382红外传感器测试
TSOP382红外传感器测试

然后拿起任意的遥控器(电视、空调等)对准红外传感器(上图黑色)。按下任意按钮,你会看到发光二极管会闪烁,表示红外接收器正常工作了。

将红外传感器连接到树莓派上

红外接收器正常工作后,我们要把它连接到树莓派上,并配置它远程控制树莓派上的xbmc媒体中心。电路连接信息如下:

  • TSOP382的 1 脚,连接树莓派12脚 (GPIO 18);
  • TSOP382的 2 脚,连接树莓派 6 脚 (GROUND);
  • TSOP382的 3 脚,连接树莓派 1 脚 (3.3V)。

不同的红外传感器,可能引脚定义也会有所不同,一切以产品的datasheet为准。

树莓派连接TSOP382红外传感器
树莓派连接TSOP382红外传感器

在树莓派上测试红外传感器

要检查红外传感器是否在树莓派上正常工作,需要依次运行以下命令:

sudo modprobe lirc_rpi

sudo kill $(pidof lircd)

mode2 -d /dev/lirc0
在树莓派上测试红外传感器
在树莓派上测试红外传感器

这时,假设你的接收器连接正确,每当按下遥控器上的按钮时,应该会在屏幕上看到输出的遥控器键值信息:

树莓派上测试红外传感器
树莓派上测试红外传感器

如果按下遥控器后没有任何反应,请着重检查以下内容:

  1. 用上面提到的发光二极管的方法测试红外传感器是否工作;
  2. 检查红外传感器与树莓派的物理连接;
  3. 确保遥控器工作正常(可以换电池试试)。

Arduino获取遥控器键值的方法请查阅:如何使用TV遥控器和Arduino传感器来控制电器