نمایش نتایج: از 1 به 2 از 2

موضوع: timer in arduino

  1. #1
    Junior Member
    تاریخ عضویت
    May 2017
    نوشته ها
    1

    timer in arduino

    سلام من چن وقته با اردوینو کار میکنم ولی الان بر حسب نیاز مجبورم کدی بنویسم که تو مدت بیست میلی ثانیه بیاد از رو ای دی سی نمونه برداری کنه ولی نمیدونم چجوری اینکارو بکنم...میشه راهنماییم کنید؟؟

  2. #2
    Member
    تاریخ عضویت
    Apr 2015
    محل سکونت
    ایران :|
    نوشته ها
    76
    کد زیر رو ببینید :
    کد:
    Unsigned long interval, time; Bool condition = false; Void loop() { If (condition) { Time = millis(); If (time > interval) { // Do something Interval = times + 20; } } }
    تو نمونه کد بالا، شرط کاندیشن فقط برای اینه که شما هر زمان که نیاز داشتید، توسط یه تابع دیگه (مثلا یه دکمه یا یه قسمت از برنامه) شرط کاندیشن رو true کنید و بعد از اون دستگاه شروع میکنه به انجام کار هر 20 میلی ثانیه یه بار

    روند کار اینطوره (فرض میکنیم الان کاندیشن true شده و کد میخواد اجرا بشه)

    در ابتدای کد(توی لوپ) ، متغییر اینتروال 0 هست و متغییر تایم، هر بار میشه معادل زمان کنونی (زمانی که از شروع میکرو گذشته). به عنوان مثال فرض میکنیم 25 میلی ثانیه هست. یعنی زمانی که ما متغییر کاندیشن رو ترو کردیم، 25 میلی ثانیه از شرو میگذره و هی افزایش هم پیدا میکنه.

    در لحظه ی ترو کردن کاندیشن : تایم = 25 میلی ثانیه، اینتروال = 0. شرط بررسی میکنه که تایم بیشتر از اینترواله ؟ آره هست. پس کد شما برای بار اول اجرا میشه و مقدار اینتروال میشه تایم + 20 یعنی 45 .

    12 میلی ثانیه بعد به طور مثال : تایم = 37 میلی ثانیه ، اینتروال = 45 ، شرط اجرا نمیشه

    20 میلی ثانیه بعد ، تایم شده 45 ، اینتروال هم 45 ، شرط اجرا میشه ، اینتروال میشه 65

    دوباره همینطور هر 20 میلی ثانیه، شرط شما داره اجرا میشه
    ویرایش توسط Tiranoid : 05-09-2017 در ساعت 07:42 AM

کلمات کلیدی این موضوع

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

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

SEO by vBSEO