使用潘多拉板子将DIY战车运行起来

发布于 2019-09-05 17:56:23
一、首先需要在GitHub克隆下来潘多拉DIY战车驱动框架,地址是:
二、使用ENV工具配置 rt-robot代码包配置方式:
RT-Thread online packages
system packages ---> (*) RT-Robot: RT-Thread robots development platform ---> Version (latest) --->三、准备硬件1、潘多拉板子2、L298电机驱动模块3、小车底版4、ps2手柄四、ps2手柄介绍ps2手柄由手柄与接收器两部分组成,手柄主要负责发送按键信息:接收器与单片机(也可叫作主机,可直接用在PS2游戏机上)相连,用于接收手柄发来的信息,并传递给单片机,单片机也可通过接收器,向手柄发送命令,配置手柄的发送模式。接收器引脚输出:[table=50%]
[tr][td] 1[/td][td] 2[/td][td] 3[/td][td] 4[/td][td] 5[/td][td] 6[/td][td] 7[/td][td]8 [/td][td] 9[/td][/tr]
[tr][td] DI/DAT[/td][td] DO/CMD[/td][td] NC[/td][td] GND[/td][td] VDD[/td][td] CS/SEL[/td][td] CLK[/td][td] NC[/td][td] ACK[/td][/tr]
[/table]接收器图片(注意端口顺序):




DI/DAT:信号流向,从手柄到主机,此信号是一个8bit的串行数据,同步传送于时钟
的下降沿。信号的读取在时钟由高到低的变化过程中完成。
DO/CMD:信号流向,从主机到手柄,此信号和DI相对,信号是一个8bit的串行数据,
同步传送于时钟的下降沿。
NC:空端口;
GND:电源地;
VDD:接收器工作电源,电源范围3-5V;
CS/SEL:用于提供手柄触发信号。在通讯期间,处于低电平;
CLK:时钟信号,由主机发出,用于保持数据同步:
NC:空端口;
ACK:从手柄到主机的应答信号。此信号在每个8bits数据发送的最后一个周期变低并
且CS一直保持低电平,如果CS信号不变低,约60微秒PS主机会试另一个外设。在编程
时未使用ACK端口。

五、程序引脚定义修改

根据自己具体情况,将ps2的引脚与潘多拉板子链接,并在程序中修改定义引脚,一般用的是SPI2的引脚PB12,PB13,PB14,PB15.在car.c文件中 ps2_init(28, 29, 4, 36)修改数字;数字和STM32引脚对应关系去drv_gpio.c去看,数字和控制器引脚对应关系追踪到ps2.c中,ps2_init函数去看。然后电机驱动引脚定义在car.c文件
// MOTOR
#define LEFT_FORWARD_PWM "pwm4"
#define LEFT_FORWARD_PWM_CHANNEL 3
#define LEFT_BACKWARD_PWM "pwm4"
#define LEFT_BACKWARD_PWM_CHANNEL 4

#define RIGHT_FORWARD_PWM "pwm2"
#define RIGHT_FORWARD_PWM_CHANNEL 3
#define RIGHT_BACKWARD_PWM "pwm2"
#define RIGHT_BACKWARD_PWM_CHANNEL 4

去修改。这样你的小车就能用ps2操控起来了。



360桌面截图20190904082714.jpg
360桌面截图20190904083019.jpg
360桌面截图20190904083255.jpg
360桌面截图20190904084856.jpg

查看更多

关注者
0
被浏览
680
1 个回答
flyboy
flyboy 2019-09-06
有没有运行起来的照片或者视频,无图无真相{:2_26:}

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友