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

2019-9-5 17:56 [复制链接] 1 231

一、首先需要在GitHub克隆下来潘多拉DIY战车驱动框架,地址是:https://github.com/yqiu2018/pandora_robot.git
2 z  i" o5 [+ U0 v* U二、使用ENV工具配置  rt-robot代码包配置方式:
8 Z) l' a  I+ ^& c    RT-Thread online packages0 @: {/ }/ h/ V2 u# k
    system packages  --->         [*] RT-Robot: RT-Thread robots development platform  --->            Version (latest) --->三、准备硬件1、潘多拉板子2、L298电机驱动模块3、小车底版4、ps2手柄四、ps2手柄介绍ps2手柄由手柄与接收器两部分组成,手柄主要负责发送按键信息:接收器与单片机(也可叫作主机,可直接用在PS2游戏机上)相连,用于接收手柄发来的信息,并传递给单片机,单片机也可通过接收器,向手柄发送命令,配置手柄的发送模式。接收器引脚输出:
1 2 3 4 5 6 78 9
DI/DAT DO/CMD NC GND VDD CS/SEL CLK NC ACK
接收器图片(注意端口顺序):
( w3 c" _% c$ H$ w
! V+ x3 i2 u" |8 G& G  C
3 Q) j" \# R) ~
9 z( q- N% d* }* a, R0 I
, J4 @; d, s/ \  |1 S! K! B DI/DAT:信号流向,从手柄到主机,此信号是一个8bit的串行数据,同步传送于时钟
+ A- P$ `3 k% y7 Y" ]. y3 A的下降沿。信号的读取在时钟由高到低的变化过程中完成。9 u6 y- y3 H5 |* q. \0 O6 B0 Q
DO/CMD:信号流向,从主机到手柄,此信号和DI相对,信号是一个8bit的串行数据,+ U1 g* S% M4 E! U' I
同步传送于时钟的下降沿。( Z5 |1 S, ~' B2 x1 r
NC:空端口;
% X9 x# N) }' T$ T& C5 Y  sGND:电源地;8 {0 B1 j  b( C! e
VDD:接收器工作电源,电源范围3-5V;  ?, H9 f7 ^3 ^! A4 R) q- D1 o
CS/SEL:用于提供手柄触发信号。在通讯期间,处于低电平;; o* m9 M8 j& z# |$ d. k9 L  d) ]
CLK:时钟信号,由主机发出,用于保持数据同步:
' {5 g4 e( j0 FNC:空端口;+ F) H5 T# a" v6 H8 Y9 J4 t3 f
ACK:从手柄到主机的应答信号。此信号在每个8bits数据发送的最后一个周期变低并# K  S- |! G  Y# @; \' m2 ?
且CS一直保持低电平,如果CS信号不变低,约60微秒PS主机会试另一个外设。在编程
- e3 V5 K- A2 Q" v时未使用ACK端口。* V( H( l8 y1 _

( M$ C4 C* K* }' I4 J' n五、程序引脚定义修改7 G- N; G# P8 ^0 J3 I: i' u
+ O, N) y: C( s; {1 m, A& E" y! P- z
根据自己具体情况,将ps2的引脚与潘多拉板子链接,并在程序中修改定义引脚,一般用的是SPI2的引脚PB12,PB13,PB14,PB15.在car.c文件中 ps2_init(28, 29, 4, 36)修改数字;数字和STM32引脚对应关系去drv_gpio.c去看,数字和控制器引脚对应关系追踪到ps2.c中,ps2_init函数去看。然后电机驱动引脚定义在car.c文件
$ x+ @: k2 q; k% d. S. ~  h// MOTOR4 d9 z, N2 y! @& D# z
#define LEFT_FORWARD_PWM            "pwm4"3 [$ F  ?3 @/ `1 x# m6 @) n
#define LEFT_FORWARD_PWM_CHANNEL    3# q. f; m2 X: {# y( \7 W% c
#define LEFT_BACKWARD_PWM           "pwm4"
+ ~6 [$ B9 i. G7 T! i/ H% a8 w#define LEFT_BACKWARD_PWM_CHANNEL   42 H9 H' P7 s: o+ B9 `

8 X8 I& h3 h. B#define RIGHT_FORWARD_PWM           "pwm2"
( u7 d) s) I  n! T#define RIGHT_FORWARD_PWM_CHANNEL   3
2 p5 {5 l, v6 k; C, k! s#define RIGHT_BACKWARD_PWM          "pwm2"/ O) o2 B8 x& _) k5 {  g. _
#define RIGHT_BACKWARD_PWM_CHANNEL  4$ E  N1 |+ ^3 }: z: L4 {" I2 I
1 |; Z0 W7 k" i
去修改。这样你的小车就能用ps2操控起来了。" q$ o# X7 E: N0 b9 F0 q
& l5 p8 m3 s0 J- L$ I

8 _; [9 S# H! d# p% ]/ ~3 ?

电机驱动模块

电机驱动模块

小车底版

小车底版

ps2

ps2

接收器图片

接收器图片
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-9-6 13:44:38 | 显示全部楼层
有没有运行起来的照片或者视频,无图无真相
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表