Function pulseInLong() pada Arduino Programming Language

Deskripsi

Merupakan fungsi alternatif dari pulseIn() yang lebih baik untuk menghandle pulsa yang lebih panjang dan skenario yang terpengaruh oleh interupsi

Contoh untuk nilai HIGH akan menunggu pulsa dari LOW ke HIGH, start timing dan menunggu untuk kembali ke LOW untuk stop timing. Nilai yang diperoleh di sini adalah lebar pulsa dalam microsecond atau nilai nol apabila tidak diperoleh pulsa hingga time out

Fungsi ini akan menampilkan error untuk pulsa yang lebih lebar. Hanya akan bekerja dalam nilai 10uS hingga 3 menit.

Syntax

pulseInLong(pin, value)

pulseInLong(pin, value, timeout)

Parameters

pin: Nomor pin Arduino Board di mana pulsa akan dibaca. Tipe data yang diijinkan int

value: tipe pulsa yang dibaca, HIGH atau LOW. Tipe data yang diijinkan int

timeout(optional): nilai dalam microsecond untuk menunggu pulsa dimulai, default dalam satu detik. Tipe data yang diijinkan unsigned long

Returns:

Lebar pulsa dalam microsecond atau nol apabila tidak ada pulsa hingga timeout. Tipe data yang diijinkan unsigned long

Contoh Program:

int pin = 7;                    //nomor pin Arduino Board yang digunakan
unsigned long duration;         //tipe data variabel duration unsigned 
                                //long

void setup() {
  Serial.begin(9600);           //set baudrate serial 9600 bps
  pinMode(pin, INPUT);          //set mode pin pada pin 7 Arduino Board 
                                //sebagai input
}

void loop() {
  duration = pulseInLong(pin, HIGH);   //ambil nilai yang diperoleh dari 
                                   //fungsi pulseIn dengan tipe 
                                   //pulsa HIGH dan simpan di variabel 
                                   //duration
  Serial.println(duration);        //tampilkan isi variabel duration 
                                   //ke serial
}

Contoh Program dan Peringatan
Fungsi ini tergantung pada fungsi micros() sehingga tidak dapat digunakan apabila tanpa menggunakan interupsi

Terjemahan dan edit dari https://www.arduino.cc/reference/en/language/functions/advanced-io/pulseinlong/

DELTA ELECTRONIC

Paulus Andi Nalwan, ST

Tags: , , , , , ,

Leave a Reply