基于STM32的万能红外遥控器

本博客介绍一种基于STM32的可学习和存储已有红外发射设备的万能红外遥控器的设计思路。

一、首先需要了解设计一款这功能的遥控器需要什么硬件设备支持。

1、3.3V,5V电源模块,用作给系统模块供电和单片机供电

2、5V的HS3008红外接收头,用作接收其他红外遥控设备的红外线,转换成电信号,发到MCU。

3、STM32F103单片机,这里需要有SPI,定时器,PWM,外部中断功能的单片机即可,MCU用作接收HS3008发过来的电信号,并且解析电信号为数字编码,存储到一个数组,然后再把数组存到外部FLASH,这里实现接收,存储功能。

4、W25Q64芯片,该芯片为FLASH存储芯片,存储空间8Mbytes,与MCU的通信方式为SPI。MCU接收到红外编码信息,通过SPI与其通信把红外的编码信息存储到FLASH里,当需要发射红外编码的时候,从FLSAH提取。

5、红外发射二极管,MCU的pwm引脚控制红外发射二极管发送红外编码。pwm的作用,实现38KHZ的红外的载波。从FLASH提取红外编码信息,根据编码时间控制是否发射载波,实现红外编码信息的发射。

二、设计说明

1、硬件设计

       本设备遥控器设备,该设备为5V电源供电,5V电源供电至HS3008红外接收头,ASM1117模块输入端。ASM1117把5V稳压到3.3V给W25Q64芯片,STM32单片机,OLED显示屏幕,NRF24L01无线模块供电。STM32单片机发出红外信号时序电平驱动NPN三极管红外发射管。HS3008红外接收头接收到红外编码后把红外编码存储到W25Q64存储芯片。通过矩阵按键和OLED屏幕的界面选择设置,可以通过按键发射存储的编码。

2、软件设计

       主函数初始化硬件SPI驱动,通过硬件SPI写入和读取W25Q64外部FLASH的数据,配置定时器1为5毫秒定时中断模式,配置定时器4为1秒定时中断模式,配置定时器2用作pwm输出用作产生38KHZ红外发射的载波,定时器3用作时间计数,计算接收的红外编码的时间,初始化OLED显示屏的模式,配置用到的IO的模式,配置接收红外编码的外部中断的模式。主循环显示遥控器的工作模式,存储内容,判断按键更改的红外遥控器的模式,进而判断发射存储区中的哪组红外编码。

三、红外编码时序解析

图中为示波器捉HS3008的红外编码,发射器为格力空调的遥控器,其中高电平表示红外发射器没有发射38KHZ载波的红外编码,低电平为发射器发射载波。通过判断高低电平的时间即可解析红外编码的01。

该设计与我的博客:

小白物联网教程stm32f103c8t6通过发送AT指令到ESP8266接入onenet物联网平台

我已将两套设计合为一套,实现了通过onenet控制万能红外遥控器发射红外编码,控制家庭电具

电路城链接:https://www.cirmall.com/circuit/13270

 

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值