Saya telah menggunakan pulseIn()
fungsi untuk memproses pengkodean data biner berbasis PWM. Ini bekerja dengan baik untuk membedakan pulsa yang panjangnya berbeda secara signifikan, misalnya 500us vs 1500us. Itu membuatnya lebih dari cukup untuk menangani remote IR yang umum.
Namun, saya ingin membuat sistem IR saya sendiri yang dapat menggunakan lebih dari 2 panjang pulsa, sehingga transfer data dapat terjadi lebih cepat. Idealnya, saya ingin menggunakan 8 panjang pulsa yang berbeda untuk pengkodean oktal (mis. 200us, 400us, 600us, dll.).
Saya perhatikan variasi yang cukup signifikan dalam nilai yang dikembalikan oleh pulseIn()
(+/- 10%). Saya berharap setidaknya beberapa di antaranya diperkenalkan oleh modul pemancar dan penerima IR, tetapi saya tidak memiliki peralatan yang cukup untuk memverifikasi itu.
Dengan asumsi saya dapat mengurangi kesalahan eksternal itu, apakah pulseIn()
mungkin cukup tepat untuk membedakan pulsa serupa?