آموزش آردوینودستورات آردوینو

دستور pulseIn در آردوینو (اندازه گیری زمان تغییر)

دستور pulseIn در آردوینو پالس پین را میخواند. این دستور مدت زمانی که طول کشیده است که پین HIGH یا LOW شود را اندازه گیری میکند.

اگر مقدار HIGH باشد ، pulseIn() منتظر می ماند تا پین از LOW به HIGH برسد. این زمان انتظار را ذخیره میکند و با HIGH شدن، اندازه گیری را متوقف میکند و مدت زمان انتظار را برمیگرداند. در صورت عدم دریافت پالس HIGH، اندازه گیری متوقف میشود و طول پالس بر حسب میکروثانیه بازگردانده میشود. این دستور در پالس های طولانی ممکن است در اندازه گیری اندکی خطا داشته باشد. دستور pulseIn() روی پالس ها از 10 میکروثانیه تا 3 دقیقه عملکرد مناسبی دارد.

دستور pulseIn

pulseIn(pin, value)
pulseIn(pin, value, timeout)

  • pin: به جای pin باید نام پین که میخواهید در آن پالس را دریافت کنید بنویسید.
  • value: در این پارامتر باید HIGH یا LOW را بنویسید. این پارامتر تعیین میکند آردوینو منتظر دریافت چه پالسی باشد.
  • timeout (اختیاری): در این پارامتر تعیین میکند برای پالس چقدر منتظر بماند. در حالت پیشفرض 1 ثانیه است.

به طور مثال اگر میخواهید در پین 10 مدت زمان انتظار برای دریافت پالس HIGH را اندازه گیری کنید، باید دستور را به شکل pulseIn(10, HIGH) بنویسید.

جهت کسب اطلاعات بیشتر، فاصله سنج با آردوینو را مشاهده کنید.

نمونه کد با دستور pulseIn

در کد زیر ما مدت زمان انتظار برای دریافت پالس HIGH در پین 7 را اندازه گیری میکنیم و در سریال مانیتور نمایش میدهیم.

int pin = 7; // از پین 7 استفاده میکنیم.
unsigned long duration; // ایجاد یک متغیر از نوع لانگ بدون علامت

void setup() {
  Serial.begin(9600); // شروع ارتباط سریال
  pinMode(pin, INPUT); // تعین پین 7 به عنوان ورودی
}

void loop() {
  duration = pulseIn(pin, HIGH); // اندازه گیری مدت زمان بالا شدن پین 7
  Serial.println(duration); // نمایش مدت زمان در سریال مانیتور
}

دستورات مرتبط:

4.2 (9 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید قرار بدهم. سوالات مربوط به این مطلب را در قسمت نظرات همین مطلب اعلام کنید. سعی میکنم در اسرع وقت به نظرات شما پاسخ بدهم.

4 نظر

  1. با سلام .
    من یک پروژه ای می خواهم در آردینو اجرا کنم .اگر کمک کنید ممنون میشم.
    1- سه کلید داریم به نامهای “استارت” ، “50 درصد” و “استپ ”
    2-می خواهم با زدن کلید استارت یک و لتاژ 0 تا 5 ولت (در یکی از پایه های آردینو ) در مدت 20 ثانیه به صورت آرام از 0 به 5 ولت برسد و تا رسیدن پیغام بعدی در ولتاژ 5 ولت ثابت بماند، همچنین پایه ی دیگر را High نماید تا چراغ استارت روشن شود.
    3- در صورت زدن کلید 50 درصد دوباره با شیب ملایمی در مدت 5 ثانیه مقدار ولتاژ پایه مورد نظر به 2.5 ولت کاهش یابد و تا رسیدن پیغام دیگر در این ولتاژ ثابت بماند.
    4- با زدن دگمه استپ مقدار ولتاژ از 5 یا 2.5 ولت در مدت 30 ثانیه شروع به کاهش نماید و با رسیدن به ولتاژ صفر ولت ، پایه ی دیگری را High نماید تا چراغ استپ روشن شود و پایه ای که چراغ استارت را روشن کرده low نماید .
    لطفا مبلغ اجرای این پروژه را بفرمایید تا خدمت شما ارسال نمایم . با تشکر . شماره تلفن و واتساپ 09**22

    1. سلام عزیز، ما پروژه سفارشی انجام نمیدیم اما این پروژه ساده هست با دیدن دوره آموزش آردوینو به احتمال خیلی زیاد خودتون میتونید انجام بدید

    2. سلام مهندس میشه شمارشونو برام بفرستید باهاشون تماس بگیم برای همکاری؟(به ایمیلم)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *