Advanced I/O - پیشرفته

pulseIn – ایجاد پالس

pulseIn - ایجاد پالس

توضیحات

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

دستور pulseln() ممکن است در اندازه گیری های طولانی دارای خطا باشد. محدوده مناسب برای این دستور از 10 میکروثانیه تا 3 دقیقه است.

نکته : در صورت استفاده از timeout  اختیاری ، کد سریعتر اجرا می شود.

نحوه استفاده

pulseIn(pin, value)
pulseIn(pin, value, timeout)
  • pin: پینی که قرار است پالس دریافت کنیم. داده از نوع int است.
  • value: نوع پالس برای خواندن (HIGH یا LOW) داده از نوع int است.
  • ·        timeout (اختیاری): زمانی (برحسب میکروثانیه) که باید برای پالس منتظر بمانیم. به طور پیشفرض 1 ثانیه است. داده از نوع unsigned long است.

خروجی تابع

طول پالس (برحسب میکروثانیه) یا در صورتی که پالسی قبل از اتمام زمان (timeout) شروع نشود مقدار 0 را برمی گرداند.

مثال

مدت زمان پالس را روی پین 7 چاپ می کند.

int pin = 7;
unsigned long duration;

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

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

نوشته های مشابه

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

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