Archive for the ‘Advance I/O’ Category

Function pulseInLong() pada Arduino Programming Language

Wednesday, March 3rd, 2021

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

Function pulseIn() pada Arduino Programming Language

Monday, March 1st, 2021

Deskripsi

Fungsi untuk membaca pulsa HIGH atau LOW pada pin. 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

pulseIn(pin, value)

pulseIn(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

Menampilkan durasi timing pada pin 7

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 = pulseIn(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
}

Terjemahan dan edit dari

https://www.arduino.cc/reference/en/language/functions/advanced-io/pulsein/

DELTA ELECTRONIC
Paulus Andi Nalwan, ST

Function noTone() pada Arduino Programming Language

Saturday, February 27th, 2021

Deksripsi

Merupakan fungsi untuk menghentikan fungsi tone(). Fungsi ini tidak akan membawa efek apapun apabila tidak ada tone yang dibangkitkan sebelumnya

Syntax

noTone(pin)

Parameters

pin: pin Arduino Board di mana tone dimatikan

Returns

Tidak ada return

Catatan dan Peringatan

Apabila ingin membangkitkan tone di pin yang lain maka terlebih dahulu dipanggil fungsi noTone() di pin yang sama sebelum memanggil lagi fungsi tone() di pin yang lain

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

DELTA ELECTRONIC

Paulus Andi Nalwan, ST

Function tone() pada Arduino Programming Language

Saturday, February 27th, 2021

Deskripsi

Merupakan fungsi untuk membangkitkan gelombang kotak dengan frekwensi tertentu (duty cycle 50%) di pin Arduino Board. Durasi untuk gelombang kotak ini juga dapat ditentukan atau juga dibuat kontinyu sampai adanya fungsi noTone(). Pin ini dapat dihubungkan ke buzzer atau speaker untuk menghasilkan suara dengan frekwensi tersebut.

Hanya ada satu signal tone yang dapat dibangkitkan dalam satu waktu. Apabila ada fungsi tone() lagi di pin yang berbeda, maka fungsi itu akan diabaikan, namun apabila ada fungsi tone() lagi di pin yang sama, maka fungsi ini akan mengupdate frekwensi yang dibangkitkan pada pin tersebut.

Tone yang dihasilkan dengan frekwensi tertentu oleh Arduino Board

Penggunaan fungsi tone() akan mempengaruhi PWM output pada pin 3 dan 11. Dan tone yang dihasilkan tidak dapat dibawah 31 Hz.

Syntax

tone(pin, frequency)

tone(pin, frequency, duration)

Parameters

pin: pin Arduino yang dibangkitkan frekwensi tone nya

frequency: frekwensi tone yang dihasilkan dengan tipe data unsigned int

duration: durasi tone dalam milisecond dengan tipe data unsigned long

Returns

Tidak ada return

Catatan dan Peringatan

Apabila ingin dibangkitkan frekwensi tone lagi di pin yang lain, maka terlebih dahulu harus dipanggil fungsi noTone() di pin di mana frekwensi tone dibangkitkan untuk menon aktifkan frekwensi tone

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

DELTA ELECTRONIC

Paulus Andi Nalwan, ST