نمایش نتایج: از 1 به 10 از 10
Like Tree4 لایک
  • 1 Post By Ahmad110
  • 1 Post By Ahmad110
  • 1 Post By Ahmad110
  • 1 Post By Rasool65

موضوع: راهنمایی برای ساخت یک ریموت کنترل

  1. #1
    Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    47

    Question راهنمایی برای ساخت یک ریموت کنترل

    با سلام ، دوستان من خیلی گشتم تا بتونم کدی پیدا کنم برای ارسال کد مادون قرمز به سمت گیرنده ، کسی اگر میتونه کمک کنه هر چند خیلی اندک ...
    من فقط میخوام یک کدهگزی رو که دارم رو ارسال کنم همین...
    کجای این مثال باید کد هگز خودم رو بزارم ؟؟
    کد:
    /*
     * 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(0xa90, 12);
    		delay(40);
    	}
    	delay(5000); //5 second delay between each signal burst
    }

  2. #2
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    نقل قول نوشته اصلی توسط Rasool65 نمایش پست ها
    با سلام ، دوستان من خیلی گشتم تا بتونم کدی پیدا کنم برای ارسال کد مادون قرمز به سمت گیرنده ، کسی اگر میتونه کمک کنه هر چند خیلی اندک ...
    من فقط میخوام یک کدهگزی رو که دارم رو ارسال کنم همین...
    کجای این مثال باید کد هگز خودم رو بزارم ؟؟
    کد:
    /*
     * 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(0xa90, 12);
    		delay(40);
    	}
    	delay(5000); //5 second delay between each signal burst
    }
    میخواید کد همیشه ارسال بشه ؟ یا با فشار دادن یه سوئیچ ، کد ارسال بشه ؟

  3. #3
    Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    47
    سلام دوست عزیز ، اون حالتش برام جای سوال نیست فقط میخوام بدونم مثلأ چطوری این کد هگز رو C65BD924 از طریق فرستنده IR ارسال کنم ؟؟ مثال های زیادی دیدم ولی همه اون ها کد هایی شبیه این داشتن 0x88b0031 یا 0x88C0051 که وقتی ارسال میشه گیرنده مادون قرمز بصورت هگز میخونه... من در واقع کارم برعکس هست یعنی این کد هگز رو دارم و اون حالت 0xasdasd رو میخوام ؟

  4. #4
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    من دقیقا منظورتون رو نفهمیدم اما برای اینکه کامپایلر بتونه کد هگز رو تشخیص بده باید اول کد ، 0x قرار داده بشه . مثلا کد هگز 23FD باید بصورت 0x23FD نوشته بشه .

    لینک رفرنس خود آردوینو رو براتون گذاشتم .

    https://www.arduino.cc/en/Reference/IntegerConstants
    لایک کردن

  5. #5
    Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    47
    ممنون دقیقا همینو میخوام .. من الان کد هگز رو با سنسور گیرنده ir گرفتم یعنی ریموت کنترل رو گرفتم سمت گیرنده سنسور و دکمه مورد نظر رو فشار دادم و مقدار c65bd924 (هگز) یا 3327908132 (بدون تبدیل به هگز) رو در سریال بهم نشون داده ، حالا من میخوام این کد رو از فرستنده آردوینو ارسال کنم نه از ریموتی که دارم....

    یک مثال درست هم میزنم ببینید برای مثال از داخل برنامه وقتی کد 0x88C0051 میفرستم گیرنده مقدار 1035C9DA رو نمایش میده درواقع میخوام بدونم چه رابطه ایی بین این دو هست ؟ چطوری از یک طرف به طرف دیگه میشه رسید ؟
    ویرایش توسط Rasool65 : 08-04-2017 در ساعت 08:17 AM

  6. #6
    Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    47
    نقل قول نوشته اصلی توسط Ahmad110 نمایش پست ها
    من دقیقا منظورتون رو نفهمیدم اما برای اینکه کامپایلر بتونه کد هگز رو تشخیص بده باید اول کد ، 0x قرار داده بشه . مثلا کد هگز 23FD باید بصورت 0x23FD نوشته بشه .

    لینک رفرنس خود آردوینو رو براتون گذاشتم .

    https://www.arduino.cc/en/Reference/IntegerConstants
    الان من زمانی که کد خودم رو بصورت 0xc65bd924 میزارم ریموت کار نمیکنه وقتی مقدار ارسال شده رو میخونم با یه گیرنده مقدار 4E218A14 رو در سریال میخونه...

  7. #7
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    نقل قول نوشته اصلی توسط 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
    لایک کردن

  8. #8
    Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    47
    ممنون عزیز ، فقط من این قضیه پروتکل رو متوجه نشدم ولی اگر دستگاه ام سونی نباشه و بخوام از کد irsend.sendRaw استفاده کنم چی؟

  9. #9
    Senior Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    153
    نقل قول نوشته اصلی توسط Rasool65 نمایش پست ها
    ممنون عزیز ، فقط من این قضیه پروتکل رو متوجه نشدم ولی اگر دستگاه ام سونی نباشه و بخوام از کد irsend.sendRaw استفاده کنم چی؟
    مثال برای sendRaw تو لیست مثالهای کتابخانه هستش .

    https://github.com/z3t0/Arduino-IRre...endRawDemo.ino

    برای درک بهتر این کد ، لینک زیر رو هم ببینید :

    IR send RAW
    لایک کردن

  10. #10
    Member
    تاریخ عضویت
    Feb 2017
    نوشته ها
    47
    نقل قول نوشته اصلی توسط ahmad110 نمایش پست ها
    مثال برای sendraw تو لیست مثالهای کتابخانه هستش .

    https://github.com/z3t0/arduino-irre...endrawdemo.ino

    برای درک بهتر این کد ، لینک زیر رو هم ببینید :

    ir send raw
    مشکل حل شد !!! بینهایت سپاس گذارم :-x
    ویرایش توسط Rasool65 : 08-05-2017 در ساعت 08:30 PM
    لایک کردن

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO