pulseIn() komutu, Bir pinin ne kadar süre HIGH veya LOW durumunda kaldığını takip eder ve geçen süreyi mikrosaniye cinsinden döndürür. Eğer zaman aşımı süresi içinde tam bir pulse alınmadıysa takibi bırakır ve 0 değerini döndürür. Komut zaman aşımı süresi belirtilmeden de kullanılabilir ama süre parametresi kullanılırsa kod daha hızlı yürütülür. Aynı zamanda, zaman aşımı süresi kullanılmazsa, 500ms gibi bir süre sonunda zaman aşımı gerçekleşebilir ve komut sıfır değerini verebilir.

 

Kullanımı:

pulseIn(pin, durum);

pulseIn(pin, durum, süre);             (Tavsiye edilen kullanım şekli)

pin        : Okunacak pin.

durum : HIGH yada LOW.

süre     : 10 mikrosaniyeden 3 dakikaya kadar. Veri türü: unsigned long.

 

Örnek:

sure = pulseIn(9, HIGH, 10000000);

Bu komut; 9 nolu pinin durumu HIGH olduğu zaman saymaya başlar. Pin LOW konumuna düştüğünde saymayı bırakır ve geçen süreyi “sure” değişkenine atar. Eğer pin 10000000 mikrosaniye(10sn) boyunca HIGH olmazsa yani bir pulse oluşmazsa 0 değerini döndürür.


Örnek Program Kodları:

#define buton 7

unsigned long sure=0;  //mikrosaniye cinsinden değer alacağı için bellekte büyük yer ayırdık.

void setup()

{

      Serial.begin(9600);

      pinMode(buton, INPUT);

}


void loop()

{

      sure = pulseIn(buton, HIGH,10000000);                                   

      Serial.print("Butona Basık Kalma Süresi= ");

      Serial.print(sure);

      Serial.println(" mikrosaniye");

}



______________________________________________________________________________________________________________________________________________________


0 comments:

Yorum Gönder

Toplam Sayfa Görüntüleme Sayısı

Seri İletişim Protokolleri

Sensörlerin Arduino İle Kullanımı

Popular Posts

Yararlanılan Kaynaklar

İletişim

gokdag17@gmail.com