循迹/跟随/摇头避障小车

循迹小车

智能小车2-循迹小车-CSDN博客

接线

B-1A -- PB0 B-1B -- PB1
A-1A -- PB2
A-1B -- PB10
循迹模块(左) -- PB3
循迹模块(右) -- PB4

 CubeMx

 在CubeMx配置,并重定义,在main.h会自动生成

#define B_1A_Pin GPIO_PIN_0
#define B_1A_GPIO_Port GPIOB
#define B_1B_Pin GPIO_PIN_1
#define B_1B_GPIO_Port GPIOB
#define A_1A_Pin GPIO_PIN_2
#define A_1A_GPIO_Port GPIOB
#define A_1B_Pin GPIO_PIN_10
#define A_1B_GPIO_Port GPIOB
#define Left_Sensor_Pin GPIO_PIN_3
#define Left_Sensor_GPIO_Port GPIOB
#define Right_Sensor_Pin GPIO_PIN_4
#define Right_Sensor_GPIO_Port GPIOB
/* USER CODE BEGIN Private defines */

#define Left_Sensor HAL_GPIO_ReadPin(Left_Sensor_GPIO_Port,Left_Sensor_Pin)

#define Right_Sensor HAL_GPIO_ReadPin(Right_Sensor_GPIO_Port,Right_Sensor_Pin)

 keil

route_sensor.c:

  • 如果要使用PWM调速就必须全部是PWM调速,因为一旦使用PWM调速之后又使用其他motor.c中的前后左右,就会重置PB1和PB10的值,而如果要使用调速,PB1和PB10就必须一直为HIGH,使用PWM调速的优点是转弯平滑,缺点是电机很容易因为PWM波的有效电平持续时间过低而转不动。
  • 如果不想用PWM调速,不仅不能调用PWM调速的函数,在main中也记得将PWM使能关闭,在Cube中要把PA1和PA2改回GPIO,不使用PWM调速的优点是电机动力充足,缺点是转弯不太平滑。
#include "route_sensor.h"
#include "main.h"
#include "motor.h"


void route_sensor_1(void)
{
	//			下方小车两个模块都能反射回来红外,输出低电平,灯亮,直走
//			上方小车左模块遇到黑线,红外被吸收&#
  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值