pulseIn()



Açıklama

Pim üzerinde bir darbe ( HIGH veya LOW ) okur. Örneğin, value olduğu HIGH , pulseIn() gitmek için pim bekler LOW için HIGH , zamanlama, o zaman gitmek için pim bekler başlar LOW ve zamanlama durur. Darbenin mikrosaniye cinsinden uzunluğunu döndürür ya da pes eder ve zaman aşımı içinde tam darbe alınmazsa 0 döndürür.

Bu işlevin zamanlaması ampirik olarak belirlenmiştir ve muhtemelen daha uzun darbelerde hatalar gösterecektir. 10 mikrosaniyeden 3 dakika uzunluğa kadar olan darbelerde çalışır.

Sözdizimi

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

Parametreler

pin : Nabzı okumak istediğiniz Arduino pininin numarası. İzin verilen veri türleri: int .
value : okunacak darbe türü: YÜKSEK veya DÜŞÜK . İzin verilen veri türleri: int .
timeout (isteğe bağlı): darbenin başlamasını bekleyecek mikrosaniye sayısı; varsayılan bir saniyedir. İzin verilen veri türleri: unsigned long .

İadeler

Zaman aşımından önce nabız başlamazsa nabzın uzunluğu (mikrosaniye cinsinden) veya 0. Veri türü: unsigned long .

Örnek Kod

Örnek, pim 7'deki bir darbenin zaman süresini yazdırır.

int pin = 7;
unsigned long duration;

void setup() {
  Serial.begin(9600);
  pinMode(pin, INPUT);
}

void loop() {
  duration = pulseIn(pin, HIGH);
  Serial.println(duration);
}

Ayrıca Bakınız