اطلاعیه

Collapse
No announcement yet.

چگونه کلید push button را دوحالته کنیم؟

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

    چگونه کلید push button را دوحالته کنیم؟

    سلام دوستان من میخوام از پوش باتن به صورت زیر استفاده کنم ممنون میشم کمکم کنید :

    میدونیم که وقتی کلید رو فشار میدی یک حالت داره مثلا 0 میشه و وقتی ولش میکنی 1 میشه یا بلعکس ، اما حالا من میخوام از کلید فشاری اینطور استفاده کنم که وقتی فشار داده شد خروجی فعال بشه و با رها کردن کلید خروجی فعال بمونه ( وقتی 1 شد 1 بمونه و با رها کردنش 0 نشه) و با بار دوم فشار دادن خروجی غیر فعال بشه ( یعنی در حالت دوم وقتی فشار داده شد خروجی غیر فعال بشه ) و این روند رو بشه تکرار کرد
    در واقع کلید بصورت روشن و خاموش عمل کنه اما با پوش باتن در میکرو نه کلید سوئیچ

    ممنون میشم بگید چجوری میشه کدشو نوشت با C++

    #2
    پاسخ : چگونه کلید push button را دوحالته کنیم؟

    نوشته اصلی توسط ghasemataee نمایش پست ها
    سلام دوستان من میخوام از پوش باتن به صورت زیر استفاده کنم ممنون میشم کمکم کنید :

    میدونیم که وقتی کلید رو فشار میدی یک حالت داره مثلا 0 میشه و وقتی ولش میکنی 1 میشه یا بلعکس ، اما حالا من میخوام از کلید فشاری اینطور استفاده کنم که وقتی فشار داده شد خروجی فعال بشه و با رها کردن کلید خروجی فعال بمونه ( وقتی 1 شد 1 بمونه و با رها کردنش 0 نشه) و با بار دوم فشار دادن خروجی غیر فعال بشه ( یعنی در حالت دوم وقتی فشار داده شد خروجی غیر فعال بشه ) و این روند رو بشه تکرار کرد
    در واقع کلید بصورت روشن و خاموش عمل کنه اما با پوش باتن در میکرو نه کلید سوئیچ

    ممنون میشم بگید چجوری میشه کدشو نوشت با C++

    سلام داداش
    خیلی راحت میتونی بنویسیش c++ رو نمیدونم کار نکردم ولی با c اینجوریه:
    if(PINA.0==0){x=!x;}
    شرط میگه:اگه پین مورد نطر برابر با 0 شد متغیر x رو به نات خودش تغییر بده این جمله رو هم اضافه کنی خوبه while(PINA.0==0); این شرط واسه اینه که تا دستت رو از روی کلید بر نداشتی شرط اول انجام نشه که خوب اگه نباشه وقتی کلید رو میزنی تند تند 0 و1 میشه
    وقتی کلید رو فشار بدیم اگه 0باشه میشه 1 و اگه 1 باشه میشه صفر میتونی یه دیلی هم قرار بدی واسش تا دیبانسر(لرزش گیر کلید) باشه
    موفق باشی
    Proudly @real_ahmadi
    #real_ahmadi

    واسه اسمت بجنگ

    دیدگاه


      #3
      پاسخ : چگونه کلید push button را دوحالته کنیم؟

      ممنون داداش دستت درد نکنه ممنون ازت

      دیدگاه


        #4
        پاسخ : چگونه کلید push button را دوحالته کنیم؟

        یه فلیپ فلاپ بذار

        دیدگاه


          #5
          پاسخ : چگونه کلید push button را دوحالته کنیم؟

          با سلام
          با استفاده از یک آی سی 555 هم میتوانید اینکار را انجام دهید اگر خروجی جریانی بیش از 200 میلی آمپر میکشد میتوانید خروجی 555 را به یک رله متصل نمایید.

          دیدگاه


            #6
            پاسخ : چگونه کلید push button را دوحالته کنیم؟

            نوشته اصلی توسط real_ahmadi نمایش پست ها
            سلام داداش
            خیلی راحت میتونی بنویسیش c++ رو نمیدونم کار نکردم ولی با c اینجوریه:
            if(PINA.0==0){x=!x;}
            شرط میگه:اگه پین مورد نطر برابر با 0 شد متغیر x رو به نات خودش تغییر بده این جمله رو هم اضافه کنی خوبه while(PINA.0==0); این شرط واسه اینه که تا دستت رو از روی کلید بر نداشتی شرط اول انجام نشه که خوب اگه نباشه وقتی کلید رو میزنی تند تند 0 و1 میشه
            وقتی کلید رو فشار بدیم اگه 0باشه میشه 1 و اگه 1 باشه میشه صفر میتونی یه دیلی هم قرار بدی واسش تا دیبانسر(لرزش گیر کلید) باشه
            موفق باشی
            این برنامه ای که دوستمون گفتن اشتباهه
            اگه این کلید قرار باشه به صورت مداوم چک بشه و تاخیر تو برنامه خیلی کم باشه متغیر x ممکنه تو چند میلی ثانیه چند صد بار تغییر وضعیت بده

            باید یه متغیر دیگه بزاری تا وضعیت کلیدتو مشخص کنه

            bit z=0;
            if(PINx.y==0 && z==0)
            {
            PORTx.y ~= PORTx.y;
            z=1;
            }
            if(PINx.y==1 && z==1) z=0;

            متغیر z صفر تعریف شده و وقتی کلید ما زده بشه پورت مورد نظر تغییر وضعیت میده و متغیر z برابر با یک میشه و تا وقتی ک دست شما رو کلیده این شرط دیگه اجرا نمیشه
            و وقتی که دستتو از رو کلید برمیداری مقدار پایه یک میشه و چون z هم یک بوده شرط بعدی اجرا میشه که متغییر رو 0 میکنه تا با زدن مجدد کلید شرط اول اجرا بشه

            دیدگاه


              #7
              پاسخ : چگونه کلید push button را دوحالته کنیم؟

              [QUOTE=mashroti;707557]این برنامه ای که دوستمون گفتن اشتباهه
              اگه این کلید قرار باشه به صورت مداوم چک بشه و تاخیر تو برنامه خیلی کم باشه متغیر x ممکنه تو چند میلی ثانیه چند صد بار تغییر وضعیت بده

              باید یه متغیر دیگه بزاری تا وضعیت کلیدتو مشخص کنه

              bit z=0;
              if(PINx.y==0 && z==0)
              {
              PORTx.y ~= PORTx.y;
              z=1;
              }
              if(PINx.y==1 && z==1) z=0;

              متغیر z صفر تعریف شده و وقتی کلید ما زده بشه پورت مورد نظر تغییر وضعیت میده و متغیر z برابر با یک میشه و تا وقتی ک دست شما رو کلیده این شرط دیگه اجرا نمیشه
              و وقتی که دستتو از رو کلید برمیداری مقدار پایه یک میشه و چون z هم یک بوده شرط بعدی اجرا میشه که متغییر رو 0 میکنه تا با زدن مجدد کلید شرط اول اجرا بشه[/QUO



              ممنون دوست عزیز اما من در واقع میخوام با 1 شدن این کلید دستوراتم اجرا بشن ( نه اینکه خروجی 0 یا یک بشه) و با زدن دوباره و صفر شدن دوستورات متوقف بشه
              جدیدترین ویرایش توسط ghasemataee; ۱۱:۰۹ ۱۳۹۸/۰۹/۰۲.

              دیدگاه


                #8
                پاسخ : چگونه کلید push button را دوحالته کنیم؟

                خب شما میتونی به جای اون گزینه پورت یه متغیر بیتی تعریف کنی وتو شرط بگی وقتی متغیر یک بود یه کار انجام بده و وقتی صفر شد کار دیگه ای انجام بشه
                ب همین راحتی

                دیدگاه


                  #9
                  پاسخ : چگونه کلید push button را دوحالته کنیم؟

                  دوستان لطفا کمک کنید هیچ کدوم از کد های بالا درست کار نمیکنه ، شدیدا به این دستور نیاز دارم

                  دیدگاه


                    #10
                    پاسخ : چگونه کلید push button را دوحالته کنیم؟

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

                    دیدگاه


                      #11
                      پاسخ : چگونه کلید push button را دوحالته کنیم؟

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


                      دوست عزیز من یک موتور دارم میخوام بهش با پوش باتن بهش فرمان بدم :
                      اینجوری که این پوش باتن به PIND.5 میکرو وصله و در حالت عادی مقدار پین یکه (1)، حالا من میخوام با یکبار فشر دن کلید و ول کردنش موتور روشن بشه (خب تو پوش باتن وقتی فشار میدی 0 میشه با رها کردنش 1 میشه ) و در واقع اتفاق استارت بیفته و با دوباره فشردن اون باتن این دفعه موتور خاموش بشه ، و اگه باز باتن رو فشار دادم باز استارت و با دوباره فشردنش خاموش
                      جدیدترین ویرایش توسط ghasemataee; ۰۲:۰۷ ۱۳۹۸/۰۹/۱۲.

                      دیدگاه


                        #12
                        پاسخ : چگونه کلید push button را دوحالته کنیم؟

                        نوشته اصلی توسط ghasemataee نمایش پست ها
                        دوست عزیز من یک موتور دارم میخوام بهش با پوش باتن بهش فرمان بدم :
                        اینجوری که این پوش باتن به PIND.5 میکرو وصله و در حالت عادی مقدار پین یکه (1)، حالا من میخوام با یکبار فشر دن کلید و ول کردنش موتور روشن بشه (خب تو پوش باتن وقتی فشار میدی 0 میشه با رها کردنش 1 میشه ) و در واقع اتفاق استارت بیفته و با دوباره فشردن اون باتن این دفعه موتور خاموش بشه ، و اگه باز باتن رو فشار دادم باز استارت و با دوباره فشردنش خاموش

                        یعنی یک چیزی مثل این
                        قصه زندگی همیشه با مدادی که ما دوست داریم نوشته نمی شه .....

                        دیدگاه


                          #13
                          پاسخ : چگونه کلید push button را دوحالته کنیم؟



                          دلیل: ادغام دو پست برای جلوگیری از اسپم

                          شما کلیت داستانو متوجه نشدی و میگی کد مشکل داره
                          این همون مثالیه که زدم
                          تو کدویژن نوشتم و فایل پروتئوس هم هست
                          این چیزی هم که شما خواستی تفاوتی نداره تو C باشه یا C++ چون این دستورات پایه ایی همشون یکیه
                          تفاوت های زبان C با C++ سرچ کن متوجه بشی چرا C++ ساخته شد

                          دیدگاه


                            #14
                            پاسخ : چگونه کلید push button را دوحالته کنیم؟

                            نوشته اصلی توسط خلبان نمایش پست ها
                            https://www.eca.ir/forums/thread85566-6.html
                            یعنی یک چیزی مثل این
                            نه مهندس اون مطلب بصورت سخت افزاریه ف من کد ، کدنویسی میخوام نه سخت افزاری

                            دیدگاه


                              #15
                              پاسخ : چگونه کلید push button را دوحالته کنیم؟

                              نوشته اصلی توسط mashroti نمایش پست ها
                              http://s6.picofile.com/file/83804860...tStop.rar.html

                              دلیل: ادغام دو پست برای جلوگیری از اسپم

                              شما کلیت داستانو متوجه نشدی و میگی کد مشکل داره
                              این همون مثالیه که زدم
                              تو کدویژن نوشتم و فایل پروتئوس هم هست
                              این چیزی هم که شما خواستی تفاوتی نداره تو C باشه یا C++ چون این دستورات پایه ایی همشون یکیه
                              تفاوت های زبان C با C++ سرچ کن متوجه بشی چرا C++ ساخته شد


                              مهندس عزیز ناراحت نشید کد ی که شما قبلا نوشته بودید این بود :
                              ((((((((
                              این برنامه ای که دوستمون گفتن اشتباهه
                              اگه این کلید قرار باشه به صورت مداوم چک بشه و تاخیر تو برنامه خیلی کم باشه متغیر x ممکنه تو چند میلی ثانیه چند صد بار تغییر وضعیت بده

                              باید یه متغیر دیگه بزاری تا وضعیت کلیدتو مشخص کنه

                              bit z=0;
                              if(PINx.y==0 && z==0)
                              {
                              PORTx.y ~= PORTx.y;
                              z=1;
                              }
                              if(PINx.y==1 && z==1) z=0;

                              متغیر z صفر تعریف شده و وقتی کلید ما زده بشه پورت مورد نظر تغییر وضعیت میده و متغیر z برابر با یک میشه و تا وقتی ک دست شما رو کلیده این شرط دیگه اجرا نمیشه
                              و وقتی که دستتو از رو کلید برمیداری مقدار پایه یک میشه و چون z هم یک بوده شرط بعدی اجرا میشه که متغییر رو 0 میکنه تا با زدن مجدد کلید شرط اول اجرا بشه)))))))

                              شرمنده مهندس کد شما درست بود اما من تو ساختار برنامه یه اشتباه عجیب و ریز کرده بودم که اصلا به چشم نمی امد ، درست شد ممنون از شما حل شد
                              جدیدترین ویرایش توسط ghasemataee; ۱۳:۰۰ ۱۳۹۸/۰۹/۱۲.

                              دیدگاه

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