اطلاعیه

Collapse
No announcement yet.

ساخت تایمر با آردیونو+کنترل با میکروسوئیچ

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

    ساخت تایمر با آردیونو+کنترل با میکروسوئیچ

    سلام
    من قصد دارم توسط یک بورد آردیونو (uno)یک تایمر بسازم ک هر دو ساعت یک موتور dc رو (در یک جهت)تا زمان رسیدن چهار چوب وسطی به نقطه Aحرکت بده و با فشردن سوئیچ حرکت تمام شه و همزمان دوباره تایمر شروع به شمردن بکنه و بعد دو ساعت دوباره موتور رو روشن کنه و چهار چوب رو به نقطه B و میکروسوئیچ نقطه B رو تحریک کنه تا حرکت موتور مجددا قطع شه و عمل شمارش مجددا شروع شه و این سیکل بینهایت بار تکرار بشه
    این هم شماتیک ک از بالا هست

    #2
    پاسخ : ساخت تایمر با آردیونو+کنترل با میکروسوئیچ

    از دوستان کسی با کتابخانه تایمر آردیونو کار نکرده؟

    دیدگاه


      #3
      پاسخ : ساخت تایمر با آردیونو+کنترل با میکروسوئیچ

      نوشته اصلی توسط abbasjavanmardi نمایش پست ها
      سلام
      من قصد دارم توسط یک بورد آردیونو (uno)یک تایمر بسازم ک هر دو ساعت یک موتور dc رو (در یک جهت)تا زمان رسیدن چهار چوب وسطی به نقطه Aحرکت بده و با فشردن سوئیچ حرکت تمام شه و همزمان دوباره تایمر شروع به شمردن بکنه و بعد دو ساعت دوباره موتور رو روشن کنه و چهار چوب رو به نقطه B و میکروسوئیچ نقطه B رو تحریک کنه تا حرکت موتور مجددا قطع شه و عمل شمارش مجددا شروع شه و این سیکل بینهایت بار تکرار بشه
      این هم شماتیک ک از بالا هست
      http://s6.picofile.com/file/8253171934/ax.JPG

      با سلام و درود
      این منابع را بررسی نمایید. احتمالاً برای شما سودمند باشد:

      Arduino Playground - Timer Library:


      Arduino Timer Interrupts:


      TimerOne & TimerThree Libraries:

      دیدگاه


        #4
        پاسخ : ساخت تایمر با آردیونو+کنترل با میکروسوئیچ

        نوشته اصلی توسط فکر نمایش پست ها
        با سلام و درود
        این منابع را بررسی نمایید. احتمالاً برای شما سودمند باشد:

        Arduino Playground - Timer Library:


        Arduino Timer Interrupts:


        TimerOne & TimerThree Libraries:
        https://www.pjrc.com/teensy/td_libs_TimerOne.html
        تشکر از جوابتون
        تو حلقه لوپ همزمان دما هم باید کنترل بشه واگه از delay بخوام استفاده کنم فکر کنم تاخیر و اختلال حتمی هست
        با این ک کل سایت آردیونو رو زیرو رو کردم(و بیشتر سردرگم شدم)چیز قابل توجهی به دست نیاوردم
        اصل قضیه اینه ک من میخوام با برخورد چهار چوب وسط به کلید اول (نقطه A)و فشرده شدن اون اول رله چپ گرد موتور قطع بعد تایمر یا شمارشگر(timer-counter)شروع به شمارش کنه تا یک ساعت مجددا رله راست گرد موتور فعال بشه تا چهار چوب وسطی به کلید دوم برخورد کنه(نقطه B)مجددا رله راست گرد قطع بشه تایمر یا شمارشگر شروع به شمارش کنه و مجددا بعد یک ساعت رله چپ گرد فعال بشه و چهارچوب مجددا حرکت کنه به سمت نقطه A

        دیدگاه


          #5
          پاسخ : ساخت تایمر با آردیونو+کنترل با میکروسوئیچ

          فکر نمیکردم این قضیه اینقدر بی طرفدار باشه

          دیدگاه


            #6
            پاسخ : ساخت تایمر با آردیونو+کنترل با میکروسوئیچ

            من تغییرات تو برنامه رو با تابع millis ایجاد کردم اگه امکان داره بازبینی بفرمایید و سناریو به این شکله ک

            1.اگر کلید A در حالت HIGH باشه و مقدار جاری زمان از زمان قبلی بیشتر از مقدار تایم(یک ساعت)بیشتر بشه رله چپ گرد رو روشن کنه و چهار چوب بره به سمت کلید B
            2.حالا تو if چهارم گفتیم به محض رسیدن چهارچوب به کلید B, رله چپ گرد خاموش شه
            3.اگر کلید َB در حالت HIGH باشه و مقدار جاری زمان از زمان قبلی بیشتر از مقدار تایم(یک ساعت)بیشتر بشه رله راست گرد رو روشن کنه و چهار چوب بره به سمت کلید A
            4.حالا تو if سوم گفتیم به محض رسیدن چهارچوب به کلید A, رله راست گرد خاموش شه

            کد:
            
            const int button_A = 2;  //pin for button A
            const int button_B = 3;  //pin for button B
            const int relay_L = 4;  //pin for Left turn motor
            const int relay_R = 5;  //pin for Right turn motor
            unsigned long previousMillis = 0;        // will store last time button was updated
            long OffTime = 3600000;          // milliseconds of off-time
            
            
             
            void setup() {
            pinMode(button_A,INPUT);
            pinMode(button_B,INPUT);
            pinMode(relay_L,OUTPUT);
            pinMode(relay_R,OUTPUT);
            }
            
            
            void loop() 
            {
            unsigned long currentMillis = millis();
            
            
                  if((digitalRead(button_A)==HIGH) && (currentMillis - previousMillis >= OffTime))
            {
              previousMillis = currentMillis;  // Remember the time
              digitalWrite(relay_L,HIGH);  //if curr-perv>=3600sec(1h) start turn motor to Left
             }
            
            
                  if((digitalRead(button_B)==HIGH) && (currentMillis - previousMillis >= OffTime))
            {
               previousMillis = currentMillis;  // Remember the time
               digitalWrite(relay_R,HIGH);  //if curr-perv>=3600sec(1h) start turn motor to Right
            }
            
            
            if(digitalRead(button_A)==HIGH)
              {
                digitalWrite(relay_R,LOW);  ////stop motor turn Right after push button_A
              }
              
            if(digitalRead(button_B)==HIGH)
            {
                digitalWrite(relay_L,LOW);  //stop motor turn Left after push button_B
            }
            
            
            }

            دیدگاه


              #7
              پاسخ : ساخت تایمر با آردیونو+کنترل با میکروسوئیچ

              دوست عزیز
              تا جایی که یادم هست آردینو چهار عدد تایمر داخلی دارد که شما می توانید از آنها مستقل از خود برنامه استفاده کنید

              دیدگاه


                #8
                پاسخ : ساخت تایمر با آردیونو+کنترل با میکروسوئیچ

                امکان داره منبعی بفرمایید ک بتونم با مطالعه از تایمر آردیونو استفاده کنم؟

                دیدگاه


                  #9
                  پاسخ : ساخت تایمر با آردیونو+کنترل با میکروسوئیچ



                  Sent from my SM-G7102 using Tapatalk

                  دیدگاه


                    #10
                    پاسخ : ساخت تایمر با آردیونو+کنترل با میکروسوئیچ

                    سلام دوستان.بنده مازول ساعت دقیق ds3231 رو تهیه کردم.
                    آیا امکانش هست با این قطعه تایمر ساخت؟و معیار شمارش تابع millis رو شمارش این قطعه قرار داد؟
                    کسی میدونه کریستال ساعت رو چطوری میشه به آردیونو متصل کرد و واسه تایمر ازش استفاده کرد؟

                    دیدگاه

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