我无法使IRremote库中的IRsend正常工作

时间:2019-07-17 10:51:50

标签: arduino arduino-mkr1000

您好,我使用的是arduino mkr1000,因此请使用IRremote library for mkr1000 IRremote库发送和发送IR信号。我在使用IRsend时遇到问题。

首先,我使用IRdump示例从远程按钮获取数据。完成此操作后,我尝试了IRsend示例,但似乎无法正常工作。

我暂时用普通的LED代替,以显示它是否真的在闪烁,但不是。我已经测试了它们正常工作的普通LED和IR LED。

我还认为我已根据示例正确连接了LED

PIN 3-> LED->电阻器->接地

当我上传使它闪烁的草图时,进一步确认了我的电路正确。

基本上我正在尝试发送NEC 32位信号0x2FD807F

但是我想他们无法完成mkr1000的send库?

this post中,注释是用代码编写的,但实际上并没有关于如何使用它的任何细节。

我现在在这里

int IR_S =  3;

void setup()
{
  pinMode(IR_S,OUTPUT);
}

void loop() {

  IR_Sendcode(0x2FD807F);
  delay(1000); 
}



void IR_Send38KHZ(int x,int bit)      //Generate 38KHZ IR pulse
{      
     for(int i=0;i<x;i++)//15=386US
     {      
          if(bit==1)
          {
         digitalWrite(IR_S,1);
           delayMicroseconds(9);
         digitalWrite(IR_S,0);
           delayMicroseconds(9);
          }
          else 
          {
         digitalWrite(IR_S,0);
           delayMicroseconds(20);
          }            
     }
}

void IR_Sendcode(uint8_t data)      // Send the data
{
   for(int i=0;i<8;i++)
    {
      if((data&0x01)==0x01)
       {
          IR_Send38KHZ(23,1);
          IR_Send38KHZ(64,0);             
       }
       else 
        {
           IR_Send38KHZ(23,1);
           IR_Send38KHZ(21,0);  
        }
      data=data>>1;
    }  
}

1 个答案:

答案 0 :(得分:0)

我在等待回复时创建了自己的代码。我已经完成并测试了它。从理论上讲,它应该适用于任何arduino。

this