نمایش نتایج: از 1 به 4 از 4
Like Tree1 لایک
  • 1 Post By magmagmary

موضوع: نحوه روشن و خاموش کردن مدار با نگه داشتن یک کلید فشاری؟؟؟

Threaded View

  1. #3
    Member
    تاریخ عضویت
    Feb 2016
    نوشته ها
    55
    سلام بنده می خواستم برای اینکه بتونم با زدن یه کلید فشاری مثلا یه مقدار ثابتی به یه شمارنده ای اضافه بشه و با نگه داشتنش به مدت فرضا 2 ثانیه از مقدار اون شمارنده یه مقدار ثابتی کم بشه . برای این من اومدم از پین وقفه شماره 3 برد یونو استفاده کردم و با کدهای IF , While هم که امتحان کردم جواب نداد برای حالت دومش و نمی دونم چطور باید این رو ایجاد کرد کسی اطلاعی داره یا می تونه راهنمایی کنه ؟ چون داخل تابع وقفه دیگر توابع مربوط به تایمر جواب نمی ده مثل همین millis() . با یه همچین کدی براي تابع وقفه باز هم جواب نداد
    کد:
    void ButtonFun1() {
    //  read the state of the pushbutton value:
        Treshold=Treshold+4;
    //        buttonState[0] = digitalRead(interrupt_buttonPin);
    //        buttonState[1] = digitalRead(interrupt_buttonPin);
    //        if (buttonState[0] == HIGH && buttonState[1] == HIGH) {
    //          Treshold=Treshold-4;
    //        }
    //while (buttonState[0] == HIGH && buttonState[1] == HIGH) {
    //    Treshold=Treshold-4;
    //  }
    }

    با دو تا تابع وقفه جداي از هم كه با تاخير 1 ثانيه اي كار كنند هم جواب نداد طوري كه مثلا در اين 1 ثانيه كه كليد وصل است از شمارنده كم كند
    کد:
    attachInterrupt(digitalPinToInterrupt(int
    errupt_buttonPin), ButtonFun1 ,RISING); detachInterrupt(digitalPinToInterrupt(interrupt_buttonPin)); delay(1000); attachInterrupt(digitalPinToInterrupt(interrupt_buttonPin), ButtonFun2 ,RISING); detachInterrupt(digitalPinToInterrupt(interrupt_buttonPin)); کدهای بالا در Void Loop گذاشتم با توابع وقفه زیر : void ButtonFun1() { // read the state of the pushbutton value: Treshold=Treshold+4; } void ButtonFun2() { Treshold=Treshold-4; }
    ویرایش توسط mr.ansaripour : 09-08-2017 در ساعت 07:15 PM

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

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

SEO by vBSEO