数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 6237|回复: 63

[C51] 红外遥控操作模拟器制作,给遥控器设计一个快捷键

  [复制链接]
发表于 2023-1-30 13:06:19 | 显示全部楼层 |阅读模式
制作背景:某机顶盒常需要按某些按键(多个按键),操作起来比较麻烦。
模拟器功能:这是一个类似按键精灵的装置,按一下按键,发送一系列预设的遥控码。
MCU:中颖SH79F326(对于这个应用而言,硬件资源过剩,用它只是因为手上有)

实现步骤:


1、采集原遥控器用到按键的遥控码
这一步用成品接收头实现比较简单,如果用接收管,需要有加好多电路。


2、分析、记录遥控码
用逻辑分析仪采集接收头输出信号,尝试按各种红外编码格式解析。


单片机开发辅助利器——逻辑分析仪:https://www.mydigit.cn/thread-367913-1-1.html

从采集看,该遥控器编码物理层使用的是NEC红外遥控协议,协议层地址码不互为反码,控制码是正码+反码格式。
逐个采集、记录用到按键的控制码。地址码是固定的,只需记录一次即可。

3、单片机模拟遥控码系列


考虑到温漂,使用外部晶振提供时钟源。装置用电池供电,装上电池后就不再断电,无操作后深度休眠,休眠后通过外中断按键唤醒。发射电流设计20mA左右就可满足几米控制需要,在红外发射口上再接一个LED指示红外发射(可选)。

4、程序设计
红外遥控所需的38KHz载波用一个PWM口输出38KHz方波实现。红外接收头无接收时输出高电平,接收到38KHz红外线载波后输出低电平,即需要输出低电平时输出PWM、需要高电平时关闭PWM。


为精确控制PWM时间,需要一个独立定时器控制PWM开、关时间。
接收方(机顶盒)接收到遥控信号后需要一定时间才能完成响应,比如按下“菜单”键,接收到信号到信号后一段时间才能完成弹出菜单动作,这个需要实测确定,实测需要300mS左右,保险起见,延时500mS以上才输出下一个控制信号,某些功能,如恢复出厂设置需要等待更长的时间,因此,延时时间和按键功能码关联,即将控制码和延时时间编成常数表格,发射时按表格中的控制码和延时时间逐一输出。需要一个要求不高的计时器计时延时时间,本应用定时器丰富,用一个定时器定时10mS,以10mS为单位计时延时时间。


为休眠后唤醒,使用外中断上升沿唤醒,I/O外部下拉,按任意一个按键后唤醒,关闭外中断,按一般读取I/O状态方式检测按键,是有效按键则输出预设的遥控码,无输出或操作一段时间后休眠。

5、实物图


用3节其它设备废弃旧7号电池供电,用电池盒粘在背面,休眠耗电约8μA,虽然旧电池电压只有1.2V左右,用半年左右应该没问题。

6、附件程序包下载:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 7家元 +140 收起 理由
sunnyquan + 20
aping365 + 20 優秀文章
ch104517745 + 20 原創內容
newnet1234 + 20 原創內容
IlovePLC + 20 優秀文章

查看全部打赏

发表于 2023-1-30 13:20:10 | 显示全部楼层
这个是很有用的!
回复 支持 1 反对 0

使用道具 举报

发表于 2023-1-30 13:49:37 | 显示全部楼层
有逻辑分析仪真的是为所欲为啊。。。
回复 支持 1 反对 0

使用道具 举报

发表于 2023-1-30 13:50:36 | 显示全部楼层
分析很到位,这个可以有
回复 支持 反对

使用道具 举报

发表于 2023-1-30 14:04:14 | 显示全部楼层
红外遥控早晚会被无线遥控所取代。无线遥控距离远,传输信息量大,没有指向性限制。
回复 支持 1 反对 1

使用道具 举报

发表于 2023-1-30 14:59:29 | 显示全部楼层
直接自制学习型遥控器
回复 支持 反对

使用道具 举报

发表于 2023-1-30 20:18:01 | 显示全部楼层
水平不够,看不懂。
弱弱的问一句,这个是干嘛用的呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-30 20:28:34 | 显示全部楼层
阿杜1971 发表于 2023-1-30 20:18
水平不够,看不懂。
弱弱的问一句,这个是干嘛用的呢?

知道电脑上的按键精灵吗?和这个的功能相似,一次按键完成原多次操作用的,比如需要在遥控器上输入1,2,3,4,5,6,用这个工具按一次按键就把6次按键一次输完,用来简化某些遥控器操作。
回复 支持 反对

使用道具 举报

发表于 2023-1-30 21:10:06 | 显示全部楼层
厉害啊 单片机模拟
回复 支持 反对

使用道具 举报

发表于 2023-1-30 21:55:51 来自手机浏览器 | 显示全部楼层
做个可以学习的遥控器才好,好多人没有条件写单片机
回复 支持 反对

使用道具 举报

发表于 2023-1-30 22:04:30 | 显示全部楼层
一直想做,一直没动手做,没合适壳子。
回复 支持 反对

使用道具 举报

发表于 2023-1-30 22:07:23 | 显示全部楼层
mmxx2015 发表于 2023-1-30 20:28
知道电脑上的按键精灵吗?和这个的功能相似,一次按键完成原多次操作用的,比如需要在遥控器上输入1,2,3, ...

不好意思,不是不懂。
回复 支持 反对

使用道具 举报

发表于 2023-1-30 22:14:20 来自手机浏览器 | 显示全部楼层
分析的很透彻
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-30 22:16:19 | 显示全部楼层
阿甲 发表于 2023-1-30 21:55
做个可以学习的遥控器才好,好多人没有条件写单片机

这个不是当通用遥控器用的,只是用来简化某些操作的,要用学习型遥控器功能,买个几块钱的遥控器就行了。
回复 支持 反对

使用道具 举报

发表于 2023-1-30 22:27:57 | 显示全部楼层
这个真是大神了,又是分析协议又是自制遥控器。支持一下!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-30 22:52:53 | 显示全部楼层
baoshizhi 发表于 2023-1-30 22:27
这个真是大神了,又是分析协议又是自制遥控器。支持一下!

协议分析是逻辑分析仪电脑端软件的功能,选中某一个能解析出完整的数据就说明数据的传输协议与选择的一样,再找资料对一下就可以确定了。
回复 支持 反对

使用道具 举报

发表于 2023-1-31 08:33:09 | 显示全部楼层
mmxx2015 发表于 2023-1-30 22:16
这个不是当通用遥控器用的,只是用来简化某些操作的,要用学习型遥控器功能,买个几块钱的遥控器就行了。 ...

就是说学习型的,把几个连续按键学习进去,一键发出
回复 支持 反对

使用道具 举报

发表于 2023-1-31 10:51:19 | 显示全部楼层
只是分析红外遥控,arduino+一个IR接收,就能测出编码了。
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-1-31 11:02:21 | 显示全部楼层
阿甲 发表于 2023-1-31 08:33
就是说学习型的,把几个连续按键学习进去,一键发出

我见过的学习型遥控器操作说明都是一对一学习,即一次学习一个按键,就算能一对多学习,发码间隔应该不可控。
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-8-30 07:29 , Processed in 0.140400 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表