Berkedip Tanpa Penundaan
Mengedipkan LED tanpa menggunakan fungsi delay()
Terkadang Anda perlu melakukan dua hal sekaligus.
Misalnya, Anda mungkin ingin mengedipkan LED saat membaca penekanan tombol.
Dalam kasus ini, Anda tidak dapat menggunakan delay(), karena Arduino menjeda program Anda selama delay() Jika tombol ditekan saat
Arduino dijeda menunggu delay() untuk lolos, program Anda
akan melewatkan penekanan tombol.
Sketsa ini
menunjukkan cara mengedipkan LED tanpa menggunakan delay() . Ia menyalakan LED dan kemudian mencatat waktu. Kemudian,
setiap kali melalui loop(), ia memeriksa apakah waktu
kedip yang diinginkan telah lewat. Jika sudah lewat, ia akan menyalakan atau
mematikan LED dan mencatat waktu yang baru. Dengan cara ini, LED berkedip
terus-menerus sementara eksekusi sketsa tidak pernah tertinggal pada satu
instruksi.
Analoginya seperti
memanaskan pizza di microwave, dan juga menunggu email penting. Anda menaruh
pizza di microwave dan mengaturnya selama 10 menit. Analoginya seperti
menggunakan delay() akan duduk di depan microwave sambil memperhatikan
penghitung waktu mundur dari 10 menit hingga penghitung waktu mencapai nol.
Jika email penting tiba selama waktu ini, Anda akan melewatkannya.
Apa yang akan Anda
lakukan dalam kehidupan nyata adalah menyalakan pizza, lalu memeriksa email,
dan mungkin melakukan hal lain (yang tidak memakan waktu terlalu lama!) dan
sesekali Anda akan kembali ke microwave untuk melihat apakah penghitung waktu
telah mencapai nol, yang menunjukkan pizza Anda sudah matang.
Dalam tutorial ini
Anda akan mempelajari cara mengatur pengatur waktu yang serupa.
Perangkat Keras yang Diperlukan
·
LED
·
Resistor 220 ohm
Sirkuit
Untuk membuat
rangkaian, hubungkan salah satu ujung resistor ke pin 13 pada papan. Hubungkan
kaki panjang LED (kaki positif, disebut anoda) ke ujung resistor lainnya.
Hubungkan kaki pendek LED (kaki negatif, disebut katoda) ke GND papan, seperti
yang ditunjukkan pada diagram di atas dan skema di bawah.
Sebagian besar papan
Arduino sudah memiliki LED yang terpasang pada pin 13 pada papan itu sendiri.
Jika Anda menjalankan contoh ini tanpa perangkat keras yang terpasang, Anda
akan melihat LED tersebut berkedip.
Skema
Setelah Anda membangun sirkuit, hubungkan papan Anda ke komputer, jalankan Perangkat Lunak Arduino (IDE), dan masukkan kode di bawah ini.
Desain PCB
Kode Contoh
Anda bisa melakukan langkah seperti dibawah ini
Kode
Kode di bawah ini
menggunakan fungsi millis() , perintah yang
mengembalikan jumlah milidetik sejak papan mulai menjalankan sketsa saat ini,
untuk mengedipkan LED.
Pelajari lebih lanjut
Anda dapat menemukan
tutorial yang lebih mendasar di bagian contoh
bawaan .
Tidak ada komentar:
Posting Komentar