
نوشته اصلی توسط
Rasool65
ممنون دقیقا همینو میخوام .. من الان کد هگز رو با سنسور گیرنده ir گرفتم یعنی ریموت کنترل رو گرفتم سمت گیرنده سنسور و دکمه مورد نظر رو فشار دادم و مقدار c65bd924 (هگز) یا 3327908132 (بدون تبدیل به هگز) رو در سریال بهم نشون داده ، حالا من میخوام این کد رو از فرستنده آردوینو ارسال کنم نه از ریموتی که دارم....
شما برای ارسال به ۳ تا پارامتر نیاز دارید .
۱ : پروتکل ( این مورد شامل مدل دستگاه گیرنده میشه که بصورت آبجکت تو کتابخانه قرار داده شده )
۲ : دیتا ( همون کد هگز هستش )
۳ : تعداد بیت ها ( مثل : ۲۳ )
توی کدی که شما قرار دادید پروتکل رو سونی و بصورت یک شئ قرار داده و فقط از ۲ پارامتر دیگه استفاده کرده . اگه گیرنده مورد نظر ما در اینجا همون سونی باشه ، با توجه به کد هگز شما ، کد نهایی به صورت زیر خواهد بود :
کد:
/*
* IRremote: IRsendDemo - demonstrates sending IR codes with IRsend
* An IR LED must be connected to Arduino PWM pin 3.
* Version 0.1 July, 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*/
#include <IRremote.h>
IRsend irsend;
void setup()
{
}
void loop() {
for (int i = 0; i < 3; i++) {
irsend.sendSony(0xc65bd924, 12);
delay(40);
}
delay(5000); //5 second delay between each signal burst
}
علت استفاده از حلقه For برای ایجاد تاخیر در ارسال کد هستش ، تا کد ارسال شده برای گیرنده قابل درک باشه .
برای درک بهتر ، مشاهده این لینک هم خالی از لطف نیست :
https://learn.sparkfun.com/tutorials...ing-ir-example