STM32 E18-D80NK红外避障传感器

E18-D80NK-N是一款红外光电传感器,它同时具备发射和接收功能。通过对发射光进行调制后发出,并通过接收头对反射光进行解调输出。

E18-D80NK-N采用了透镜来增强传感器的性能,使其能够检测更远的距离。根据红外光的特性,不同颜色的物体对红外光的反射程度不同,因此能够探测的最大距离也会有所差别。通常情况下,白色物体的反射能力较好,所以能够检测到的最远距离较远;而黑色物体的反射能力较差,所以能够检测到的最近距离较近。

STM32 E18-D80NK红外避障传感器_第1张图片

灵敏度调节,即检测障碍物的距离可以根据要求通过尾部的电位器旋钮进行调节

逆时针——减弱;顺时针——增强。

接线:蓝——GND;黑——信号线;棕色——VCC

工作电压:5V

工作电流:10-15mA

 驱动电流:100mA z

感应距离:3-80CM

NPN 型光电开关;输出状态是 0,1,即数字电路中的高电平和低电平。

检测到目标是低电平输出,正常状态是高电平输出;

代码:

使用的是STM32F103C8T6

传感器I/O口初始化初始化

void RAY_Init(void)
{ 
	GPIO_InitTypeDef  GPIO_InitStructure;	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);	 //ʹÄÜPD¶Ë¿ÚʱÖÓ	
	GPIO_InitStructure.GPIO_Pin =GPIO_Pin_12;				 
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; 		 //ÍÆÍìÊä³ö
	GPIO_Init(GPIOB, &GPIO_InitStructure);					 //¸ù¾ÝÉ趨²ÎÊý³õʼ»¯GPIOB.5
}

主函数使用

RAY_Init();
if(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_12)==0)//红外识别
{
    sum++;
}	

 其他的单片机型号代码差不了太多,初始化一个I/O口并检测该I/O口的电平即可

你可能感兴趣的:(STM32与模块,stm32,人工智能,嵌入式硬件)