原标题:用家里旧的红外遥控器控制树莓派小车
0×01 前言
红外遥控是一种无线、非接触控制技术,在工业控制、航空航天、家电等领域都得到了广泛应用。大部分的电视的遥控器,空调遥控器就都是红外遥控。在baidu上检索了树莓派小车的各种控制方案,没有找到红外遥控的控制方案。所以本文尝试使用红外控制方案对树莓派小车进行控制。
0×02 所需材料
1. 树莓派小车。(树莓派小车的安装不是本文重点,如果读者不熟悉小车的安装,请自行搜索。)
2. 红外接收头
型号:VS1838B(价格很便宜,几毛钱一个。)
3. 家里废旧的红外遥控器
0×03 红外通讯协议学习
遥控器的基带通信协议很多,大概有几十种,用的最多的就是 NEC 协议了,下面开始了解下NEC协议。
图 1 NEC 协议数据格式
NEC 协议的数据格式包括了引导码、用户码、用户码(或者用户码反码)、按键键码和键码反码,最后一个停止位。停止位主要起隔离作用,一般不进行判断,编程时我们也不予理会。其中数据编码总共是 4 个字节 32 位。第一个字节是用户码,第二个字节可能也是用户码,或者是用户码的反码,具体由生产商决定,第三个字节就是当前按键的键数据码,而第四个字节是键数据码的反码,可用于对数据的纠错。
注意: NEC 协议中的每一位数据本身也需要进行编码,编码后再进行载波调