因为大家手头用的单片机都不一样,所以在这里只基本讲一下原理。
主要需要一个IR333C红外发光二极管,和单片机:
红外遥控器发射的载波频率是38kHz,所以首先要生成38kHz的信号。
我使用STM8单片机自带的定时器Timer2,计数频率和单片机主频一样,为16M,reload值设为420,这样定时器会不断地从0数到420,每秒钟数大约38k遍。
然后启用Timer2的输出通道1,输出pwm信号。pwm信号的占空比是由一个比较值compare设定的。这里将compare设为209,也就是420的一半,就能产生50%占空比的方波。
发射:输出50%占空比PWM信号。
不发射:输出0%占空比PWM信号。
下面是我用1838接收头抓取到的某山寨尼康遥控器的信号时序,已经测试过木有问题(只要你照着这个来)。
第三列us是折算出的微秒数。理解为:
0微秒 开始,发射38kHz方波
2100微秒 停止发射
29400微秒 发射
29900微秒 停止发射
31400微秒 发射
31900微秒 停止发射
……
……
第5列是各个时刻微秒数之差,如果您想使用延时来完成,可参考。
最后说明,上面的遥控器时序,目前只测试过尼康D3200(修改:经史料查证,这个时序适用于所有的尼康消费级单反)。不同品牌型号遥控器信号时序是不同的,各位DIY前应该先用1838红外接收头进行分析。
200字以内,仅用于支线交流,主线讨论请采用回复功能。