Perpustakaan Pemasa Arduino untuk Melambatkan

Perpustakaan Pemasa Arduino Untuk Melambatkan



Pemasa adalah salah satu komponen utama Arduino untuk mengendalikan tugas sensitif masa. Pemasa Arduino biasanya menggunakan fungsi delay() untuk memberikan kelewatan atau jeda pelaksanaan untuk selang masa yang kecil. Walau bagaimanapun, perpustakaan khas untuk melengahkan fungsi diperlukan untuk multitasking.

Panduan ini akan merangkumi pelbagai perpustakaan pemasa Arduino untuk melambatkan dengan penerangan ringkas. Sebelum itu mari kita fahami batasan fungsi kelewatan() Arduino.







Had kelewatan()

Fungsi kelewatan() tidak boleh digunakan jika anda ingin melaksanakan tugas yang berbeza secara serentak, kerana ia adalah fungsi menyekat. Ini bermakna bahawa apabila fungsi delay() digunakan untuk menjeda pelaksanaan tugas, ia tidak membenarkan mana-mana fungsi lain untuk dilaksanakan dalam masa yang sama. Oleh itu, apabila seseorang ingin menghentikan satu program semasa menjalankan yang lain, delay() tidak boleh digunakan.



Kemudian apa yang perlu dilakukan?



Perpustakaan Pemasa Arduino untuk Melambatkan Panggilan Fungsi

Untuk menyelesaikan isu ini, anda harus menggunakan perpustakaan khas yang direka untuk melaksanakan kelewatan. Perpustakaan ini membenarkan anda menjeda beberapa fungsi dalam program untuk beberapa waktu dan menjalankan yang lain sementara itu. Perpustakaan ini adalah perpustakaan pemasa yang tidak menyekat multitasking. Mereka boleh digunakan untuk memanggil fungsi apabila diperlukan.





Bagaimana untuk Memasukkan Perpustakaan Pemasa Arduino dalam Kod Arduino

Untuk memasukkan perpustakaan pemasa terlebih dahulu kita perlu menambah fail zip dengan pergi ke Sertakan Perpustakaan bahagian dalam Arduino IDE. Untuk penerangan terperinci tentang menambah perpustakaan Arduino, anda boleh membaca artikel mengenai bagaimana untuk memasang Perpustakaan dalam Arduino IDE .

Langkah 1

Pertama, anda perlu memuat turun perpustakaan pemasa Arduino.



Langkah 2

Selepas memuat turun pustaka pemasa, buka Arduino IDE dan pergi ke Sketch kemudian Sertakan Perpustakaan, dan kemudian klik pada Tambah Perpustakaan ZIP.


Arduino akan dipaparkan 'Perpustakaan Dipasang' dalam keluaran.

Langkah 3

Selepas anda menambah perpustakaan ZIP pada Arduino IDE, ia akan muncul dalam senarai juntai bawah pilihan Sertakan Perpustakaan dalam Arduino IDE. Dari sini termasuk Pemasa perpustakaan.


Apabila anda memasukkan 'Pemasa' perpustakaan, arahan prapemproses akan muncul pada lakaran. Jika tidak, anda boleh mengikuti langkah 4 untuk memasukkan perpustakaan secara manual.

# termasuk < Pemasa.h >

Langkah 4

Untuk memasukkan Perpustakaan Pemasa Arduino dalam kod Arduino, anda perlu menggunakan #termasuk arahan bersama-sama dengan (.h) nama perpustakaan pemasa sambungan dan kemudian buat pemasa seperti yang ditunjukkan di bawah.

#include
pemasa automatik = pemasa_cipta_lalai ( ) ;


Selepas mencipta pemasa, anda perlu membuat fungsi untuk memanggil pemasa itu. Anda mungkin perlu memanggil pemasa pada masa yang ditetapkan, selepas kelewatan yang singkat, atau selepas selang masa. Contoh untuk memanggil pemasa dalam keadaan sedemikian diberikan di bawah.

Sekiranya Anda Inginkan Kelewatan Singkat

pemasa.dalam ( kelewatan, function_to_call ) ;
pemasa.dalam ( kelewatan, function_to_call, hujah ) ; // atau dengan hujah pilihan untuk function_to_call


Dalam kes ini, kita boleh menggunakan timer.in() berfungsi untuk memperkenalkan kelewatan sebelum memanggil fungsi tertentu. Parameter kelewatan mewakili masa dalam milisaat yang kita mahu tunggu sebelum melaksanakan kod.

Selepas kelewatan yang ditetapkan, function_to_call akan digunakan. Argumen juga boleh ditakrifkan untuk dihantar ke fungsi pada masa panggilan.

Sekiranya Anda Ingin Memanggil Pemasa pada Masa Tertentu

Fungsi ini menyediakan pemasa untuk melaksanakan fungsi tertentu pada masa tertentu. Parameter masa menentukan masa di mana fungsi harus dipanggil. Ia boleh menjadi cap masa tertentu atau nilai kelewatan dalam milisaat. The function_to_call ialah parameter fungsi yang akan dilaksanakan selepas tamat tempoh pemasa.

pemasa.at ( masa , function_to_call ) ;
pemasa.at ( masa , function_to_call, hujah ) ; // dengan hujah


timer.at(masa, function_to_call, argument) fungsi boleh menyampaikan hujah kepada fungsi yang dipanggil. Parameter argumen ialah nilai yang akan dihantar dalam fungsi.

Sekiranya Anda Ingin Memanggil Pemasa Selepas Selang Masa

Dalam kes ini, anda boleh menggunakan fungsi timer.every() untuk memanggil fungsi berulang kali selepas selang masa tertentu. Parameter selang menunjukkan masa dalam milisaat antara selang masa boleh laku.

Nyatakan selang yang dikehendaki dan function_to_call akan digunakan berulang kali selepas selang itu. Seperti kes sebelumnya, anda boleh memasukkan hujah pilihan untuk dihantar ke fungsi apabila ia dipanggil.

pemasa.setiap ( selang, function_to_call ) ;
pemasa.setiap ( selang, function_to_call, hujah ) ; // Tulis selang waktu anda di sini


Anda boleh mengetahui butiran lanjut tentang kaedah menggunakan perpustakaan pemasa ini untuk melengahkan panggilan fungsi melalui pautan Perpustakaan Pemasa Arduino Untuk Melambatkan Fungsi .

Beberapa Pustaka Lain untuk Kelewatan dalam Arduino

Pautan yang diberikan di bawah akan membawa anda ke perpustakaan pemasa Arduino, di mana anda boleh memasang perpustakaan pemasa untuk melambatkan panggilan fungsi.

Perpustakaan Pemasa oleh Michael Contreras

Terdapat juga pengarang yang telah menyediakan perpustakaan pemasa Arduino yang tidak menyekat ciptaannya sendiri untuk melambatkan panggilan fungsi. Dia telah menggunakan fungsi terbina Arduino seperti millis() dan micros() untuk melaksanakan fungsi penangguhan tanpa menyekat. Pautan ke perpustakaannya diberikan di bawah:

MichaelUray Perpustakaan Pemasa Arduino

Kesimpulan

Walaupun fungsi delay() sudah ada dalam Arduino, ia tidak boleh digunakan untuk melaksanakan berbilang tugas secara serentak. Untuk melaksanakan berbilang tugas pada masa yang sama, perpustakaan pemasa tidak menyekat telah dicipta oleh komuniti Arduino yang boleh digunakan apabila diperlukan.