基于单片机的智能学习型红外空调遥控器
3.2发射功能设计
本文引用地址:https://www.eepw.com.cn/article/269330.htm现有的红外遥控器很多都是采用外部电路产生载波信号,例如使用NEC555振荡器产生载波信号。为了减少硬件开销,本系统使用单片机内部的定时器产生载波。系统使用的是Atmega16单片机,其定时器功能强大,具有普通模式、CTC模式、快速PWM模式、相位修正PWM模式等工作模式,系统利用定时器1,使其工作在快速PWM模式,产生占空比为1:3的38KHz的PWM波。当发送某条指令时,单片机从对应的EEPROM中提取指令信息,然后调制到生成的载波上,再通过发射电路即可完成红外信号的发射。
3.3通信功能设计
3.3.1上位机通信
本遥控器除了能通过功能按键实现手动操作外,还可以通过上位机软件对遥控器进行控制。遥控器与上位机通过RS232模块进行通信,首先配置上位机软件,确定串口号,选择与设备相同的波特率及主从设备地址,然后根据需要选择相应的指令,点击发送即可通过上位机对设备进行控制。由于本遥控器是基于空调遥控器进行研究的,在与上位机通信时,系统中的温度检测模块会上传实时温度,便于用户进行调整。图6为上位机软件流程图。

图6上位机软件流程图。
3.3.2组网控制
为了实现对多个设备的联网控制,还设计了RS485模块。各子遥控器通过RS485模块的"A"、"B"端连接在一起,组成控制网络,如图7所示,其中一个作为主遥控器,与上位机通过RS232模块进行串口通信。当上位机需要对某个子设备进行控制时,选择相应的子设备地址号,发送指令即可,主遥控器收到指令信息后,会将指令发给对应的子设备。与主遥控器相连的上位机PC连接Internet,作为本地服务器,可实现远程控制。
用户登录远程客户端,经身份验证后与服务器建立连接,可发送指令给本地服务器,本地服务器再经过串口通信对遥控器进行相应操作。如果遥控器主机与上位机距离较远,RS232不能满足通信需要,也可不使用遥控器主机,在上位机PC上使用RS232-485转接头,通过RS485直接将遥控器网络与PC机485接口相连,利用上位机对遥控器网络直接进行控制。

图7控制网络示意图。
4结语
本文设计了一款智能空调遥控器。该系统采用只记录红外信号脉冲宽度,不考虑红外编码格式的方式,通过游程编码算法将红外信号压缩后保存到EEPROM中,并直接利用主控芯片定时器的PWM模式产生38KHz的载波,节约了硬件成本,除手动操作外还可以通过上位机对遥控器进行控制,使用方便。
系统成功实现了对多种空调遥控器的学习与功能再现,操作灵活,性能稳定。本系统还可用于智能家居中,对不同的红外设备进行控制,也可用于远程网络控制,为智能家居及远程监控提供了一种实现方法。
红外遥控器相关文章:红外遥控器原理万能遥控器相关文章:万能遥控器代码
手机电池相关文章:手机电池修复
pwm相关文章:pwm是什么
单片机相关文章:单片机教程
单片机相关文章:单片机视频教程
单片机相关文章:单片机工作原理
尘埃粒子计数器相关文章:尘埃粒子计数器原理 晶振相关文章:晶振原理 脉冲点火器相关文章:脉冲点火器原理 双绞线传输器相关文章:双绞线传输器原理
评论