اطلاعیه

Collapse
No announcement yet.

برنگشتن برنامه در حلقه while

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

    برنگشتن برنامه در حلقه while

    با سلام ، من یه برنامه ربات مسیریاب نوشتم که در آن فرضا گفتم اگه سنسور 7 دید مستقیم بره ربات و در غیر این صورت اگه 13 دید چپ بپیچه ، واین دستورات داخل حلقه while اصلی برنامه قرار داره اما وقتی 13 میبینه چپ میپیچه و وقتی 7 دوباره میبینه دیگه مستقیم نمی ره و همون دستور چپ را اجرا میکنه ؟
    اول دستور سنسور 7 را قرار دادم و بعد دستور سنسور 13 را

    اگر تنهاترین تنها شوم باز هم خدا هست.(شهید چمران)

    #2
    پاسخ : برنگشتن برنامه در حلقه while

    برنامتو بذار تا ببینم چکار کردی دکتر
    { خلاف قوانین - پاک شد }

    دیدگاه


      #3
      پاسخ : برنگشتن برنامه در حلقه while

      نوشته اصلی توسط r-el
      برنامتو بذار تا ببینم چکار کردی دکتر

      کد:
      
           if (s[7]>500)
      {
             {
              PORTC.0=0  ,PORTC.1=1  ; ///motor Left (jelo)
              PORTC.2=1  ,PORTC.3=0  ; ///motor Right (jelo)
            OCR0=255   ,OCR2=255  ;
              
             }
            else if(s[13]>500)
      
             {
              PORTC.0=1  ,PORTC.1=0  ;  ///motor Left (barAKX)
              PORTC.2=1  ,PORTC.3=0  ; ///motor Right (jelo)
            OCR0=255  ,OCR2=255  ;
              
             }

      توی اجرا هم گاهی خط رو میبینه گاهی نمیبینه البته سنسور ها مشکلی ندارند .
      اگر تنهاترین تنها شوم باز هم خدا هست.(شهید چمران)

      دیدگاه


        #4
        پاسخ : برنگشتن برنامه در حلقه while

        اوهوک داداش من سی بلد نیستم فکر کردم بیسکامه شرمنده گلم :sad:
        { خلاف قوانین - پاک شد }

        دیدگاه


          #5
          پاسخ : برنگشتن برنامه در حلقه while

          مطمئنی که مشکل از برنامه است؟ من که مشکلی توی برنامه نمی بینم. شاید مشکل عملی باشه. پیشنهاد می کنم یک بار برنامه رو خط به خط اجرا کنی و نتیجه شبیه سازی رو ببینی.
          لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
          لطفاً سوالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
          با تمام وجود گناه کردیم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنیم چه می کند؟"دکتر شریعتی"
          اگر جایی که ایستاده اید را نمی پسندید، عوضش کنید شما درخت نیستید!! "پاسکال"
          یا به اندازه ی آرزوهایت تلاش کن یا به اندازه تلاشت آرزو کن. "شکسپیر"

          دیدگاه


            #6
            پاسخ : برنگشتن برنامه در حلقه while

            با سلام،

            صرف نظر از اینکه توضیحات شما مبهمه و منظور شما از دیده شدن سنسورها مفهوم نیست، اگر درست برداشت کرده باشم، یا سنسورها از نظر فیزیکی تداخل دارن که وقتی سنسور 7 دیده میشه، سنسور 13 هم دیده میشه و یا اینکه کد برنامه مشکل داره ( قسمت های قبلی کد که شما ندادیش! ) و به محض دیده شدن یک سنسور، باید متغیر سایر سنسورها توسط برنامه صفر بشن و یا اینکه مجددا چک بشن. ( خلاصه اینکه به نظر میاد به محض دیده شدن یک سنسور متغیرش ست میشه ولی وقتی که از دید خارج میشه، متغیرش در برنامه ریست نمیشه! )
            مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

            Sh_Nourbakhsh@Yahoo.com

            http://s2.picofile.com/file/7170362468/_Wall_e_.jp

            دیدگاه


              #7
              پاسخ : برنگشتن برنامه در حلقه while

              یه مساله : این ماتریس s[] کجا تعریف شده و کجا مقدار دهی میشه و کجا چک میشه؟

              دیدگاه


                #8
                پاسخ : برنگشتن برنامه در حلقه while

                نوشته اصلی توسط RunY

                کد:
                
                     if (s[7]>500)
                {
                       {
                        PORTC.0=0  ,PORTC.1=1  ; ///motor Left (jelo)
                        PORTC.2=1  ,PORTC.3=0  ; ///motor Right (jelo)
                      OCR0=255   ,OCR2=255  ;
                        
                       }
                      else if(s[13]>500)
                
                       {
                        PORTC.0=1  ,PORTC.1=0  ;  ///motor Left (barAKX)
                        PORTC.2=1  ,PORTC.3=0  ; ///motor Right (jelo)
                      OCR0=255  ,OCR2=255  ;
                        
                       }

                توی اجرا هم گاهی خط رو میبینه گاهی نمیبینه البته سنسور ها مشکلی ندارند .
                بعد از if اول یک اکلاد باز هست که معلوم نیست کجا بسته میشه شاید اخر بسته میشه که در هر صورت اشتباهه چون else بایستی با if قبلش ارتباط داشته باشه اکلاد بعد از if اول بهمراه جفتش بایستی پاک شوند.

                دیدگاه


                  #9
                  پاسخ : برنگشتن برنامه در حلقه while

                  نوشته اصلی توسط mohammad751
                  بعد از if اول یک اکلاد باز هست که معلوم نیست کجا بسته میشه شاید اخر بسته میشه که در هر صورت اشتباهه چون else بایستی با if قبلش ارتباط داشته باشه اکلاد بعد از if اول بهمراه جفتش بایستی پاک شوند.
                  تایید میکنم .

                  دیدگاه

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