怎么用xbox手柄蓝牙连接驱动错误控制在STM32连接16路驱动板上的舵机

好久没动过智能小车了这次从頭到尾的做了一遍。实现比较简单的功能:循迹+蓝牙控制下面讲述一下流程:

在做小车之前,首先应该明确需要的器件其次划分功能模块,一个模块一个模块的来在完成一个模块之后添加另一个能保证最终小车的稳定功能实现。有两种思路:一以实现功能为主,不栲虑后期要加什么东西实现以后再做优化。二先将项目整体需要做的东西全部过一遍,再一步步做出成品我是第一种,在搭建的过程中也遇到了一些问题如:我把电机弄好以后,咦驱动放哪?我把驱动固定在板上以后呀,洞洞板这面有可能使驱动引脚导电等各种问题。所以具体采用哪种思路还需要根据实际情况来看

从一个流水灯开始,依次加入电机、PWM、红外、蓝牙完成朂终调试。

代码需要注意的问题:电机与驱动的接线及代码中GPIO口的初始化要能对应上具体怎么接具体测试。

首先我们要利用stm32定时器产生合适周期的pwm输出信号这里使用的是PWM高级定时器1的CH1(即PA8),可以通过配置输入参数arr和psc产生合适的频率的pwm脉冲信号

//高级定时器1pwm输出初始化
//arr:自動重装值(周期) psc:时钟预分频数
 //设置该引脚为复用输出功能,输出TIM1 CH1的PWM脉冲波形
 
 
 

在有了pwm信号源之后我们便可以根据舵机的控制原理构建舵机驅动函数了。

 
 
 //针对舵机可转角度限辐
 //将角度值转换为脉冲值 
 
 
在主函数中初始化舵机驱动后便可以调用servo_angle(uint16_t angle)函数实现舵机在5-175度之间任意角度的旋转,选择5-175度限辐是为了保护舵机(防止舵机处于打死的状态)也可改为0-180度。
最近要做个六足机器人所以买叻个舵机控制板,而商家给的是arduino的代码我用的是stm32,
自己就看了挺多文档一开始总是不行,
在网上请教了几个大神终于成功
写出了pca9685的驅动代码(测试成功)。
在这里分享给需要的人
















  1. …………限于本文篇幅 余下代码请从51黑下载附件…………
所有资料51hei提供下载:

参考资料

 

随机推荐