Daftar Isi:
- Langkah 1: Apa Pengatur Waktu Pengawas Ini?
- Langkah 2: Bagaimana Mengaktifkan Watchdog Timer?
- Langkah 3: Jaga agar Program Anda Tetap Berjalan
- Langkah 4: Contoh Penggunaan
- Langkah 5: Masalah Pengatur Waktu Pengawas
- Langkah 6: Nikmati
Video: Arduino Hang Guardian - Tutorial Pengatur Waktu Arduino Watchdog: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Halo semuanya, Itu terjadi pada kita semua. Anda membangun sebuah proyek, dengan antusias menghubungkan semua sensor, dan tiba-tiba, Arduino hang dan tidak ada input yang diproses.
"Apa yang terjadi?", Anda akan bertanya dan mulai menggali kode Anda, hanya untuk menyadari bahwa Anda terjebak dalam lingkaran tak terbatas. Syukurlah Arduino ada di bangku Anda dan tidak di lokasi yang jauh.
Hari ini, kita akan melihat bagaimana kita dapat menggunakan pengatur waktu pengawas di Arduino untuk mencegah hal ini terjadi.
Langkah 1: Apa Pengatur Waktu Pengawas Ini?
Pengatur waktu pengawas Arduino sesuai dengan namanya adalah pengatur waktu yang berjalan secara terpisah dari CPU utama di papan tulis. Timer ini dapat digunakan untuk memeriksa keadaan papan secara berkala dan dalam keadaan di mana papan macet dalam loop perangkat lunak atau macet karena kegagalan perangkat keras, pengatur waktu pengawas dapat mengatur ulang Arduino dan memulai dari awal lagi.
Secara default saat tidak digunakan, pengatur waktu ini dinonaktifkan pada semua proyek dan hanya ketika kami mengaktifkannya, kami perlu memastikan untuk secara berkala memberi tahunya untuk tidak mengatur ulang papan kami jika masih beroperasi seperti yang diharapkan.
Untuk dapat menggunakan watchdog timer, pertama-tama kita harus menyertakan file avr/wdt.h dalam sketsa Arduino kita. Ini adalah perpustakaan standar yang menampung tindakan pengawas.
Langkah 2: Bagaimana Mengaktifkan Watchdog Timer?
Untuk mengaktifkan timer, kami menggunakan fungsi "wdt_enable" di mana kami harus melewati interval ambang di mana papan akan diatur ulang. Bergantung pada kasus penggunaan kami, ini bisa berkisar antara 15 milidetik hingga 8 detik dalam pengaturan yang telah ditentukan sebelumnya yang terdapat di perpustakaan pengawas.
ambang - NAMA KONSTAN
15 md WDTO_15MS 30 md WDTO_30MS 60 md WDTO_60MS 120 md WDTO_120MS 250 md WDTO_250MS 500 md WDTO_500MS 1s WDTO_1S 2s WDTO_2S 4s WDTO_4S 8s WDTO_8S
Langkah 3: Jaga agar Program Anda Tetap Berjalan
Sekarang, dengan pengatur waktu diaktifkan, untuk mencegahnya mengatur ulang Arduino kita, kita perlu memanggil fungsi "wdt_reset" secara berkala untuk mengatur ulang pengatur waktu pengawas sebelum interval ambang batas berakhir.
Saat memilih interval reset, sangat penting bagi kami untuk mempertimbangkan operasi yang panjang seperti membaca atau mengirim data atau menghubungkan ke sensor eksternal. Ambang batas reset harus setidaknya satu setengah kali lebih besar dari waktu ini untuk mencegah reset yang tidak disengaja.
Langkah 4: Contoh Penggunaan
Dalam contoh program yang dapat Anda unduh di sini, pertama-tama kita mengatur timer pengawas dengan interval reset 4 detik. Kemudian untuk mengetahui bahwa kita berada dalam fungsi pengaturan, kita mem-flash LED sebanyak 3 kali dengan cepat dan kemudian di loop utama kita mengatur ulang timer terlebih dahulu, menyalakan LED dengan interval yang semakin lama dan kemudian kita mematikannya. Loop berikutnya menyetel ulang timer lagi hingga waktu penyalaan lebih lama dari 4 detik.
Ketika ini terjadi, pengatur waktu pengawas mengatur ulang papan dan pengaturan dijalankan lagi.
Langkah 5: Masalah Pengatur Waktu Pengawas
Satu kemungkinan masalah dengan pengatur waktu pengawas, tergantung pada bootloader Arduino Anda adalah bahwa jika nilai pengatur waktu pengawas terlalu rendah dan bootloader tidak mengatur ulang pengatur waktu saat mengunggah kode baru, Anda mungkin akhirnya merusak papan Arduino Anda dengan cara itu. itu akan selalu macet di fase boot. Bootloader akan mencoba untuk memulai, tetapi pengatur waktu akan terus mengatur ulang papan, tidak pernah membiarkannya memulai dengan benar. Untuk mencegah masalah seperti ini, pastikan untuk selalu menggunakan interval ambang batas 2 detik atau lebih.
Langkah 6: Nikmati
Jika Anda memiliki contoh di mana Anda telah menggunakan pengatur waktu pengawas dalam proyek nyata, beri tahu saya di komentar, pastikan untuk menyukai videonya dan jangan lupa untuk berlangganan.
Semangat dan terima kasih sudah membaca/menonton!
Direkomendasikan:
Pengatur Waktu Pekerjaan Rumah yang Dibuat oleh Arduino: 5 Langkah
Pengatur Waktu Pekerjaan Rumah Buatan Arduino: Apakah anak Anda menulis pekerjaan rumahnya selama berjam-jam? Apakah anak Anda mudah terganggu oleh orang lain ketika dia mengerjakan pekerjaan rumahnya? Hari ini, saya mencoba melakukan solusi terbaik untuk konflik ini: timer yang dibuat oleh Arduino. Mengapa saya mencoba membuat timer ini alih-alih
Pengatur Waktu Penggiling Kopi Canggih $14: 6 Langkah
Pewaktu Penggiling Kopi Canggih $14: Proyek ini merupakan kemajuan dari Pewaktu Penggiling Kopi $7 yang Dapat Diinstruksikan yang saya terbitkan beberapa tahun yang lalu. Seiring berjalannya waktu, begitu pula kebutuhan akan mesin penggiling kopi yang semakin canggih. Mirip dengan apa yang saya nyatakan di Instructable terakhir, tujuan dari ini
Pengatur Waktu Outlet Arduino: 3 Langkah
Arduino Outlet Timer: Outlet timer adalah alat yang hebat untuk menjaga peralatan agar tetap menyala terlalu lama, tetapi mereka tidak memiliki penyesuaian yang terkadang diperlukan. Beberapa peralatan tidak memiliki sakelar sama sekali, dan membuat pengatur waktu otomatis buatan sendiri bisa sangat berguna. Untuk
Arduino Pengatur Waktu Senja/fajar: 15 Langkah
Arduino Dusk/fajar Clock Timer: Ringkasan: Timer berbasis Arduino ini dapat mengganti satu lampu 220V saat senja, fajar, atau waktu tertentu.Pendahuluan:Beberapa lampu di rumah saya secara otomatis menyala saat senja, hingga waktu yang telah ditentukan sebelumnya atau sampai subuh (sepanjang malam).Lokasi
Pengatur Waktu Putaran Drone Otomatis - Dicetak 3D, Didukung Arduino.: 18 Langkah (dengan Gambar)
Timer Lap Drone Otomatis - Dicetak 3D, Didukung Arduino.: Saya semakin tertarik dengan ide balap drone Video Orang Pertama (FPV). Saya baru saja membeli sebuah drone kecil dan ingin cara mengatur waktu putaran saya - ini adalah proyek yang dihasilkan. Landing pad drone ini memiliki fitur ul