网站设计 用户心理研究,wordpress 密码破解,网页免费视频教程,做网站哪家便宜厦门目录 1. 循迹模块介绍
2. 循迹小车原理
3. 循迹小车核心代码
4. 循迹小车解决转弯平滑问题 1. 循迹模块介绍
TCRT5000传感器的红外发射二极管不断发射红外线当发射出的红外线没有被反射回来或被反射回来但强度不够大时红外接收管一直处于关断状态#xff0c;此时模块的输出…目录 1. 循迹模块介绍
2. 循迹小车原理
3. 循迹小车核心代码
4. 循迹小车解决转弯平滑问题 1. 循迹模块介绍
TCRT5000传感器的红外发射二极管不断发射红外线当发射出的红外线没有被反射回来或被反射回来但强度不够大时红外接收管一直处于关断状态此时模块的输出端为高电平指示二极管一直处于熄灭状态被检测物体出现在检测范围内时红外线被反射回来且强度足够大红外接收管饱和此时模块的输出端为低电平指示二极管被点亮总结就是一句话没反射回来D0输出高电平灭灯 接线方式
VCC:接电源正极3-5VGND:接电源负极 DO:TTL开关信号输出0、1AO:模拟信号输出(不同距离输出不同的电压此脚一般可以不接
2. 循迹小车原理
由于黑色具有较强的吸收能力当循迹模块发射的红外线照射到黑线时红外线将会被黑线吸收导致 循迹模块上光敏三极管处于关闭状态此时模块上一个LED熄灭。在没有检测到黑线时模块上两个LED常亮
总结就是一句话有感应到黑线D0输出高电平 灭灯 3. 循迹小车核心代码
硬件接线
B-1A -- PA0B-1B -- PB1A-1A -- PA1A-1B -- PB10循迹模块左-- PB3循迹模块右 -- PB4
代码示例
#define LeftWheel_Value HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_3)
#define RightWheel_Value HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_4)// main函数里
while (1)
{if (LeftWheel_Value GPIO_PIN_RESET RightWheel_Value GPIO_PIN_RESET)goForward();if (LeftWheel_Value GPIO_PIN_SET RightWheel_Value GPIO_PIN_RESET)goLeft();if (LeftWheel_Value GPIO_PIN_RESET RightWheel_Value GPIO_PIN_SET)goRight();if (LeftWheel_Value GPIO_PIN_SET RightWheel_Value GPIO_PIN_SET)stop();
}
4. 循迹小车解决转弯平滑问题
原理
两轮都有速度且一轮速度大于另一轮
代码实现
#define LeftWheel_Value HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_3)
#define RightWheel_Value HAL_GPIO_ReadPin(GPIOB, GPIO_PIN_4)
// main函数里
while (1)
{if(LeftWheel_Value GPIO_PIN_RESET RightWheel_Value GPIO_PIN_RESET){__HAL_TIM_SetCompare(htim2, TIM_CHANNEL_1,19);__HAL_TIM_SetCompare(htim2, TIM_CHANNEL_2,19);}if(LeftWheel_Value GPIO_PIN_SET RightWheel_Value GPIO_PIN_RESET){__HAL_TIM_SetCompare(htim2, TIM_CHANNEL_1,15);__HAL_TIM_SetCompare(htim2, TIM_CHANNEL_2,8);}if(LeftWheel_Value GPIO_PIN_RESET RightWheel_Value GPIO_PIN_SET){__HAL_TIM_SetCompare(htim2, TIM_CHANNEL_1,8);__HAL_TIM_SetCompare(htim2, TIM_CHANNEL_2,15);}if(LeftWheel_Value GPIO_PIN_SET RightWheel_Value GPIO_PIN_SET){__HAL_TIM_SetCompare(htim2, TIM_CHANNEL_1,0);__HAL_TIM_SetCompare(htim2, TIM_CHANNEL_2,0);}
}