Giter Site home page Giter Site logo

infrared-remote-control's Introduction

infrared-remote-control (基于STM32F103的红外学习遥控项目)

详细介绍:

https://blog.csdn.net/weixin_44048162/article/details/108739482

这个项目实现的功能有:

学习存储和发射标准NEC格式的红外信息,如机顶盒,少数电视
学习存储和发射非标准格式的红外信息,如风扇,空调
展示NEC格式解码后的数据(二进制和十进制展示)
展示非标准格式的波形数据(包括高低电平及其持续时间)

主要逻辑:

  使用单片机遥控器控制demo,OLED屏幕显示提示信息和数据,使用单片机遥控机进行功能选择,学习完成后,也是要单片机遥控器控制demo发射学习到的信息实现控制其他设备的功能,所以就能够实现使用一个单片机遥控器控制所有红外家电的目标。
  因为单片机遥控器按键数量有限,为了能够控制更多设备,这个项目实现了分区的功能,在进入首页后,可以按1选择不同的区,每个区对应flash里面不同的起始地址,在学习存储和发射红外信息时相同的按键值对应的存储空间就会不同,从而实现按键的复用。

需要的模块:

STM32F103xx(flash最好大于等于256k,方便存储数据)
0.96寸OLED屏12864液晶显示屏(IIC接口)
红外接收模块或者通用红外接收头
红外发射器
单片机遥控器

接线方式:

OLED
 电源3.3v
 SCL -> PB6
 SDA -> PB7

红外接收器
 电源3.3v
 DAT -> PB9

红外发射器
 VCC -> 3V3
 GND -> PC2(使用PC2引脚输出高低电平实现对发射器的开关控制)
 DAT -> PA0

代码结构:

Template(工程目录)
|- USER
  |- main.c (主函数文件)
|- SYSTEM
  |- delay.c (延时函数,==来自于STM32F4的库,F1的延时函数时间不准!!!==)
|- HARDWARE
  |- oled.c (OLED驱动)
  |- remote.c (红外接收器驱动)
  |- pwm.c (波形产生驱动,用于产生<kbd>38KHz</kbd> 方波)
  |- irsend.c (红外发射器驱动)
  |- stmflash.c (flash存储驱动)
  |- remote_save.c (在stmflash.c的基础上编写的便于存储红外数据的存储驱动)

其他文件和目录均来自于正点原子库函数模版

infrared-remote-control's People

Contributors

yvyan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.