红外技术虽然在通讯方面和蓝牙相比劣势很大,无论是通讯距离还是速度已经数据的加密性。但是红外技术仍在很多领域有广泛的应用。Linker Infrared Receive是一个红外接收管模块。他可以接受到外接的红外信号。我们可以用它来接收红外遥控器发出来的红外信号。并推断出信号来自于哪个按键
一、实验准备
红外遥控器 一个 Linker Infrared Receive 一个 杜邦线若干
二、实验连线:
Linker Infrared Receive 的VCC 连接 pcduino的+3v Linker Infrared Receive 的GND 连接 pcduino的GND Linker Infrared Receive 的OUT 连接 pcduino的D11
注:Linker Infrared Receive可以通过Liner cab连接线连接到可直插pcDuino的base shield上。这样方便且不用杜邦线接线。
三、安装相关的文件:
$ sudo apt-get update && sudo apt-get install pcduino-linux-header-3.4.29+ 如果没有安装git的朋友得先安装git $ sudo apt-get install git-core 去下载下来的module文件下进行编译 $ cd /home/ubuntu/modules $ make M=`pwd` -C /usr/src/linux-headers-3.4.29+/ (`是左上角1边上的那个键) 载入红外模块 $ sudo insmod ir-keypad.ko pin=11 pin=11表示Linker Infrared Receive 连接到了gpio11可以选择GPIO为GPIO(0-4)或者GPIO(7-17)不加上pin=xx默认是8
四、测试运行:
$ sudo cat /proc/kmsg 遥控器对着Linker Infrared Receive 按下对应的按键
源码共有32位,例如:0xe619ff00 其中前8位(e6)为数据码,接着的后8位(19)为数据反码,最后的16位(ff00)为用户码,注意:同一个红外遥控器的用户码是不变的。因为遥控器型号各不相同。比如例子中F30CFF00对应按键1 (括号中为对应的按键)但是可能在其他的遥控器中对应的的是1甚至没有对应关系。我们需要在/home/ubuntu/modules/pcduino-ir-keypad 目录下修改remote.h文件,remote.h文件如下
|