اطلاعیه

Collapse
No announcement yet.

خارج شدن اظطراری از لوپ

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    خارج شدن اظطراری از لوپ

    با سلام:
    من یک برنامه نوشتم که یک پروسه رو طی میکنه و میخواستم در حین اجرای پروسه هر گاه یک شستی(ورودی 5 آردوینو ) رو زدم بدون مکث پروسه قطع بشه . برنامه زیر رو نوشتم دوستان نگاهی بندازن ببینن مشکل کجاست ؟ چون شستی رو که میزنم یک پروسه طی میشه تا استوپ بشه .



    //=================================================================
    // SETUP
    //=================================================================


    void setup()
    {
    pinMode(A4,OUTPUT);
    pinMode(5,INPUT_PULLUP);
    pinMode(8,INPUT_PULLUP);
    pinMode(10,OUTPUT);
    pinMode(11,OUTPUT);



    }


    //=================================================================
    // LOOP
    //=================================================================
    void loop()


    {




    for (int i=1; i<=2; i++)
    {
    if(digitalRead(8) == LOW && digitalRead(A4) == LOW)
    {
    digitalWrite(11,HIGH);
    delay(1000);
    digitalWrite(11,LOW);
    delay(1000);
    }

    }


    if(digitalRead(8) == LOW && digitalRead(A4) == LOW)
    {
    digitalWrite(10,HIGH);
    delay(1000);
    digitalWrite(10,LOW);
    delay(1000);


    }



    // Emergency stop
    //=================================================================
    if(digitalRead(5) == HIGH && digitalRead(8) == LOW)
    {
    digitalWrite(A4,HIGH);

    }
    if(digitalRead(8) == HIGH)
    //else
    {
    digitalWrite(A4,LOW);
    }

    }


    با تشکر قشقایی

    #2
    پاسخ : خارج شدن اظطراری از لوپ

    نوشته اصلی توسط hamidtgh نمایش پست ها
    با سلام:
    من یک برنامه نوشتم که یک پروسه رو طی میکنه و میخواستم در حین اجرای پروسه هر گاه یک شستی(ورودی 5 آردوینو ) رو زدم بدون مکث پروسه قطع بشه . برنامه زیر رو نوشتم دوستان نگاهی بندازن ببینن مشکل کجاست ؟ چون شستی رو که میزنم یک پروسه طی میشه تا استوپ بشه .



    //=================================================================
    // SETUP
    //=================================================================


    void setup()
    {
    pinMode(A4,OUTPUT);
    pinMode(5,INPUT_PULLUP);
    pinMode(8,INPUT_PULLUP);
    pinMode(10,OUTPUT);
    pinMode(11,OUTPUT);



    }


    //=================================================================
    // LOOP
    //=================================================================
    void loop()


    {




    for (int i=1; i<=2; i++)
    {
    if(digitalRead(8) == LOW && digitalRead(A4) == LOW)
    {
    digitalWrite(11,HIGH);
    delay(1000);
    digitalWrite(11,LOW);
    delay(1000);
    }

    }


    if(digitalRead(8) == LOW && digitalRead(A4) == LOW)
    {
    digitalWrite(10,HIGH);
    delay(1000);
    digitalWrite(10,LOW);
    delay(1000);


    }



    // Emergency stop
    //=================================================================
    if(digitalRead(5) == HIGH && digitalRead(8) == LOW)
    {
    digitalWrite(A4,HIGH);

    }
    if(digitalRead(8) == HIGH)
    //else
    {
    digitalWrite(A4,LOW);
    }

    }


    با تشکر قشقایی
    سلام
    منظورتون از این که گفتید "از پروسه خارج بشه" چیه دقیقا؟ اصلا بگید این برنامه چکار میکنه تا بشه بهتر راهنمایی کرد.

    دیدگاه


      #3
      پاسخ : خارج شدن اظطراری از لوپ

      با تشکر الان پروسه به این صورته که اگه شروط برقرار باشه خروجی 11 به تعداد دو بار روشن و خاموش میشه و سپس خروجی 10 روشن و سپس خاموش میشه واین عملیات ادامه داره تا اینکه ورودی 5 غیر فعال شده و خرجی A4 رو فعال کنه که کلا باعث قطع این سیکل شود.

      دیدگاه


        #4
        پاسخ : خارج شدن اظطراری از لوپ

        نوشته اصلی توسط hamidtgh نمایش پست ها
        با تشکر الان پروسه به این صورته که اگه شروط برقرار باشه خروجی 11 به تعداد دو بار روشن و خاموش میشه و سپس خروجی 10 روشن و سپس خاموش میشه واین عملیات ادامه داره تا اینکه ورودی 5 غیر فعال شده و خرجی A4 رو فعال کنه که کلا باعث قطع این سیکل شود.
        به ورودی 5 شستی متصله؟ یعنی تا زمانی که شستی فشار داده شده باشه پروسه متوقف میشه و بعد از برداشتن دست دوباره راه میوفته؟ یا اینکه صرفا با فشار دادن شستی پروسه متوقف میشه و با طی شرایط دیگه ای پروسه دوباره شروع میشه؟
        اگر مورد دومه، شرایط آغاز دوباره پروسه چیه؟

        دیدگاه


          #5
          پاسخ : خارج شدن اظطراری از لوپ

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

          دیدگاه


            #6
            پاسخ : خارج شدن اظطراری از لوپ

            علتش اینه که شما دستور مورد نظر تون و بعد از همه دستورات قراردادید.دستور زیر مد نظر منه.
            کد:
            if(digitalRead(5) == HIGH && digitalRead(8) == LOW)
            اینو به ایتدای حلقه ببر
            eshop-hodhod.ir

            دیدگاه


              #7
              پاسخ : خارج شدن اظطراری از لوپ

              سلام
              ابتدای حلقه که قرار میدم فرق نداره و وقفه های delay ادامه داره و بعد از اون کار میکنه

              دیدگاه

              لطفا صبر کنید...
              X