سلام
من با برد آردوینو uno و یک گیرنده و فرستنده مادون قرمز در حال ساخت پروژه کنترل از راه دور هستم
گیرنده به درستی جواب میده و کدهای همه کنترلها و مادون قرمزهای ارسالی رو دریافت میکنه اما زمانی که خودم دستور ارسال مادون قرمز رو به فرستنده ir led با کتابخونه IRremote.h رو اجرا میکنم کدی ارسال نمیشه و تو سریال فقط 0 چاپ میشه یا اگر ارسال میشه 0 هست . چون led روی ماژول گیرنده تشخیص موج رو میده و چشمک میزنه یعنی موج رو دریافت میکنه اما فقط 0 چاپ میشه ...
پین فرستنده : 3
پین دریافت کننده : 11
مقاومت استفاده شده : 100 اهم / 470 / 220 ... هر سه نوع تست شده
ممنون میشم راهنمایی کنید ... واقعا گیر کردم
فکر میکنم موجی که ساخته میشه ایراد داره
من با برد آردوینو uno و یک گیرنده و فرستنده مادون قرمز در حال ساخت پروژه کنترل از راه دور هستم
گیرنده به درستی جواب میده و کدهای همه کنترلها و مادون قرمزهای ارسالی رو دریافت میکنه اما زمانی که خودم دستور ارسال مادون قرمز رو به فرستنده ir led با کتابخونه IRremote.h رو اجرا میکنم کدی ارسال نمیشه و تو سریال فقط 0 چاپ میشه یا اگر ارسال میشه 0 هست . چون led روی ماژول گیرنده تشخیص موج رو میده و چشمک میزنه یعنی موج رو دریافت میکنه اما فقط 0 چاپ میشه ...
پین فرستنده : 3
پین دریافت کننده : 11
مقاومت استفاده شده : 100 اهم / 470 / 220 ... هر سه نوع تست شده
ممنون میشم راهنمایی کنید ... واقعا گیر کردم
فکر میکنم موجی که ساخته میشه ایراد داره
کد:
#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 } }
دیدگاه