简介
Devastator Tank Mobile Platform 履带机器人是DFRobot 研制的机器人实验平台,该平台不但可以使用当前流行的Arduino控制器,也可以使用Raspberry pi等其他控制器控制。
机身采用高强度铝合金材料,高速电机加优质塑料履带,运动灵活快速,性能卓越的悬挂系统能让机器人轻松的翻越障碍物,适应大部分不规则场地。
履带机器人平台机身设计多种安装孔,兼容各种传感器、舵机、云台和主控板控制器安装(例如Romeo控制器、Raspberry Pi控制器),非常适合机器人比赛以及其相关研究项目。
参考的电源连接方式
电池盒供电方案
image:ROB0128 ConnectA.png|
本供电方式的优点是电路连接方式较为简单。但考虑到经济性,推荐使用可充电的AA电池。
可充电锂电池供电方案
image:ROB0128 ConnectB.png|
本供电方式在搭建电路上相较于电池盒供电方案较为复杂。优点是一劳永逸,搭建后,锂电池可不用拆卸,履带车平台接上适配器后即可充电。
马达接线的调试
因为左右侧马达是反向安装的,所以当两个马达朝着同一方向转动时(如均顺时针转动),履带车必然是执行转弯的动作。这里可以通过两种方法纠正这个问题。
调整电机正负极与电机接线柱接线位置
image:ROB0112 Bluno connection.jpg|
修改程序中电机方向的参数
DFRobot专门为Romeo系列的控制板编写了控制电机的库“DFMobile”。只需要在程序中调用并修改相关语句即可。
函数:DFMobile Robot (4,5,7,6)
作用:用于初始化控制小车两侧直流电机的引脚。
说明:DFMobile Robot(EnLeftPin,LeftPWMSpeedPin,EnRightPin,RightPWMSpeedPin);
在Romeo系列的控制板上,默认数字引脚D4.D5.D6.D7用于控制左右电机的速度与方向。
image:Romeo_BLE.png|Romeo BLE电路原理图
函数:Robot.Direction(bool left, bool right)); //注,Robot为定义的对象名,用户可自行在程序开头声明
作用:用于改变两侧马达的控制方向
说明:只需要简单的修改"left","right"两个布尔变量的值,就可以方便地改变马达的转向。
例:如DFMobilr.Direction(LOW,HIGH);可以用来修正马达相对反装而造成的编程逻辑上的麻烦。并且用户如果不小心将马达的接线接错,也可以用这个 函数进行快速的改正这个错误。
实现蓝牙控制(以GoBLE App为例)
GoBLE简介
GoBle是一款通用的蓝牙遥控器! 让你可以与机器人、移动平台或无人机等任何你想要控制的设备进行通信。 遥控器具有一个模拟量的摇杆,六个数字按键,采用传统游戏手柄布局,符合DFRobot标准通讯协议,让用户能快速上手完成理想的作品。
苹果手机:appStore搜索"goble",下载app。
安卓手机:热心网友开发app:社区网友开发
image:GoBLE.png|
GoBle库文件中的函数说明
判断是否接受蓝牙数据
代码: Goble.available() 作用:当接收到蓝牙发过来的数值时它的值为TURE,否则返回False. 说明:用于判断是否接收到“走你”App发来的蓝牙数据。下面是用法:
if(Goble.available()){ do.something; }
定义变量
代码: int joystickX,joystickY,buttonState[6];
说明:这三个变量是针对GoBLE库定义的。分别用来存储摇杆X轴,Y轴以及6个按键的状态值的。
读取参数
代码: joystickX = Goble.readJoystickX(); joystickX = Goble.readJoystickX();
说明:读取摇杆参数。
处理读取的摇杆参数
代码: int SpeedX=2*joystickX-256; int SpeedY=2*joystickY-256;
说明:需要将手柄读到的数据映射到我们小车的轮子转速上,所以就有了下面这两句。将读到的原始数据0~255映射为小车速度-255~255。
建立摇杆和小车运动的联系
程序代码 |
效果 |
if (SpeedX>200 |
SpeedX<-200){
|