pulseIn()

[Advanced I/O]

Açıklama

Bir pinde bir pulse değeri okunur(HIGH veya LOW). Örneğin pulseIn() değeri HIGH ise pulseIn() pininin LOW'dan HIGH'a gitmesini bekler ve HIGH'dan zamanlamayı başlatır, ardından pimin LOW'a gelmesini bekler ve zamanlamayı durdurur. Pulse uzunluğunu mikrosanyie cinsinden dönderir ve ya pes eder zaman aşımı içinde tam pulse alınmadıysa 0 döndürür.

Bu işlevin zamanlanması deneysel olarak belirlenmiştir ve muhtemelen daha uzun darbelerde hatalar gösterecektir. 10 mikrosaniyeden 3 dakikaya kadar olan pulse üzerinde çalışır.

NOT: İsteğe bağlı zaman aşımı kullanılılırsa kod daha hızlı yürütülür.

Sözdizimi

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

Parametreler

pin: Pulse'yi okumak istediğiniz Arduino pininin numarası. İzin verilen veri türleri: int.

value: okunacak Pulse türü HIGH veya LOW. İzin verilen veri türleri: int

timeout(isteğe bağlı): Pulse değerinin başlaması için beklenecek mikrosaniye sayısı. İzin verilen veri türleri: unsigned long

Örnek Kod

pin7'de Pulse değerinin 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); }