南通高新区规划建设局网站如何吸引访客?
摘要:南通网站制作系统,高新区规划建设局网站,公司简介万能模板,南通医院网站建设本文代码使用 HAL 库。 文章目录前言一、E18-D80NK 红外传感器:1. E18-D80NK 的介绍2. 电器特性二、红外检测小
南通网站制作系统,高新区规划建设局网站,公司简介万能模板,南通医院网站建设本文代码使用 HAL 库。 文章目录前言一、E18-D80NK 红外传感器#xff1a;1. E18-D80NK 的介绍2. 电器特性二、红外检测小实验代码讲解三、实验现象总结前言
这篇文章介绍 如何使用 STM32 控制 E18-D80NK 进行红外检测。
一、E18-D80NK 红外传感器#xff1a;
1. E18-D80N… 本文代码使用 HAL 库。 文章目录前言一、E18-D80NK 红外传感器1. E18-D80NK 的介绍2. 电器特性二、红外检测小实验代码讲解三、实验现象总结前言
这篇文章介绍 如何使用 STM32 控制 E18-D80NK 进行红外检测。
一、E18-D80NK 红外传感器
1. E18-D80NK 的介绍
E18-D8ONK 这是一种 集发射与接收于一体 的光电传感器发射光经过调制后发出接收头对反射光进行解调输出。有效的避免了可见光的干扰。透镜的使用也使得这款传感器最远可以检测80厘米距离的问题(由于红外光的特性不同颜色的物体能探测的最大距离也有不同;白色物体最远黑色物体最近)。
检测 障碍物的距离 可以根据要求通过 尾部的 电位器旋钮 进行调节。
该传感器具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点可以广泛应用于机器人避障、流水线计件等众多场仓。.
2. 电器特性
棕色VCC蓝色GND黑色OUT。工作电压5V。检测距离3-80cm。工作原理检测到目标物体时输出低电平正常状态时输出高电平。 二、红外检测小实验代码讲解
本实验是 使用 E18-D80NK 检测到有障碍物时对检测到障碍物的次数进行计算。 大家可以使用 CubeMX 生成了 相关的引脚配置使能我这里 是 没有使用这个软件单独创建一个 test.c 文件 进行配置引脚使能的。 对于 单独创建的代码函数不理解的可以参考我之前的文章详细介绍了这些函数STM32CubeMX串口USART中断发送接收数据
我使用的板子是 STM32F103 OUT 端口接在了 PB1。
test.c :
#include test.hstatic volatile uint8_t level 1; /* 没有检测到返回高电平 1 */
uint8_t count 0; /* 碰见物体次数 */void Test_Reint(void) /* 引脚配置使能 */
{GPIO_InitTypeDef GPIO_InitStruct {0}; /* 创建具体变量 */__HAL_RCC_GPIOB_CLK_ENABLE(); /* 使能 *//* 配置引脚 */GPIO_InitStruct.Pin GPIO_PIN_1;GPIO_InitStruct.Mode GPIO_MODE_IT_RISING_FALLING; /* 双边沿触发中断 */GPIO_InitStruct.Pull GPIO_PULLUP;HAL_GPIO_Init(GPIOB, GPIO_InitStruct); /* 完成初始化配置引脚 */HAL_NVIC_SetPriority(EXTI1_IRQn, 0, 2); /* 设置优先级 */HAL_NVIC_EnableIRQ(EXTI1_IRQn); /* 使能中断 */
}/* 外部中断服务函数 */
void EXTI1_IRQHandler(void)
{HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1);
}/* 中断回调函数 */
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{if(GPIO_Pin GPIO_PIN_1){level HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_1); /* 读电平 */if(level 0) /* 有物体 0 */{level HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_1); /* 读电平 */count; }}
} int GetTime(void)
{return count; /* 向 main.c 传递time 的值 */
}main.c : uint8_t date 0; /* 物体次数 */date GetTime();printf(number %d\r\n,date);三、实验现象
当 E18-D80NK 检测到有障碍物时led 点亮同时对检测到障碍物的次数进行计算。
