0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何DIY一款红外线遥控器,具体操作步骤是怎样的

智能物联研习社 来源:涂鸦智能 作者:智能物联研习社 2021-01-14 12:02 次阅读

要实现空调控制,就是要发送红外信号,所以要有红外发送功能。市面上空调种类繁多,肯定要适用多种品牌和机型,所以要有红外学习功能。要支持场景联动,就要有环境感知传感器。要支持手机控制,就要有云端和模组。综上,设计功能有:1、红外发送(红外发射管);2、红外学习(一体化接收头);3、室内温度检测(DHT11);4、手机控制(通过涂鸦云模组实现)。

在实际场景中,空调的安装位置一般都不固定,所以,红外控制器不能近距离控制。参考其他大品牌红外控制器设计,采用壁挂式设计,可以挂在天花板或墙壁上。控制板全部用立创EDA绘制,自己手工贴片,涂鸦云模组上面的文字是被清洗剂洗掉了,操作时大意了。

硬件设计

1.电源

电源部分采用Micro USB接口,直接提供5V电源,经过内部分压得到3.3V电压,为MCU、涂鸦云模组和外围电路供电。降压采用TI的TLV62569DBVR电源芯片,外围器件少,功率大,纹波小。

a532a001650448d98f69dbdc22a36e12~tplv-tt-shrink:640:0.image

2.云模组

采用涂鸦智能提供的WBR1D-IPEX云模组,WBR1D是双频双模模组,支持WI-FI蓝牙,采用MCU接入方案,通过串口与MCU连接。

3.MCU

MCU采用ST的STM32F103C8T6,64K的Flash。

4.红外发射

红外发射采用红外管,因为是壁挂式安装方式,所以对控制范围有要求,本设计中采用8颗红外发射管并联,每科管子由一颗大功率三极管驱动,所有三极管由一个控制端驱动。以提高发射功率,提高发射功率后,红外控制范围会明显扩大。(多颗红外管最好并联控制,不要为画PCB方便或者节省器件而选择串联,串联的管子都不会正常工作,发射功率会大幅度下降。)

17d1b3890a0b48da8211f41ffaa61963~tplv-tt-shrink:640:0.image

5.红外接收

红外接收比较简单,直接采用一体化接收头。

428cca7d7bbd4be0afe3244ccd34bb53~tplv-tt-shrink:640:0.image

6.附加电路

按键

按键用于配网使用,但是在实际调试时,模组会自动配网,所以按键改为清除红外预存的数据。

LED

LED用于指示配网状态和进入红外学习模式,以及故障闪烁。

DHT11

DHT11用于检测室内温湿度,在本设计中,红外遥控器作为单品使用,DHT11可以向云端上报室内温度、湿度,可实现智能场景联动。

7.PCB设计

PCB设计时,因为是壁挂式,所以选了一个公模外壳。在设计时器件布局和PCB外形要符合外壳尺寸。

软件设计

1.红外接收实现

红外接收比较简单,如果是易于解析的NEC格式编码,直接用定时器捕获外部输入电平时间长度即可,对于不易解析的编码(厂家自定义的编码)采用外部中断和定时器方式测电平时间长度。对于NEC格式编码,按照NEC编码格式的规范,先判断低电平时间,通过长度区分起始码、数据码和结束码。网上例程比较多,这里就不赘述了,要注意的是:有的厂家空调虽然是NEC编码,但是他们的编码中高低电平长度一般都不同,所以在中断中判断电平长度时,要注意设置范围。

2.红外发射实现

红外发射是红外管完成,注意:红外管不发射红外在接收端输出1,发射红外在接收端输出是0,这里要注意区分。

实现方式用定时器输出一个38K的方波,控制方波输出的时间长度即可实现发送不同的数据和编码。本项目采用两个定时器来实现发送红外,TIM1输出38K载波,TIM3定时,由TIM3计时,控制TIM1输出/关闭PWM,这样可以实现任意时间长度发送。但是这样比较耗费MCU资源,对于STM32来说,影响不大,对于小型MCU就要考虑资源了。

3.红外学习功能

本项目中只实现NEC编码红外学习,当按下手机端空间时,如果没有指令,会自动进入学习状态,等待发送红外指令。红外指令接收到以后,会自动保存。

4.云功能实现

因为使用涂鸦的MCU接入方案,云端只做功能和APP界面的配置,并下载MCU的SDK,将SDK移植到代码中即可

云端功能配置:

APP界面配置:

5.防跑飞

在实际测试过程中遇到了,设备掉线和控制无反应问题,起初以为是网络问题,更换网络以后,问题依旧存在。拆下板子发现整个PCB发烫,测量MCU供电只有接近2V左右,照理说可以正常工作。拔掉电源,重插,MCU供电恢复。等待问题再次出现时,测得红外管驱动三极管控制端一直是低电平,问题发现了:8颗红外发射管的发射功率比较大,在关闭输出时可能是被中断打断,导致关断不成功,红外管一直处于发送状态,时间一长,8颗红外管总电流增大,提供给MCU的电流减小,出现假死现象。

为了解决这个问题,增加了三道防线,一是每次发送完成后将输出和定时器一起关闭,这样可以减少中断冲突的机率。二是增加STM32内部测温,一旦检测到温度超过允许值,再关定时器和PWM输出1次,如果超过警报值,直接复位MCU。三是增加看门狗,定时喂狗,防止假死和程序跑飞。加上这三道防线后,实测问题不再发生。

关键点分析

1.MCU_SDK 移植

涂鸦提供配套的MCU SDK,具体使用方式涂鸦也提供很多的文档,b站也有很多案例。我们只需要移植到MCU中即可,通过串口通讯,实现MCU接入。注意接涂鸦模组串口的波特率,一般默认是9600,也可以修改为115200,具体在云端控制台的硬件开发->模组固件中修改。

2.空调控制

以上工作完成后,重点来了,代码写得再漂亮,电路设计再完美,控制不了空调都等于0。大家都知道空调是红外遥控控制,所以本项目就是发射空调遥控器发射的红外编码,代替遥控器控制空调。这里的难点在于如何获得空调的红外编码,目前市面上销售的空调,红外编码都是厂家自定义的。售后或者说明书里面也不会提供具体的编码协议,所以只能自己去解析。下面简述解析过程,解析篇幅较多,详细内容请移步“阅读原文”。

首先要获得红外的编码,我的方式是用逻辑分析仪和红外接收头,按遥控器的一个键,查看分析仪捕获的波形,通过波形解析出数据,这个过程不难,但是很繁琐。

3.App功能配置

App界面除了默认功能外,加了部分功能,因为使用的公版APP界面,所以界面UI和功能自定义的范围有限,后期会改成面板SDK开发,现阶段时间不多,做不了开发。以强劲功能为例,本项目设计时,没有添加强劲功能。现在要添加,首先进入涂鸦IoT开发平台,找到项目,进入APP面板配置页面,在页面点击“编辑”,配置好属性和关联功能以后,点击发布,涂鸦会自动打包,打包好了以后,会提供测试二维码,扫二维码可以测试这个面板,如果测试通过点正式发布,发布以后,手机端退出“涂鸦智能”APP,重新进入,添加的功能就生效。

总结

这次使用涂鸦智能,不管是整体开发流程,还是技术服务,涂鸦做得非常好。涂鸦模组提供MCU SDK,用户只需要移植到MCU OS中,即可完成上云操作,节省研发和调试周期。涂鸦提供的稳定MCU接入模组SDK,减少用户程序逻辑架构不严谨造成的错误,减轻用户底层代码量。涂鸦技术支持服务也非常周到,不定期询问开发者是否有问题需要解决,这点比某科模组做的好。

fqj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16003

    浏览量

    343491
  • 遥控器
    +关注

    关注

    18

    文章

    813

    浏览量

    64220
收藏 人收藏

    评论

    相关推荐

    如何区分红外线接收头的引脚图与放大电路

    如何区分红外线接收头的引脚图与放大电路 红外线接收头是一种用于接收红外线信号的元件,常用于红外线遥控器
    的头像 发表于 01-31 15:04 761次阅读

    如何区分红外线发射管与红外线接收管

    如何区分红外线发射管与红外线接收管 红外线技术在我们的日常生活中扮演着重要角色,它被广泛应用于安全监控、遥控器、自动化控制等领域。红外线发射
    的头像 发表于 01-31 15:04 529次阅读

    如何提高红外线发射管在遥控器上的发射距离

    如何提高红外线发射管在遥控器上的发射距离  遥控器成为了我们日常生活中不可或缺的一部分,我们通过遥控器可以控制电视、空调、音响等大量设备。而遥控器
    的头像 发表于 01-31 14:47 540次阅读

    红外遥控与蓝牙遥控的区别

    ,我们将详细介绍红外遥控和蓝牙遥控的特点和区别。 首先,红外遥控是一种基于红外线的无线
    的头像 发表于 01-25 16:23 1083次阅读

    威纶通触摸屏远程上下载程序需要什么工具?具体操作步骤是什么?

    威纶通触摸屏远程上下载程序需要什么工具?具体操作步骤是什么?
    的头像 发表于 01-17 15:34 1499次阅读
    威纶通触摸屏远程上下载程序需要什么工具?<b class='flag-5'>具体操作</b><b class='flag-5'>步骤</b>是什么?

    红外线遥控器使用方法

    红外线遥控器是一种常见的电子设备,广泛应用于家庭、商业和工业领域。它可以通过红外线信号与相应的设备进行通信,实现控制和操作。本文将详细介绍红外线
    的头像 发表于 12-20 11:31 1531次阅读

    红外线发射管简介及参数 红外线发射管和接收管的工作原理

    今天洲光源小编来给大家介绍下红外线发射管,对于红外线发射管大家应该有些疑惑 下面逐步介绍它的一些相关问题。包括:红外线发射管简介及参数、红外对管识别及
    的头像 发表于 11-18 17:33 4980次阅读
    <b class='flag-5'>红外线</b>发射管简介及参数 <b class='flag-5'>红外线</b>发射管和接收管的工作原理

    红外线遥控器解码,在主循环中检测接受完成标志位然后串口打印不行是怎么回事?

    红外线遥控器解码碰到个问题,使用外部中断方法,现在出现的问题是在主循环中检测接受完成标志位然后串口打印不行
    发表于 10-17 06:35

    PC红外线遥控器上位机及电路图

    PC红外线遥控器上位机及电路图
    发表于 10-07 06:22

    宇凡微2.4G遥控器方案开发,灵活控制无需指向

    。2.4G遥控信号传输方式解决了红外线遥控的弊端,可以在屋内各个角度对电视进行遥控。包括现在主流的无线鼠标、无线键盘、无线游戏手柄等都在使用这种遥控
    的头像 发表于 08-01 11:28 543次阅读

    STM32F407开发板红外线解码功能应用案例

    NEC红外线协议是一种常用的红外线通信协议,广泛应用于消费电子产品中,如电视、DVD播放器、空调遥控器等。该协议定义了红外线通信的物理层和数据链路层规范,以实现可靠的
    的头像 发表于 07-06 14:34 749次阅读
    STM32F407开发板<b class='flag-5'>红外线</b>解码功能应用案例

    红外线回流的推荐焊接条件[包括对流、红外线/对流]

    红外线回流的推荐焊接条件[包括对流、红外线/对流]
    发表于 06-28 19:12 0次下载
    <b class='flag-5'>红外线</b>回流的推荐焊接条件[包括对流、<b class='flag-5'>红外线</b>/对流]

    三坐标测量仪的具体操作步骤

    正确使用蔡司三坐标测量仪可以延长仪器的使用寿命,下面看看三本精密仪器的三坐标测量仪的具体操作步骤:一、规划检测方案首先是要查看零件图纸,了解测量的要求和方法,规划检测方案或调出检测程序。二、注意操作
    的头像 发表于 06-08 15:24 2676次阅读
    三坐标测量仪的<b class='flag-5'>具体操作</b><b class='flag-5'>步骤</b>

    用单片机做红外线的接收端可行么?

    现在手边有红外线控制的设备,现有的控制模式就是常规的 遥控器->红外接收头->设备。 改装之后想达到的效果是 手机或网页->单片机(8266)-&
    发表于 06-02 14:08

    (求助)红外线遥控器显示FFFFF咋破解???

    各位大神,现在遇到个非常棘手的难题,是关于红外线遥控器按键编码的,我们的编程代码和搭建都无误,可串口监视显示的各个按键编码都是FFFFFFFF,导致与其相关的实操都无法继续了。使用
    发表于 05-15 15:12