ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 5 از 5
  1. #1
    2012/12/21
    32
    9

    ارسال و دریافت مادون قرمز با اردینو

    با سلام ایا با دو ماژول گیرنده مادون قرمز و فرستنده مادون قرمز سیگنال ارسالی از ریموت کنترل دریافت و بعد ارسال کرد توسط اردینو؟؟؟
  2. #2
    2008/05/26
    1,044
    529

    پاسخ : ارسال و دریافت مادون قرمز با اردینو

    نقل قول نوشته اصلی توسط farzintey

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    با سلام ایا با دو ماژول گیرنده مادون قرمز و فرستنده مادون قرمز سیگنال ارسالی از ریموت کنترل دریافت و بعد ارسال کرد توسط اردینو؟؟؟
    سلام
    بله امکانش هست
    هر کلیدی که توسط ریموت زده میشه یه پک از دیتا ارسال میشه که بسته پروتکلی که هست متفاوته و فرکانسشون هم معمولا بین 36 تا 38 کیلیوهرتز هست
    برای راحتی کار میتونید از گیرنده های سری tsop استفاده کنید که فیلتر و تقویت کننده داخلی دارن
    زمانی که پالسها رو دریافت میکنید باید طول هر پالس رو با استفاده از تایمر به دست بیارین و یه جا ذخیره کنید
    بعد بسته به فرکانس کاری گیرنده با آی سی 555 همون فرکانس رو میسازید و پالسها رو روی این فرکانس مدوله میکنید و توسط فرستنده ارسال میکنید
    این کلیت کاری هست که باید انجام بدین
  3. #3
    2012/12/21
    32
    9

    پاسخ : ارسال و دریافت مادون قرمز با اردینو

    نقل قول نوشته اصلی توسط M3R-E

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام
    بله امکانش هست
    هر کلیدی که توسط ریموت زده میشه یه پک از دیتا ارسال میشه که بسته پروتکلی که هست متفاوته و فرکانسشون هم معمولا بین 36 تا 38 کیلیوهرتز هست
    برای راحتی کار میتونید از گیرنده های سری tsop استفاده کنید که فیلتر و تقویت کننده داخلی دارن
    زمانی که پالسها رو دریافت میکنید باید طول هر پالس رو با استفاده از تایمر به دست بیارین و یه جا ذخیره کنید
    بعد بسته به فرکانس کاری گیرنده با آی سی 555 همون فرکانس رو میسازید و پالسها رو روی این فرکانس مدوله میکنید و توسط فرستنده ارسال میکنید
    این کلیت کاری هست که باید انجام بدین
    با سلام ممنونم از راهنماییتان من عکس و کد که پروژه که مد نظرم هست گذاشتم که سیگنال دریافتی از ریموت کنترل دریافت ودر سریال مونیتور اردینو نشان میدهد بعد با تایپ کردن یک حروف انگلیسی غیر r همون سیگنال دریافت شده که در خودش ذخیره نگه داشته از طریق ماژول فرستنده که به پین 3 وصل هست میفرستد تنها مشکل من این هست که با دستکاری این برنامه بتوان به محض دریافت همون سیگنال ارسال کرد نه اینکه با تایپ ارسال بشه من خیلی وارد به برنامه نویسی نیستم و چند تا تغییرات دادم که اونی که من میخاستم نشد اگه شما و یا کسانی که این تغییرات میتونین بدین منت بر سر من گذاشتید با تشکر









    /* record.ino Example sketch for IRLib2 *  Illustrate how to record a signal and then play it back.
    */
    #include <IRLibDecodeBase.h> //We need both the coding and
    #include <IRLibSendBase.h> // sending base classes
    #include <IRLib_P01_NEC.h> //Lowest numbered protocol 1st
    #include <IRLib_P02_Sony.h> // Include only protocols you want
    #include <IRLib_P03_RC5.h>
    #include <IRLib_P04_RC6.h>
    #include <IRLib_P05_Panasonic_Old.h>
    #include <IRLib_P07_NECx.h>
    #include <IRLib_HashRaw.h> //We need this for IRsendRaw
    #include <IRLibCombo.h> // After all protocols, include this
    // All of the above automatically creates a universal decoder
    // class called "IRdecode" and a universal sender class "IRsend"
    // containing only the protocols you want.
    // Now declare instances of the decoder and the sender.
    IRdecode myDecoder;
    IRsend mySender;


    // Include a receiver either this or IRLibRecvPCI or IRLibRecvLoop
    #include <IRLibRecv.h>
    IRrecv myReceiver(11); //pin number for the receiver


    // Storage for the recorded code
    uint8_t codeProtocol; // The type of code
    uint32_t codeValue; // The data bits if type is not raw
    uint8_t codeBits; // The length of the code in bits


    //These flags keep track of whether we received the first code
    //and if we have have received a new different code from a previous one.
    bool gotOne, gotNew;


    void setup() {
    gotOne=false; gotNew=false;
    codeProtocol=UNKNOWN;
    codeValue=0;
    Serial.begin(9600);
    delay(2000);while(!Serial);//delay for Leonardo
    Serial.println(F("Send a code from your remote and we will record it."));
    Serial.println(F("Type any character and press enter. We will send the recorded code."));
    Serial.println(F("Type 'r' special repeat sequence."));
    myReceiver.enableIRIn(); // Start the receiver
    }


    // Stores the code for later playback
    void storeCode(void) {
    gotNew=true; gotOne=true;
    codeProtocol = myDecoder.protocolNum;
    Serial.print(F("Received "));
    Serial.print(Pnames(codeProtocol));
    if (codeProtocol==UNKNOWN) {
    Serial.println(F(" saving raw data."));
    myDecoder.dumpResults();
    codeValue = myDecoder.value;
    }
    else {
    if (myDecoder.value == REPEAT_CODE) {
    // Don't record a NEC repeat value as that's useless.
    Serial.println(F("repeat; ignoring."));
    } else {
    codeValue = myDecoder.value;
    codeBits = myDecoder.bits;
    }
    Serial.print(F(" Value:0x"));
    Serial.println(codeValue, HEX);
    }
    }
    void sendCode(void) {
    if( !gotNew ) {//We've already sent this so handle toggle bits
    if (codeProtocol == NEC) {
    codeValue ^= 0x0800;
    }
    else if (codeProtocol == RC6,RC5,NEC) {
    switch(codeBits) {
    case 20: codeValue ^= 0x10000; break;
    case 24: codeValue ^= 0x100000; break;
    case 28: codeValue ^= 0x1000000; break;
    case 32: codeValue ^= 0x8000; break;
    }
    }
    }
    gotNew=false;
    if(codeProtocol== UNKNOWN) {
    //The raw time values start in decodeBuffer[1] because
    //the [0] entry is the gap between frames. The address
    //is passed to the raw send routine.
    codeValue=(uint32_t)&(recvGlobal.decodeBuffer[1]);
    //This isn't really number of bits. It's the number of entries
    //in the buffer.
    codeBits=recvGlobal.decodeLength-1;
    Serial.println(F("Sent raw"));
    }
    mySender.send(codeProtocol,codeValue,codeBits);
    if(codeProtocol==UNKNOWN) return;
    Serial.print(F("Sent "));
    Serial.print(Pnames(codeProtocol));
    Serial.print(F(" Value:0x"));
    Serial.println(codeValue, HEX);
    }


    void loop() {
    if (Serial.available()) {
    uint8_t C= Serial.read();
    if(C=='r')codeValue=REPEAT_CODE;
    if(gotOne) {
    sendCode();
    myReceiver.enableIRIn(); // Re-enable receiver
    }
    }
    else if (myReceiver.getResults()) {
    myDecoder.decode();
    storeCode();
    myReceiver.enableIRIn(); // Re-enable receiver
    }
    }





    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    این لینک فایل کتابخانه ای برای اردینو هست میتونید از این لینک دانلود کنید در مورد مادون قرمز و بعد دانلود و از زیپ خارج کردن در قسمت libraries اردینو قرار بدید تا برای کد بالا ایراد نگیره
    ویرایش توسط farzintey : 2018/01/27 در ساعت 02:46
  4. #4
    2008/05/26
    1,044
    529

    پاسخ : ارسال و دریافت مادون قرمز با اردینو

    نقل قول نوشته اصلی توسط farzintey

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    تنها مشکل من این هست که با دستکاری این برنامه بتوان به محض دریافت همون سیگنال ارسال کرد
    خوب پس کارتون خیلی ساده تر شد!
    تو حلقه اصلی برنامتون دو تا شرط بزارید واسه ورودی 0 و 1.
    تا زمانی که پایه 1 هست خروجی 1 و تا زمانی که 0 هست خروجی 0 باشه
    یه فرکانس 38 کیلوهرتز هم با 555 بسازید و با خروجی که دارید مدوله کنید
  5. #5
    2012/12/21
    32
    9

    پاسخ : ارسال و دریافت مادون قرمز با اردینو

    نقل قول نوشته اصلی توسط M3R-E

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    خوب پس کارتون خیلی ساده تر شد!
    تو حلقه اصلی برنامتون دو تا شرط بزارید واسه ورودی 0 و 1.
    تا زمانی که پایه 1 هست خروجی 1 و تا زمانی که 0 هست خروجی 0 باشه
    یه فرکانس 38 کیلوهرتز هم با 555 بسازید و با خروجی که دارید مدوله کنید
    با سلام و خسته نباشید من این برنامه رو اردینو که اپلود کردم و اجراش کردم بخوبی کار میکنه و از اونجا که شما فرمودید یه فرکانس 38 کیلوهرتز هم با 555 بسازم خدمتون عرض کنم تو خروجی هیچ مشکلی ندارم همون سیگنال دریافتی از ریموت کنترل توسط این برنامه همون تو خروجی توسط ماژول فرستنده دارم و بخوبی همون کد اجرا میشه فقط از اونجا که تو امر برنامه نویسی وارد نیستم میخاستم همون تغییراتی که تو حلقه اصلی برنامه که دوتا شرط گفتید برام اجراش کنید و اون شرط برام بنویسید و کمی توضیح درموردش بدید ممنون میشم فعلا من برحسب علاقه در حد اماتور دارم این قضایا یاد میگیرم و تازه اموزش توسط سی دی فرادرس یاد میگیرم واقعا ممنون میشم این تغییراتو برام انجام بدی و یادم بدی من فقط یه دستور تاخییر delay گذاشتم ولی نشد چون وقتی سیگنال که دریافت میکنه همون سیگنا ل تا زمانی که تو سریال مونیتور حرفی تایپ نکنی نمیفرسته من میخام به محض دریافت سیگنال بلافاصله تو خروجی همون سیگنال داشته باشم با تشکر از زحمتهای شما ممنونم
نمایش نتایج: از 1 به 5 از 5

موضوعات مشابه

  1. اتصال مادون قرمز به اردینو
    توسط baghernaseri در انجمن خانواده Arduino
    پاسخ: 4
    آخرين نوشته: 2015/09/28, 19:05
  2. مدار ارسال کد توسط مادون قرمز
    توسط imaniro در انجمن مدارهای آنالوگ و مدارهای مجتمع
    پاسخ: 1
    آخرين نوشته: 2014/05/22, 11:46
  3. دریافت سیگنالهای مادون قرمز
    توسط hadi_hashemi_85 در انجمن مدارهای آنالوگ و مدارهای مجتمع
    پاسخ: 10
    آخرين نوشته: 2012/12/22, 02:00
  4. درخواست مدار دریافت امواج مادون قرمز
    توسط elect2 در انجمن مدار هاي ديجيتال
    پاسخ: 1
    آخرين نوشته: 2012/11/06, 21:43
  5. پاسخ: 1
    آخرين نوشته: 2011/03/09, 11:56

کاربرانی که این تاپیک را مشاهده کرده اند: 0

هیچ عضوی در لیست وجود ندارد.

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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