数码之家

 找回密码
 立即注册
搜索
查看: 2646|回复: 8

[Arduino] arduino程序怎么实现接收两个或多个红外信号

[复制链接]
发表于 2021-5-31 23:50:03 | 显示全部楼层 |阅读模式
200家元
uno在程序上要如何实现接收几个红外接头的信号,并且辨别接入不同引脚的红外接头,目前只能实现一个的接收

发表于 2021-6-1 01:30:36 | 显示全部楼层
自己写接收代码就行了,在数据帧里边判定不同遥控器的识别码。

一帧红外大致是:引导位、识别码、键码、校验码 组成,具体可以上示波器抓包。
回复

使用道具 举报

 楼主| 发表于 2021-6-1 08:14:09 | 显示全部楼层
t3486784401 发表于 2021-6-1 01:30
自己写接收代码就行了,在数据帧里边判定不同遥控器的识别码。

一帧红外大致是:引导位、识别码、键码、校 ...

我表述有些问题,是在一块板子上装两个红外接收头,接收一个红外信号,怎么判断是哪个接收头收到了信号
回复

使用道具 举报

发表于 2021-6-1 09:58:52 | 显示全部楼层
whyd 发表于 2021-6-1 08:14
我表述有些问题,是在一块板子上装两个红外接收头,接收一个红外信号,怎么判断是哪个接收头收到了信号 ...

如果自己写代码,应该不存在这个问题,轮询检测两个端口的引导码,很容易就区分;

如果用 IR 库的话,那就翻库的源码吧,看是否支持两个类实例并行工作
回复

使用道具 举报

发表于 2021-6-1 11:47:01 | 显示全部楼层
没用过arduino。stm32我直接用库函数(GPIO_ReadInputData)读取16位端口数据,然后再按位与,摘出需要的2位
回复

使用道具 举报

 楼主| 发表于 2021-6-1 13:25:45 | 显示全部楼层
现在有个思路就是,只接受一个信号,然后判断信号源
回复

使用道具 举报

 楼主| 发表于 2021-6-1 14:32:13 | 显示全部楼层
#include <boarddefs.h>
#include <IRremote.h>
#include <IRremoteInt.h>
#include <ir_Lego_PF_BitStreamEncoder.h>    // IRremote库声明
int RECV_PIN[] = 10;       //定义红外接收器的引脚为10


IRrecv irrecv(RECV_PIN);
decode_results results;


void setup()
{
  Serial.begin(9600);
  Serial.println("Enabling IRin");
  irrecv.enableIRIn();// 启动接收器
  Serial.println("Enabled IRin");
}

void loop()
{
  if (irrecv.decode(&results))
  {
    Serial.println(10);//以16进制换行输出接收代码
    irrecv.resume();// 接收下一个值
  }
  delay(100);
  
}#include <boarddefs.h>
#include <IRremote.h>
#include <IRremoteInt.h>
#include <ir_Lego_PF_BitStreamEncoder.h>    // IRremote库声明
int RECV_PIN[] = 10;       //定义红外接收器的引脚为10


IRrecv irrecv(RECV_PIN);
decode_results results;


void setup()
{
  Serial.begin(9600);
  Serial.println("Enabling IRin");
  irrecv.enableIRIn();// 启动接收器
  Serial.println("Enabled IRin");
}

void loop()
{
  if (irrecv.decode(&results))
  {
    Serial.println(10);//以16进制换行输出接收代码
    irrecv.resume();// 接收下一个值
  }
  delay(100);
  
}
回复

使用道具 举报

发表于 2022-8-14 08:09:52 | 显示全部楼层
如果自己写代码,应该不存在这个问题,轮询检测两个端口的引导码,很容易就区分;
回复

使用道具 举报

发表于 2024-3-15 20:21:07 | 显示全部楼层
过来学习了,谢谢大佬们的分享!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-9 11:21 , Processed in 0.265201 second(s), 10 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表