登录/注册

arduino红外自发自接

更多

要实现Arduino红外自发自收(即同一个Arduino同时控制红外发射和接收),需连接红外发射管和接收模块,并编写代码处理信号收发与避免干扰。以下是详细步骤:


硬件连接

  1. 红外发射管

    • 长脚(正极)→ Arduino数字引脚(如D3
    • 短脚(负极)→ 串联100Ω电阻后接GND(防止过流)
      (如需增强功率,可改用三极管驱动)
  2. 红外接收模块(如VS1838B)

    • OUT(信号)→ Arduino数字引脚(如D11
    • VCC → Arduino 5V
    • GND → Arduino GND

库安装

安装 IRremote(作者:ArminJo):


代码示例

#include <IRremote.h>

#define IR_TX_PIN 3     // 发射引脚
#define IR_RX_PIN 11    // 接收引脚

IRsend irsend(IR_TX_PIN);        // 发射对象
IRrecv irrecv(IR_RX_PIN);        // 接收对象
decode_results results;          // 存储解码结果

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();           // 启动红外接收
  Serial.println("Ready...");
}

void loop() {
  // 发送NEC协议信号(地址0x00, 命令0x45)
  Serial.println("Sending IR code...");
  irsend.sendNEC(0x00FF45BB, 32); // 发送数据(32位)
  delay(100);                    // 发送后短暂等待

  // 接收并解码红外信号
  if (irrecv.decode(&results)) {
    Serial.print("Received code: 0x");
    Serial.println(results.value, HEX); // 打印16进制值
    irrecv.resume();                   // 继续接收下一个信号
  }

  delay(1000); // 每秒发送一次
}

关键问题解决

  1. 自发自收干扰

    • 现象:发射时接收器会捕获自身信号,导致误触发。
    • 解决:
      • 物理隔离:增大发射管与接收头的间距(>20cm)。
      • 软件屏蔽:发送后暂停接收100ms(如delay(100)),跳过自身信号。
  2. 协议匹配

    • 发送和接收需使用相同协议(如NEC)。确保接收器解码正确(代码中decode_results能解析所发协议)。
  3. 引脚冲突

    • UNO的D3D11无硬件冲突(发射用TIMER2,接收用专用端口)。其他型号参考IRremote文档

调试技巧

  1. 用手机摄像头观察发射管是否亮起(可见暗红光)。
  2. 通过串口监视接收到的16进制值,与发送值对比。
  3. 若信号不稳定,尝试:
    • 降低发射功率(增大限流电阻)。
    • 调整irsend.sendNEC()中位长度(如32→64)。

通过以上步骤,Arduino即可稳定实现红外自发自收,适用于遥控器测试、红外通信实验等场景。

ad9361自发自首,接受波形正常,自发他收波形失真的原因?

目前有2块板子,都是zynq + ad9361。2块板配置发送接收 采样率:60MHz,本振频率为2.4GHz,带宽为50MHz,模式为FDD 2R2T。 板卡1自发自首,逻辑发送I路数据波形,Q

2023-12-07 07:59:54

网口自发自收,串口打印显示前面有几个是个固定字节,请问可以消除吗?

网口自发自收,串口打印显示前面有几个是个固定字节,请问可以消除吗?

2022-10-14 06:34:41

ch9434串口自发自收时丢数是什么原因?

调用ch943x_scr_test()可以完成scr寄存器的读写但是测试自发自收时(波特率115200 数据大小1KB),会出现丢数的情况(丢中间的3到4个字节)。麻烦帮忙分析一下有可能是什么问题呢?

2022-10-11 06:16:24

Arduino红外遥控器

电子发烧友网站提供《带Arduino的红外遥控器.zip》资料免费下载

资料下载 李维嘉 2023-07-06 10:51:45

stm32实现红外自发自

使用Arduino实现红外接收发射的博客(链接:如何用一块 Arduino uno 板同时进行

资料下载 靓仔峰 2021-11-25 10:36:07

单片机实验(十三)串口自发自收实现

1、实验环境:win732位系统,keil2,proteus7.5sp3。2、实验目的:学习通过编程串口自发自收实现。3、实验连接图。4、实验代码。#include&lt

资料下载 佚名 2021-11-17 12:21:03

Arduino的实验例程之红外遥控实验

本文档的主要内容详细介绍的是Arduino的实验例程之红外遥控实验。

资料下载 佚名 2021-02-25 16:36:58

如何使用Arduino红外控制进行智能机械手的设计资料和程序免费下载

本文介绍了一种基于 Arduino 红外控制的智能机械手的设计,本设计方案中包括机械手,Arduino Uno 开发板,I 2C LCD1602

资料下载 小白2019 2019-05-13 08:00:00

STC15W408AS串口自发自收数据备注

STC15W408AS串口自发自收数据备注:数据的长度为20个。需要更多字节可以字节修改数组的长度MAIN.C/*************本地常量声明**************/#define

2022-02-28 07:47:15

基于stm32实现红外自发自红外遥控

使用Arduino实现红外接收发射的博客(链接:如何用一块 Arduino uno 板同时进行

2021-12-08 06:16:52

单片机实验(十三)串口自发自收实现 精选资料推荐

1、实验环境:win732位系统,keil2,proteus7.5sp3。2、实验目的:学习通过编程串口自发自收实现。3、实验连接图。4、实验代码。#include#define uchar

2021-07-15 06:48:32

求一个用C8051F的串口对MAX485进行自发自收的控制程序和电路

做设计,学习中,想使用C8051F的串口对MAX485进行自发自收,请教大家。想找一个C8051F程序和电路。

2020-11-04 06:26:06

请问有人有LM4F232H5QD的CAN自发自收的范例吗?

请问有人有LM4F232H5QD的CAN自发自收的范例吗????谢谢~~~

2020-08-21 11:39:44

关于从自发自用比例看分布式光伏应用的趋势的介绍

虽然诸多省份为鼓励当地光伏应用的发展,在国家补贴的基础上,推出阶段性的当地补贴;但是国家的补贴是逐年下降的;更多朋友会遇到的问题:分布式自发自用的项目,往往比全额上网的项目更容易获得批准,而且流程相当的简化。

2019-10-22 16:45:31

分布式光伏发电前景如何?从自发自用比例看分布式光伏应用的趋势

今天的这个趋势分析,是一个始终客观存在,也是相对新奇的角度。小固是从系统的自发自用比例出发,来谈谈分布式光伏应用的发展趋势。欢迎大家一起跟小固讨论。首先分享几个案例依据早在2013年,发布的并网法规

2019-08-06 21:47:12

7天热门专题 换一换
相关标签