差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
ir_remote [2022/02/07 14:56]
gongyusu [红外遥控原理及实现]
ir_remote [2022/02/07 16:46] (当前版本)
gongyusu [4. Verilog编程]
行 1: 行 1:
 ## 红外遥控原理及实现 ## 红外遥控原理及实现
 红外线是在可见范围内远程控制设备最便宜的方法,具有抗干扰能力强、电路简单、容易编码/​解码、功耗小、成本低等特点,我们生活中几乎所有的音频和视频等家电设备都可以通过这种方式进行控制,由于红外遥控的广泛使用,相应的元器件也就相当便宜和容易获得,从而被广大的电子产品的业余爱好者、创客用来控制自己的项目,在嵌入式系统的学习和实战项目中也被广泛采用。 红外线是在可见范围内远程控制设备最便宜的方法,具有抗干扰能力强、电路简单、容易编码/​解码、功耗小、成本低等特点,我们生活中几乎所有的音频和视频等家电设备都可以通过这种方式进行控制,由于红外遥控的广泛使用,相应的元器件也就相当便宜和容易获得,从而被广大的电子产品的业余爱好者、创客用来控制自己的项目,在嵌入式系统的学习和实战项目中也被广泛采用。
 +{{ :389-04.jpg |}}<WRAP centeralign>​ 红外遥控器 </​WRAP>​
 {{ :157-00.jpg |}}<WRAP centeralign>​ 红外接收头 </​WRAP>​ {{ :157-00.jpg |}}<WRAP centeralign>​ 红外接收头 </​WRAP>​
  
行 58: 行 59:
  
 ### 2. 电路连接 ### 2. 电路连接
 +在硬禾学堂开发的基于RP2040的嵌入式系统学习平台上,使用了Vishay公司的940nm波长的高速红外发射管 VSMB10940以及台湾亿光(Ever bright)公司的一体化贴边红外接收头IRM-H638T,电路的连接如下图:
 +{{ :​gamekitir.jpg |}}<WRAP centeralign>​基于RP2040的嵌入式系统学习平台上的红外收/​发电路</​WRAP>​
 +
 +{{ :​irwaveform.jpg |}}<WRAP centeralign>​IRM-H638T的调制/​解调波形图</​WRAP>​
 +
 +参考技术资料:
 +  * [[https://​www.vishay.com/​docs/​84170/​vsmb10940.pdf|vsmb10940数据手册]]
 +  * [[https://​atta.szlcsc.com/​upload/​public/​pdf/​source/​20161219/​1482143954829.pdf|IRM-H638T数据手册]]
 +
 +另外在Github上有小哥 - Harish Kumar使用RP2040的PIO实现了红外接收解码,并支持HID,从而实现了一个IR键盘的功能:​
 +[[https://​github.com/​gharishkumar/​pico-ir-keyboard|pico-ir-keyboard]],​ 可以通过PIO解码任何NEC协议的红外发射脉冲信号,并支持USB键盘功能(HID).
 +
 +还有一个项目用树莓派Pico实现了遥控信号接收和发射的功能:[[https://​github.com/​etfovac/​rpi_ir|RPi & IR]],并有详细的过程描述。
 +
 +
  
 ### 3. MicroPython编程 ### 3. MicroPython编程
 +Peter Hinch提供了基于ESP32、ESP8266以及树莓派Pico的MicroPython设备驱动程序:[[https://​github.com/​peterhinch/​micropython_ir|Device drivers for IR (infra red) remote controls]],其中
 +  * 红外发射文档:[[https://​github.com/​peterhinch/​micropython_ir/​blob/​master/​TRANSMITTER.md|IR Transmitter]]
 +  * 红外接收部分:[[https://​github.com/​peterhinch/​micropython_ir/​blob/​master/​RECEIVER.md|IR Receiver]]
 +
  
 ### 4. Verilog编程 ### 4. Verilog编程
 +{{ :​infrar1.gif |}}<WRAP centeralign>​ 红外遥控信号编码 </​WRAP>​
 +
 +{{ :​infrar1.gif |}}<WRAP centeralign>​ 红外遥控信号解码逻辑构成 </​WRAP>​
 +
 +{{ :​irtxandrxblockdiagram.png |}}<WRAP centeralign>​使用Lattice的ICE40 FPGA实现红外收发的功能框图 </​WRAP>​
 +
 +  * [[https://​www.latticesemi.com/​products/​designsoftwareandip/​intellectualproperty/​referencedesigns/​referencedesigns02/​ir|Lattice使用ICE40 FPGA做红外接收和发射的参考设计资源页面]]
 +  * [[https://​www.latticesemi.com/​view_document?​document_id=50709|iCE40 Ultra Self-Learning IR Remote User’s Guide]] ​
 +
 +{{ :​fpgairstep.jpg |}}