查看: 1014|回复: 0

[教程] pcDuino通过Linker infrared Receive获取红外源码

[复制链接]

34

主题

0

好友

463

积分

版主

Rank: 7Rank: 7Rank: 7

该用户从未签到

发表于 2014-4-18 10:13:03 |显示全部楼层
00.jpg

红外技术虽然在通讯方面和蓝牙相比劣势很大,无论是通讯距离还是速度已经数据的加密性。但是红外技术仍在很多领域有广泛的应用。Linker Infrared Receive是一个红外接收管模块。他可以接受到外接的红外信号。我们可以用它来接收红外遥控器发出来的红外信号。并推断出信号来自于哪个按键
一、实验准备
红外遥控器 一个
Linker Infrared Receive 一个
杜邦线若干

二、实验连线:
Linker Infrared Receive 的VCC 连接 pcduino的+3v
Linker Infrared Receive 的GND 连接 pcduino的GND
Linker Infrared Receive 的OUT 连接 pcduino的D11

01.jpg

注:Linker Infrared Receive可以通过Liner cab连接线连接到可直插pcDuinobase 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 按下对应的按键

02.jpg

源码共有32位,例如:0xe619ff00 其中前8位(e6)为数据码,接着的后8位(19)为数据反码,最后的16位(ff00)为用户码,注意:同一个红外遥控器的用户码是不变的。因为遥控器型号各不相同。比如例子中F30CFF00对应按键1 (括号中为对应的按键)但是可能在其他的遥控器中对应的的是1甚至没有对应关系。我们需要在/home/ubuntu/modules/pcduino-ir-keypad 目录下修改remote.h文件,remote.h文件如下
04.jpg

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /5 下一条


手机版|爱板网 |网站地图  

GMT+8, 2016-12-10 03:17 , Processed in 0.427683 second(s), 11 queries , Memcache On.

苏公网安备 32059002001056号

Powered by Discuz!

回顶部