1.发射波形

<1>38k不间断发射

<2>38k间断发射

2.接收检测

<1>检测有遮挡物执行动作,检测遮挡物持续停留不再执行动作

红外接收检测
t1:PWM打开输出时间,t2:PWM关闭输出时间
t3:接收波t1时低电平时间,t4:接收波t2时低电平时间
t3 + t4 = t1
//t1+t2=一个周期,多检测几个周期,可以防干扰波,也可以调节灵敏度

void Hw_Recv_Scan(void)
{
	 if(Flg_Hw_PwmOn)										//t1时检测接收低电平
	 {	 
	  	Flg_Hw_PwmOff = 0;
		  if((!IO_HW_RecvSda) && (!Flg_Hw_Low))
		  {
			   Hw_RecvLow_Count++;
			   Flg_Hw_Low = 1;	
		  }	  
	 }
	 
	 else														//t2时检测接收低电平
	 {
		  if(!Flg_Hw_PwmOff)
		  {
			   Flg_Hw_PwmOff = 1;
			   Flg_Hw_Low = 0;
			   if((Hw_RecvLow_Count > 0) || (Flg_Hw_HandOn))
			    Hw_PwmOff_Count++;
			   
			   if(Hw_PwmOff_Count > 4)
			   {
				    if(Hw_RecvLow_Count > 4)				**//t1+t2=一个周期,多检测几个周期,可以防干扰波,也可以调节灵敏度**
				    {
				  	   if(!Flg_Hw_HandOn)
					     {
					     	 Flg_Hw_Ok = 1;					//判断红外感应到物体
					     }
					     Flg_Hw_HandOn = 1;				//遮挡物是否持续停留
				    }
				    else
				    {
					     if(Flg_Hw_HandOn)
					     {
					   	   Flg_Hw_HandOn = 0;			//无遮挡物则解除
					     }
				    }
				    Hw_RecvLow_Count = 0;
			    	    Hw_PwmOff_Count = 0;
			   }
		  }			  
	 } 
}

3.其它注意

<1> 感应距离主要调节发射管电阻

<2> 有的接收器在持续发射38K波会接收到1S左右的低,要求很高的灵敏度和长距离时

<3>注意发射管不要漏光

<4>感应距离的远近t3和t4时间不同

<5>其它pwm的光可能会将红外反射光抵消,接收器接收不到

相关文章:

  • 2021-12-12
  • 2021-08-29
  • 2021-12-22
  • 2021-11-03
  • 2021-06-19
  • 2021-04-11
  • 2021-04-18
猜你喜欢
  • 2021-12-14
  • 2021-07-30
  • 2021-05-27
  • 2022-12-23
  • 2021-08-15
  • 2022-01-19
  • 2022-12-23
相关资源
相似解决方案