Perpustakaan Timer Arduino untuk Penundaan

Perpustakaan Timer Arduino Untuk Penundaan



Timer adalah salah satu komponen utama Arduino untuk menangani tugas-tugas yang sensitif terhadap waktu. Timer Arduino biasanya menggunakan fungsi delay() untuk memberikan penundaan atau jeda eksekusi untuk interval waktu yang kecil. Namun, perpustakaan khusus untuk menunda fungsi diperlukan untuk multitasking.

Panduan ini akan mencakup berbagai pustaka pengatur waktu Arduino untuk penundaan dengan deskripsi singkat. Sebelum itu mari kita pahami batasan fungsi Arduino delay().







Keterbatasan penundaan ()

Fungsi delay() tidak dapat digunakan jika Anda ingin melakukan tugas yang berbeda secara bersamaan, karena ini adalah fungsi pemblokiran. Ini berarti bahwa setiap kali fungsi delay() digunakan untuk menjeda eksekusi tugas, fungsi lain tidak boleh dieksekusi untuk sementara waktu. Oleh karena itu, ketika seseorang ingin menghentikan satu program saat menjalankan yang lain, delay() tidak dapat digunakan.



Lalu apa yang harus dilakukan?



Perpustakaan Timer Arduino untuk Menunda Panggilan Fungsi

Untuk mengatasi masalah ini, Anda harus menggunakan perpustakaan khusus yang dirancang untuk melakukan penundaan. Pustaka ini memungkinkan Anda menjeda beberapa fungsi dalam program untuk sementara waktu dan menjalankan yang lain untuk sementara. Pustaka ini adalah pustaka pengatur waktu yang tidak memblokir multitasking. Mereka dapat digunakan untuk memanggil fungsi jika diperlukan.





Cara Memasukkan Perpustakaan Timer Arduino dalam Kode Arduino

Untuk memasukkan perpustakaan pengatur waktu terlebih dahulu kita harus menambahkan file zip dengan masuk ke Sertakan Perpustakaan bagian dalam Arduino IDE. Untuk penjelasan mendetail tentang penambahan pustaka Arduino, Anda dapat membaca artikel di cara menginstal Library di Arduino IDE .

Langkah 1

Pertama, Anda harus mengunduh perpustakaan pengatur waktu Arduino.



Langkah 2

Setelah mendownload timer library, buka Arduino IDE dan pergi ke Sketch lalu Include Library, lalu klik Add ZIP Library.


Arduino akan ditampilkan 'Perpustakaan Dipasang' dalam keluaran.

Langkah 3

Setelah Anda menambahkan perpustakaan ZIP ke Arduino IDE, itu akan muncul di daftar drop-down opsi Sertakan Perpustakaan di Arduino IDE. Dari sini termasuk Timer perpustakaan.


Ketika Anda menyertakan 'Pewaktu' perpustakaan, arahan preprocessor akan muncul di sketsa. Jika tidak, Anda dapat mengikuti langkah 4 untuk menyertakan pustaka secara manual.

# termasuk < Timer.h >

Langkah 4

Untuk memasukkan Perpustakaan Timer Arduino dalam kode Arduino, Anda perlu menggunakan #termasuk direktif bersama dengan (.H) extension timer library name dan kemudian buat timer seperti yang ditunjukkan di bawah ini.

#termasuk
pengatur waktu otomatis = timer_create_default ( ) ;


Setelah membuat pengatur waktu, Anda perlu membuat fungsi untuk memanggil pengatur waktu tersebut. Anda mungkin perlu memanggil pengatur waktu pada saat yang ditentukan, setelah penundaan singkat, atau setelah selang waktu tertentu. Contoh untuk memanggil pengatur waktu dalam kondisi seperti itu diberikan di bawah ini.

Jika Anda Ingin Penundaan Singkat

timer.in ( tunda, function_to_call ) ;
timer.in ( delay, function_to_call, argumen ) ; // atau dengan argumen opsional untuk function_to_call


Dalam hal ini, kita dapat menggunakan timer.in() berfungsi untuk memperkenalkan penundaan sebelum memanggil fungsi tertentu. Parameter delay mewakili waktu dalam milidetik yang ingin kita tunggu sebelum mengeksekusi kode.

Setelah penundaan yang ditentukan, function_to_call akan digunakan. Argumen juga dapat didefinisikan untuk diteruskan ke fungsi pada saat panggilan.

Jika Anda Ingin Memanggil Timer pada Waktu Tertentu

Fungsi ini mengatur timer untuk menjalankan fungsi tertentu pada waktu tertentu. Parameter waktu menentukan waktu di mana fungsi harus dipanggil. Itu bisa berupa stempel waktu tertentu atau nilai penundaan dalam milidetik. Itu function_to_call adalah parameter dari fungsi yang akan dieksekusi setelah berakhirnya timer.

timer.at ( waktu , function_to_call ) ;
timer.at ( waktu , function_to_call, argumen ) ; // dengan argumen


timer.at(waktu, function_to_call, argumen) fungsi dapat meneruskan argumen ke fungsi yang dipanggil. Parameter argumen akan menjadi nilai yang akan diteruskan dalam fungsi.

Jika Anda Ingin Memanggil Timer Setelah Interval Waktu

Dalam hal ini, Anda dapat menggunakan fungsi timer.every() untuk berulang kali memanggil fungsi setelah interval waktu tertentu. Parameter interval menunjukkan waktu dalam milidetik antara interval waktu yang dapat dieksekusi.

Tentukan interval yang diinginkan dan function_to_call akan digunakan berulang kali setelah selang waktu tersebut. Seperti kasus sebelumnya, Anda bisa menyertakan argumen opsional untuk diteruskan ke fungsi saat dipanggil.

timer.setiap ( interval, function_to_call ) ;
timer.setiap ( interval, function_to_call, argumen ) ; // Tulis interval Anda di sini


Anda dapat mempelajari detail lebih lanjut tentang metode penggunaan pustaka pengatur waktu ini untuk menunda panggilan fungsi melalui tautan Perpustakaan Timer Arduino Untuk Fungsi Penundaan .

Beberapa Perpustakaan Lain untuk Keterlambatan di Arduino

Tautan yang diberikan di bawah ini akan membawa Anda ke pustaka pengatur waktu Arduino, tempat Anda dapat menginstal pustaka pengatur waktu untuk menunda panggilan fungsi.

Perpustakaan Timer oleh Michael Contreras

Ada juga seorang penulis yang telah menyediakan perpustakaan timer Arduino non-blocking buatannya sendiri untuk menunda panggilan fungsi. Dia telah menggunakan fungsi bawaan Arduino seperti millis() dan micros() untuk melakukan fungsi penundaan tanpa pemblokiran. Tautan ke perpustakaannya diberikan di bawah ini:

MichaelUray Perpustakaan Timer Arduino

Kesimpulan

Meskipun fungsi delay() sudah ada di Arduino, itu tidak dapat digunakan untuk melakukan banyak tugas secara bersamaan. Untuk menjalankan banyak tugas pada saat yang sama, perpustakaan penghitung waktu non-blocking telah dibuat oleh komunitas Arduino yang dapat digunakan sesuai kebutuhan.