اولین پروژه هایی که برای شروع کار با آردوینو آغاز میکنید، از ساده ترین دستورات آغاز میشود. مانند روشن و خاموش کردن یک ال ای دی، ارسال و دریافت یک پیام در سریال مانتیور و یا اجرای یک چراغ چشمک زن با آردوینو; در همان برنامه نویسی از توابع تاخیر در برنامه برای ایجاد زمانبندی بین ورودی و خروجی ها و فعال و غیرفعال شدن آن ها استفاده میکنیم. در بخش دهم توابع زمانی مورد نیاز برای کدنویسی در آردوینو را فراخواهیم گرفت. توابع مهمی مانند Delay, delayMicrosecond. micros, millis که تاخیر زمانی در برنامه نویسی و اجرای برنامه را ایفا میکنند. در ادامه با مرجع تخصصی آردوینو، به زیان فارسی دیجی اسپارک همراه باشید.
تابع زمانی ()delay
تابع زمانی delay برنامه را بر حسب یک بازه ی زمانی ( میلی ثانیه) متوقف میکند. استفاده از Delay بسیار ساده است و بایستی مدت زمان تاخیر در برنامه را بر حسب میلی ثانیه در برنامه نویسی آردوینو مشخص کنید.
کاربرد Delay
- خاموش و روشن شدن ال ای دی ها در طی یک بازه ی زمانی
- کنترل سرو موتور و چرخش زاویه
روش فراخوانی
1 |
delay(ms) |
به جای ms عددی بر واحد میلی ثانیه نوشته میشود.
نمونه کد آردوینو تست delay
1 2 3 4 5 6 7 8 9 10 11 12 |
int ledPin = 13; // ال ای دی به پایه شماره 13 دیجیتال آردوینو وصل شده و با یک متغیر به پایه شماره 13 نسبت داده شده است void setup() { pinMode(ledPin, OUTPUT); // تعریف ال ای دی به عنوان خروجی } void loop() { digitalWrite(ledPin, HIGH); // فرمان روشن شدن ال ای دی delay(1000); // برای یک ثانیه توقف ایجاد میشود digitalWrite(ledPin, LOW); // فرمان خاموش شدن ال ای دی delay(1000); //برای یک ثانیه توقف ایجاد میشود. } |
تابع زمانی ()Delaymicroseconds
تابع زمانی delaymicroseconds برنامه را بر حسب یک بازه ی زمانی ( میکروثانیه) متوقف میکند. از این تابع برای ایجاد تاخیر در برنامه بر حسب میکروثانیه استفاده میشود.
روش فراخوانی
1 |
delayMicroseconds(us) |
نمونه کد آردوینو delaymicroseconds
1 2 3 4 5 6 7 8 9 10 11 12 |
int outPin = 13; // انتخاب یک پایه برای دیجیتال و نسبت دادن به یک متغیر void setup() { pinMode(outPin, OUTPUT); // تعریف پایه بر حسب خروجی } void loop() { digitalWrite(outPin, HIGH); // فعال شدن پایه خروجی delayMicroseconds(50); // توقف به مدت 50 میکروثانیه digitalWrite(outPin, LOW); // غیرفعال شدن پایه خروجی delayMicroseconds(50); // توقف به مدت 50 میکروثانیه } |
تابع زمانی ()micros
تابع micros یک عدد بر واحد میکروثانیه را تا زمانیکه برنامه در حال اجرا بر روی آردوینو است، برمیگرداند. این عدد پس از ۷۰ دقیقه به صفر میرسد.
روش فراخوانی
1 |
time = micros() |
نمونه کد آردوینو تست micros
1 2 3 4 5 6 7 8 9 10 11 12 |
unsigned long time; void setup() { Serial.begin(9600); } void loop() { Serial.print("Time: "); time = micros(); Serial.println(time); //از زمانی که برنامه شروع به اجرا شدن میکند،زمان را نمایش میدهد. delay(1000); // تاخیر به مدت یک ثانیه } |
تابع زمانی ()millis
تابع millis زمان شروع برنامه را مشخص میکند. این زمان بر حسب میکروثانیه است.
روش فراخوانی
1 |
time = millis() |
نمونه کد آردوینو تست millis
1 2 3 4 5 6 7 8 9 10 11 12 |
unsigned long myTime; void setup() { Serial.begin(9600); } void loop() { Serial.print("Time: "); myTime = millis(); Serial.println(myTime); // نمایش زمان پس از اجرا شدن برنامه delay(1000); // توقف به مدت 1 ثانیه } |
جمع بندی لیدی پای
استفاده از توابع زمانی در برنامه نویسی آردوینو وابسته به نیاز برنامه است. زمانی که بخواهیم یک ورودی و یا خروجی طی بازه های زمانی مشخص فعال و غیر غعال شود، زمان بندی متغیر در برنامه داشته باشیم. در این بخش چند توابع زمانی کاربردی و پرتکرار در برنامه نویسی آردوینو را یاد گرفتیم که میتوانید بنا بر بازه ی زمانی مورد نیاز از هر یک در کدنویسی استفاده کنید. روش فراخوانی بسیار ساده است و حتی میتوانید یک متغیر جداگانه برای تعریف بازه ی زمانی در آردوینو تعریف کنید.