图9.2 控制电路
软件部分杰尼龟小车的程序流程如图9.3所示,本程序通过手机利用蓝牙来连接小车上的Romeo mini控制板,从而完成控制小车前进、后退等功能。通过该流程图,不难看出该程序很容易实现,通过对按键的检测来决定电机的输出形式,成为该程序的核心思路。Arduino平台有着简单易懂、经济实惠等好处,其丰富的开源库以及简单易学的函数接口,使得该平台完全胜任这套设计。
图9.3 程序流程图
杰尼龟遥控程序#include //手机蓝牙控制库
#include
//Romeo mini库,需要用到电机驱动函数
int joystickX, joystickY;
//定义摇杆参数
void setup()
{ //初始化
Romeo_m.Initialise();
Goble.begin();
Serial.begin(115200);
}
void loop()
{
if(Goble.available())
{ //蓝牙控制使能
joystickX = Goble.readJoy
stickX(); //传递X偏移数据
joystickY = Goble.readJoy
stickY(); //传递Y偏移数据
int SpeedX=joystickX;
int SpeedY=joystickY;
if (SpeedX>200 && 100
{ //判断坐标轴位置
Romeo_m.motorControl(Forward, 200,Forward,200); //前进
}
else if (100
{Romeo_m.motorControl(Forward, 100,Reverse,100); //后退}
else if (100200)
{Romeo_m.motorControl(Reverse, 100,Forward,100);//左转}
else if (SpeedX<50 && 100
{Romeo_m.motorControl(Reverse, 200,Reverse,200);//右转}
else {Romeo_m.motorStop();//停止
}
}
}
手机AppDFRobot推出的通用蓝牙遥控器App(见图9.4)让你可以与机器人、移动平台或无人机等任何你想要控制的设备进行通信。该遥控器具有一个模拟量的摇杆、
图9.4 通用蓝牙遥控器App
6个数字按键,采用传统游戏手柄布局,让所有人都可以更快上手。遥控器符合DFRobot标准通信协议,并可设置数据发送模式。本应用目前只涉及遥控器左边的摇杆部分,后边的控制部分会在日后的升降中涉及。