5
Arduino สามารถส่งออกความถี่พาหะเฉพาะ (เช่น 56 kHz) ได้อย่างไร?
ฉันกำลังทำงานในโครงการทัศนศาสตร์อวกาศเพื่อส่งข้อมูลแบบไร้สายระหว่างสองจุด เพื่อให้บรรลุผลนี้ฉันใช้ IR LED เชื่อมต่อกับ Arduino Uno ที่พัลส์ด้วยความถี่ตัวส่งสัญญาณ 56 kHz สำหรับเครื่องส่งสัญญาณและ Arduino ตัวที่สองที่มีโมดูลตัวตรวจจับ IR 56 kHz สำหรับตัวรับสัญญาณ ฉันพยายามใช้ delayMicroseconds () ระหว่างคำสั่ง pin high และ pin low เพื่อสร้างความถี่ของผู้ให้บริการ งานประเภทนี้ แต่ความถี่ไม่เหมือนกันเสมอและความล่าช้าเพิ่มเติมใด ๆ สำหรับการส่งสัญญาณ (เช่นเวลาที่ต้องใช้ในการเรียกใช้ฟังก์ชั่นและการลดลง) สามารถเปลี่ยนแปลงได้ การอ่านแผ่นข้อมูลสำหรับ ATmega328 ดูเหมือนว่ามีวิธีการตั้งค่าพัลส์ที่แม่นยำยิ่งขึ้นโดยใช้ตัวจับเวลาของชิป เป็นไปได้และถ้าเป็นเช่นนั้นคุณจะสร้างพัลส์ 56 kHz โดยใช้ตัวจับเวลาได้อย่างไร?