Mengapa delay() Menghentikan Segalanya
Lihat bagaimana jeda menghentikan papan Anda bereaksi.
Mengapa delay() Menghentikan Segalanya adalah pelajaran Arduino & IoT Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Arduino & IoT Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Arduino & IoT Academy mencakup 4 pelajaran total.
Jeda yang Mudah
Fungsi delay menghentikan sketch Anda selama jumlah milidetik tertentu. Ini adalah cara paling sederhana untuk memperlambat sesuatu dan membuat kedipan terlihat.
delay(1000);Arti 1000
delay(1000) menunggu selama satu detik penuh karena nilainya menggunakan satuan milidetik. Jadi, delay(500) berarti setengah detik dan delay(2000) berarti dua detik.
Papan Menjadi Beku
Kekurangannya: delay membekukan semuanya. Saat menunggu, papan Anda sama sekali tidak melakukan hal lain, seperti seseorang yang menahan napas. 😮
Tekanan Tombol yang Terlewat
Selama delay, papan Anda tidak dapat mengetahui adanya tekanan tombol. Jika tombol ditekan saat jeda berlangsung, tekanan tersebut diabaikan begitu saja, sehingga bagi pengguna seolah-olah terjadi kerusakan.
Lihat Masalahnya
Di sini terdapat delay selama satu detik di antara pemeriksaan, sehingga setiap tekanan selama satu detik penuh tersebut hilang sebelum pembacaan berikutnya dilakukan.
digitalRead(buttonPin);
delay(1000);Hanya Satu Tugas Sekaligus
Karena delay memblokir, Anda tidak dapat membuat LED berkedip sekaligus memantau sensor. Seluruh sketch menunggu sebagai satu tugas.
Jeda yang Bertumpuk Menjumlah
Dua pemanggilan delay berturut-turut akan langsung dijumlahkan. Jika beberapa jeda disebarkan di berbagai bagian, papan Anda akan menghabiskan sebagian besar waktunya dalam keadaan beku dan tidak responsif.
Cocok untuk Sketch Sederhana
delay bukanlah sesuatu yang buruk. Untuk satu LED yang berkedip tanpa hal lain yang berjalan, penggunaannya sangat jelas dan sepenuhnya wajar.
Tujuan Sebenarnya
Tujuan sebenarnya adalah sketch tanpa pemblokiran yang tetap bereaksi sambil mengatur waktu berbagai kejadian. Artinya, jangan pernah membekukan loop dengan jeda yang panjang.
Pikirkan Waktu sebagai Gantinya
Alih-alih berhenti, Anda dapat menanyakan berapa banyak waktu yang telah berlalu dan bertindak hanya setelah waktu yang cukup berlalu. Sementara itu, loop terus berputar.
Alat yang Lebih Baik Segera Hadir
Sebentar lagi Anda akan mengenal millis, yaitu jam yang memungkinkan Anda mengukur waktu yang telah berlalu tanpa membekukan papan. Inilah cara proyek nyata tetap responsif.
Pemeriksaan Cepat
Apa kekurangan utama penggunaan delay dalam sketch?
Ringkasan
Anda telah melihat bahwa delay memang sederhana, tetapi membekukan papan, membuat input terlewat, dan memblokir tugas lain. Selanjutnya, Anda akan mengatur waktu kejadian tanpa menghentikan loop. ✨
Belajar C++ dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengapa delay() Menghentikan Segalanya” gratis?
Ya — teks lengkap “Mengapa delay() Menghentikan Segalanya” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Arduino & IoT Academy, upgrade ke CoddyKit PRO. Kursus Arduino & IoT Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mengapa delay() Menghentikan Segalanya”?
Lihat bagaimana jeda menghentikan papan Anda bereaksi. Kamu berlatih Arduino & IoT Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Arduino & IoT Academy?
Tidak diperlukan pengalaman sebelumnya. Arduino & IoT Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Mengapa delay() Menghentikan Segalanya” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Arduino & IoT Academy ini?
Ya. Setiap pelajaran Arduino & IoT Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- int, float, bool pada Arduino
- Mengapa delay() Menghentikan Segalanya
- Berkedip Tanpa delay Menggunakan millis
- Jalankan Dua Hal Sekaligus