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





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









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





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

نمایش نتایج: از 1 به 8 از 8
  1. #1
    2015/05/31
    20
    0

    Interrupt button debounce

    سلام دوستان امیدوارم حالتون خوب باشه دوستان من یه مشکلی با دیبانس کردن دکمه دارم یه اینتراپت ایجاد کردن در آردوینو و یه دکمه قرار دادم که اگر کلید را فشار دادیم فلان کار رو بکنه اگر یا بار دیکه فشار دادیم فلان کا ر رو بکنه دوستان از روشهای مختلفی هم برای دیبانس کردن دکمه استفاده کردم ولی متاسفانه جواب نگرفتم کسی میدونه مشکل از کجاست؟
    اینم کد:
    if (flag_interrupt == 1 && statebutton == HIGH && millis() - Time > debunce) {

    digitalWrite(TURNON_LED_RED, HIGH);
    statebutton = LOW;
    flag_interrupt = 0;
    FAN_ID= 1;

    } else
    if (flag_interrupt == 0 && statebutton == LOW && millis() - Time > debunce) {
    // All Pins goes off it's mean the airconditioner is turn off
    FAN_ID= 0;

    statebutton = HIGH;

    FanGOESOFF();

    flag_interrupt = 1;
    Reset();
    }

    Time = debunce;
    در کنار کد از دیبانس Debounce سخت افزاری RC هم استفاده کردم جواب نداد.
    گمان میکنم توی اینتراپت همه دستورات رو با هم اجرا میکنه !
    امکانش هست که متد Millis() اصلا ساپورت نکنه توی اینتراپت ؟
    ویرایش توسط Network-Electronic : 2019/10/14 در ساعت 15:27
  2. #2
    2015/05/31
    20
    0

    پاسخ : Interrupt button debounce

    دوستان کسی نیست جواب من رو بده من خیلی درگیرم با این مسئله لرزش دکمه رو تا الان نتونستم بگیرم
  3. #3
    2018/07/30
    اهواز
    143
    78

    پاسخ : Interrupt button debounce

    نقل قول نوشته اصلی توسط Network-Electronic

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

    عضویت

    دوستان کسی نیست جواب من رو بده من خیلی درگیرم با این مسئله لرزش دکمه رو تا الان نتونستم بگیرم
    بله تو اینتراپت نمیتونید از millis استفاده کنید. بجاش از delayMicroseconds استفاده کنید.
    دیبانس با RC هم قطعا جواب میده (بعد از حل کردن مشکل بالا)
  4. #4
    2015/05/31
    20
    0

    پاسخ : Interrupt button debounce

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

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

    عضویت

    بله تو اینتراپت نمیتونید از millis استفاده کنید. بجاش از delayMicroseconds استفاده کنید.
    دیبانس با RC هم قطعا جواب میده (بعد از حل کردن مشکل بالا)
    این قطعه کد رو ببنید:
    static unsigned long last_interrupt_time = 0;
    unsigned long interrupt_time = millis();

    if (flag_interrupt == 1 && statebutton == HIGH){

    if( interrupt_time - last_interrupt_time > 200){

    digitalWrite(TURNON_LED_RED, HIGH);
    statebutton = LOW;
    flag_interrupt = 0;
    pick= 1;
    }else {


    }
    به جای millis دستور delayMicroseconds رو بذارم یا باید کار دیکه ایی هم انجا م بدم ؟تغیرارتی توی کد باید انجام بشه؟
  5. #5
    2015/05/31
    20
    0

    پاسخ : Interrupt button debounce

    فایده ایی نداره استفاده میکنم جواب نمیده دوستان اگر اطلاعی دارین ممنون میشم یاری کنید
  6. #6
    2015/05/31
    20
    0

    پاسخ : Interrupt button debounce

    واقعا کسی نیست منو راهنمایی کنه من الان دو روز توی این تاپیک دارم صحفه رو ریفرش میکنم
  7. #7
    2017/12/26
    132
    83

    پاسخ : Interrupt button debounce

    نقل قول نوشته اصلی توسط Network-Electronic

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

    عضویت

    واقعا کسی نیست منو راهنمایی کنه من الان دو روز توی این تاپیک دارم صحفه رو ریفرش میکنم
    با سلام
    کتابخانه های آماده در اینترنت هست که کارتون را انجام می ده. مثل

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

    عضویت


    موفق باشید
  8. #8
    2015/05/31
    20
    0

    پاسخ : Interrupt button debounce

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

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

    عضویت

    با سلام
    کتابخانه های آماده در اینترنت هست که کارتون را انجام می ده. مثل

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

    عضویت


    موفق باشید
    منبع خوبی رو ارئه دادین ممنون از شما
    یه عیبی داره این کتابخانه اینم اینکه اصلا به دیبانس کردن در اینتراپت اشاره نشده متاسفانه من دکمه رو در اینتراپت گذاشتم که در یک آن بعد از کلیک شدن یا نگه داشته شدن فرمان قطع و وصل رو صادر کنه.
نمایش نتایج: از 1 به 8 از 8

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

  1. DEBOUNCE
    توسط mohammad.p در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2014/10/07, 14:01
  2. نمايش متن روي lcd با دستور debounce
    توسط hamed9900 در انجمن میکروکنترلرهای AVR
    پاسخ: 8
    آخرين نوشته: 2014/06/01, 16:34
  3. debounce
    توسط soa در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2013/09/18, 17:01
  4. کد دستوری بجای Debounce
    توسط amin0065 در انجمن میکروکنترلرهای AVR
    پاسخ: 24
    آخرين نوشته: 2012/12/02, 09:33
  5. debounce و delay كيبرد
    توسط pooyafff در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2010/07/17, 20:31

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

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

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

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

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