Memahami Perbedaan Fungsi Millis dan Delay pada Arduino dengan Ilustrasi

Dipublikasikan oleh Admin pada

Perbedaan fungsi millis() dan delay() pada Arduino sudah dijelaskan pada tulisan sebelumnya yang berjudul Perbedaan delay dan millis pada arduino dan contoh penggunaan. Akan tetapi mungkin masih ada pembaca yang merasa belum paham dengan penjelasan dan contoh tersebut. Oleh karena itu kali ini penulis mencoba membuat sebuah ilustrasi.

Ilustrasi ini menggambarkan seorang pekerja laundry (sebut saja namanya: Joni) yang melakukan pekerjaan mencuci baju, sebagai berikut:

Ilustrasi Fungsi Delay Arduino

Ilustrasi fungsi delay() pada Arduino

Joni menerima baju kotor dan kemudian mulai mencuci baju. Selama proses mencuci itu, Joni duduk-duduk menunggu di depan mesin cuci. Sehingga selama proses mencuci ini pekerjaan lain tertunda, tidak ada pekerjaan lain yang Joni kerjakan.

Ini adalah ibarat fungsi delay() pada Arduino, dimana fungsi delay() akan diam menunggu selama waktu tertentu. Misalnya bila kita menuliskan kode delay(5000), maka proses program akan terhenti selama 5000 millidetik = 5 detik.

Coba jalankan program di atas dan lihat hasilnya di serial monitor.

Ilustrasi Fungsi Millis Arduino

Ilustrasi fungsi millis() pada Arduino

Joni menerima baju kotor dan kemudian mulai mencuci baju. Selama proses mencuci itu, Joni melanjutkan pekerjaan lain yang masih ada, misalnya mengeringkan baju yang masih basah, menyetrika, menyusun, atau pekerjaan lainnya. Sehingga selama proses mencuci ini, pekerjaan lain bisa dilanjutkan, tidak menunggu atau menunda.

Ini adalah ibarat fungsi millis() pada Arduino, dimana fungsi millis() hanya mengembalikan nilai millidetik tanpa menghentikan proses atau menunggu. Misalnya bila kita menuliskan kode millis(), maka fungsi tersebut akan menghasilkan nilai millidetik – sejak Arduino dinyalakan/direset.

Coba jalankan program di atas dan lihat perbedaan hasilnya di serial monitor.

Setelah membaca tulisan ini dan mencoba kedua program contoh di atas, semoga pembaca akan lebih memahami perbedaan fungsi delay() dan millis() pada Arduino.

Topik hangat:

Kategori: Arduino