简介
本产品为风火轮机器人,以椴木板为原材料,由激光切割而成。结构上充分利用鲁班的智慧,实现少用螺丝,为用户简化装配过程。
具备敏捷的轮式机动性,运动机制独特新颖,呈现的运动形态也诙谐、有趣、逗比。并且生产的材料环保清洁。配合可扩展的多个电子模块,可实现多种有趣的教育案例。用户通过自行组装来复活风火轮机器人的过程中,对机器人移动平台有更深入认识和学习,本产品可通过DFRobot出品的GO BLE软件实现控制。
注意:风火轮V2.0使用升级版Romeo BLE Mini V2.0作为主控,操作更加方便,代码兼容性更广。
技术规格
- Romeo BLE mini V2.0主控板
- 传输距离:空旷地带30m以�
- 支持蓝牙远程更新Arduino程序
- 微处理器:ATmega328P
- 引导装载程序:Arduino UNO
- PWM通道:4 (D3 D9 D10 D11)
- 模拟管脚:4
- 输出电流:1.2A 单通道连续驱动电流
- 启动/峰值电流:2A(连续脉冲)/ 3.2A(单脉冲)
- 电机驱动管脚:D4 D5 D6 D7
- 产品尺寸:120*120*85mm
- 工作电压:6 - 10V
- 工作温度:0 - 60°C
- 驱动方式:两轮差速驱动
- 电机空载转速:230±10% rpm
- 小车行驶速度:1m/s
使用教程
准备
- 硬件
- Romeo mini控制板V2.0 x1
- 电机 x2
- 4节7号电池盒 x1
- 7号电池 x4
- 小车车架木板套件
- 硅胶圈 X1
- 螺丝若干
- 十字小螺丝刀 x1
- 软件
- Arduino IDE 1.0.6 点击下载Arduino IDE
组装小车
参照安装说明。风火轮说明书下载
注意事项:
1.在安装说明中没有说明电机电源线走线路径,建议如下图方式走线,便于电机线的约束和小车的整洁。
image:ROB0139_1.png image:ROB0139_2.png
2.安装完车架后,按下图连接电机线和电源线。
程序代码
我们会在控制器中预装初始代码,也会提供代码下载,方便大家学习研究,代码如下:
关于如何安装Arduino库? 请点击Arduino library 安装教程
/* -----蓝牙风火轮小车控制程序v2.0
*/
#include "GoBLE.h"
//GoBLE Goble(Serial);
int joystickX, joystickY;
int buttonState[7];
unsigned int led_count;
#define LED 13
//Motor Driver Pin
int E1 = 5; //M1 Speed Control
int E2 = 6; //M2 Speed Control
int M1 = 4; //M1 Direction Control
int M2 = 7; //M1 Direction Control
void stop(void) //Stop
{
digitalWrite(E1,LOW);
digitalWrite(E2,LOW);
}
void advance(char a,char b) //Move forward
{
analogWrite (E1,a); //PWM Speed Control
digitalWrite(M1,LOW);
analogWrite (E2,b);
digitalWrite(M2,LOW);
}
void back_off (char a,char b) //Move backward
{
analogWrite (E1,a);
digitalWrite(M1,HIGH);
analogWrite (E2,b);
digitalWrite(M2,HIGH);
}
void turn_L (char a,char b) //Turn Left
{
analogWrite (E1,a);
digitalWrite(M1,HIGH);
analogWrite (E2,b);
digitalWrite(M2,LOW);
}
void turn_R (char a,char b) //Turn Right
{
analogWrite (E1,a);
digitalWrite(M1,LOW);
analogWrite (E2,b);
digitalWrite(M2,HIGH);
}
void setup() {
Goble.begin();
Serial.begin(115200);
int i;
for(i=4;i<=7;i++)
pinMode(i, OUTPUT);
stop();
pinMode(LED,OUTPUT);
}
void loop() {
if (Goble.available())
{
readGoBle();
motorContrl();
}
delayLedBlink();//delay 10ms and led blink
}
//读取GoBle所有按键摇杆值
void readGoBle()
{
// read joystick value when there's valid command from bluetooth
joystickX = Goble.readJoystickX();
joystickY = Goble.readJoystickY();
// read button state when there's valid command from bluetooth
buttonState[SWITCH_UP] = Goble.readSwitchUp();
buttonState[SWITCH_DOWN] = Goble.readSwitchDown();
buttonState[SWITCH_LEFT] = Goble.readSwitchLeft();
buttonState[SWITCH_RIGHT] = Goble.readSwitchRight();
buttonState[SWITCH_SELECT] = Goble.readSwitchSelect();
buttonState[SWITCH_START] = Goble.readSwitchStart();
/*Serial.println("========================");
Serial.print("Joystick Value: ");
Serial.print(joystickX);
Serial.print(" ");
Serial.println(joystickY);
for (int i = 1; i <= 6; i++) {
if (buttonState[i] == PRESSED) {
Serial.print(" ID: ");
Serial.print(i);
Serial.print("\t ");
Serial.println("Pressed!");
}
if (buttonState[i] == RELEASED){
Serial.print("ID: ");
Serial.print(i);
Serial.print("\t ");
Serial.println("Released!");
}
}*/
}
//根据GoBle按键值进行小车运动控制
//摇杆左右为转大弯,按键左右为原地转弯
void motorContrl()
{
if ((buttonState[SWITCH_UP] == PRESSED)||((joystickX>128)&&(joystickY>=64)&&(joystickY<=192)))
{
advance (200,200); //move forward in max speed
return;//结束子函数
}
if ((buttonState[SWITCH_DOWN] == PRESSED)||((joystickX<128)&&(joystickY>=64)&&(joystickY<=192)))
{
back_off (200,200); //move back in max speed
return;//结束子函数
}
if(buttonState[SWITCH_LEFT] == PRESSED)
{
turn_L (100,100);
return;//结束子函数
}
if((joystickY<128 )&&(joystickX>=64 )&&( joystickX<=192) )
{
advance (100,200); //左转大弯
return;//结束子函数
}
if( buttonState[SWITCH_RIGHT] == PRESSED)
{
turn_R (100,100);
return;//结束子函数
}
if((joystickY>128)&&(joystickX>=64)&&(joystickX<=192))
{
advance (200,100); //move forward in max speed
return;//结束子函数
}
stop();//没有按键按下则停止
}
//led blink函数,每次执行延时10ms,100次时执行一次电平反向
void delayLedBlink()
{
delay(10);
led_count++;
if(led_count>100)
{
digitalWrite(LED,!digitalRead(LED));
led_count=0;
}
}
安装手机控制APP
扫描说明书或如下二维码下载安装GO BLE(暂只支持ios系统)
安装GO BLE后,打开手机蓝牙,打开手机app GO BLE,按上小车电池,靠近小车点击手机上对应的小车蓝牙名称即可链接。如下操作控制小车。
常见问题
如果安装完成后,操控小车前进或后退,小车一直打转,说明电机接线接反,对调更换即可。
此产品有任何问题,欢迎通过qq或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。