سلام 
من با  برد آردوینو uno و یک گیرنده و فرستنده مادون قرمز در حال ساخت پروژه کنترل از راه دور هستم 
گیرنده روی برد به درستی جواب میده و کدهای همه کنترلها و مادون قرمزهای ارسالی رو دریافت میکنه اما زمانی که خودم دستور ارسال مادون قرمز با کتابخونه IRremote.h رو اجرا میکنم کدی ارسال نمیشه و تو سریال فقط 0 چاپ میشه ...
پین فرستنده : 3 
پین دریافت کننده : 11 
مقاومت استفاده شده : 100 اهم  / 470 / 220 ... هر سه نوع استفاده شده 
ممنون میشم راهنمایی کنید ... واقعا گیر کردم 
فکر میکنم موجی که ساخته میشه ایراد داره 
	کد PHP:
	
#include <boarddefs.h>
#include <IRremote.h>
#include <IRremoteInt.h>
#include <ir_Lego_PF_BitStreamEncoder.h>
IRsend irsend;
const int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  irrecv.blink13(true);
  pinMode(3, OUTPUT);
}
void loop() {
if (Serial.read() != -1) {
for (int i = 0; i < 3; i++) {
irsend.sendNEC(0x00ff01fe, 32);
Serial.println("Sending");
delay(100); //In this example, the signal will be repeated every 5 seconds, approximately.
Serial.println(irrecv.decode(&results));
  irrecv.resume();
  }
}
  
  if (irrecv.decode(&results)) {
Serial.print(results.bits);
    Serial.println(irrecv.decode(&results));
    if (results.decode_type == NEC) {
      Serial.print("NEC: ");
      digitalWrite(13, HIGH);
      delay(400);
      digitalWrite(13, LOW);
      delay(400);
      
    } else if (results.decode_type == SONY) {
      Serial.print("SONY: ");
      digitalWrite(13, HIGH);
      delay(400);
      digitalWrite(13, LOW);
      delay(400);
    } else if (results.decode_type == RC5) {
      Serial.print("RC5: ");
      digitalWrite(13, HIGH);
      delay(400);
      digitalWrite(13, LOW);
      delay(400);
    } else if (results.decode_type == RC6) {
      Serial.print("RC6: ");
      digitalWrite(13, HIGH);
      delay(400);
      digitalWrite(13, LOW);
      delay(400);
    } else if (results.decode_type == UNKNOWN) {
      Serial.print("UNKNOWN: ");
      digitalWrite(13, HIGH);
      delay(400);
      digitalWrite(13, LOW);
      delay(400);
    }
    Serial.println(results.value, HEX);
    
    irrecv.resume(); // Receive the next value
  }
}