极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11856|回复: 4

红外发射和接收求助

[复制链接]
发表于 2014-10-14 16:42:39 | 显示全部楼层 |阅读模式
本帖最后由 knightsky 于 2014-10-14 16:49 编辑

我想用arduino同时进行红外发射和接收,自发自收实验。发射头和接收头同时连接在板子上,用下面的程序。先进行红外发射,然后接收,点亮led。可是只能发射,不能进行接收。这时用外部的遥控器也不能被接收了。这是怎么回事?串口里只会显示发射信息。我该如何进行修改?请大家帮忙。

  1. #include <IRremote.h>  // 使用IRRemote函数库

  2. const int irReceiverPin = 11;  // 红外接收器的 OUTPUT 引脚接在 PIN2 接口 定义irReceiverPin变量为PIN2接口
  3. int led=13;
  4. IRrecv irrecv(irReceiverPin); // 设置irReceiverPin定义的端口为红外信号接收端口
  5. IRsend irsend;
  6. decode_results results;    // 定义results变量为红外结果存放位置

  7. void setup()
  8. {
  9.   Serial.begin(9600);   // 开启串口,波特率为9600
  10.   irrecv.enableIRIn();   // 启动红外解码
  11. }

  12. void loop()
  13. {
  14.   Serial.println("SendIR: ");
  15.   irsend.sendNEC(0xC26BF044, 32);   
  16.   delay(1000);
  17.   if (irrecv.decode(&results)) {   // 解码成功,把数据放入results变量中
  18.   if (results.value==0xC26BF044){
  19.       digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  20.       delay(1000);               // wait for a second
  21.       digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  22.       delay(1000);
  23.   }
  24.     // 把数据输入到串口
  25.     Serial.print("irCode: ");            
  26.     Serial.print(results.value, HEX); // 显示红外编码
  27.     Serial.print(",  bits: ");           
  28.     Serial.println(results.bits); // 显示红外编码位数
  29.     irrecv.resume();    // 继续等待接收下一组信号
  30.   }  
  31.   delay(600); //延时600毫秒
  32. }
复制代码
回复

使用道具 举报

发表于 2014-10-14 17:33:10 | 显示全部楼层
程序指令顺序执行的,即使没有 delay(1000)估计也收不到信号。 irsend 完序列之后光子早不知道飞哪里去了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-14 18:23:51 | 显示全部楼层
贱客 发表于 2014-10-14 17:33
程序指令顺序执行的,即使没有 delay(1000)估计也收不到信号。 irsend 完序列之后光子早不知道飞哪里去了

那请问,程序该怎么写可以实现呢?
回复 支持 反对

使用道具 举报

发表于 2014-10-15 11:45:35 | 显示全部楼层
knightsky 发表于 2014-10-14 18:23
那请问,程序该怎么写可以实现呢?

“同时”是做不到的,显然实现不了自发自收。
接收然后转发这是可以的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-15 19:37:03 | 显示全部楼层
贱客 发表于 2014-10-15 11:45
“同时”是做不到的,显然实现不了自发自收。
接收然后转发这是可以的。

了解了,谢谢你
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 10:53 , Processed in 0.092153 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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