_SKU__ROB0139__风火轮 - jimaobian/DFRobotWikiCn GitHub Wiki
本产品为风火轮机器人,以椴木板为原材料,由激光切割而成。结构上充分利用鲁班的智慧,实现少用螺丝,为用户简化装配过程。 具备敏捷的轮式机动性,运动机制独特新颖,呈现的运动形态也诙谐、有趣、逗比。并且生产的材料环保清洁。配合可扩展的多个电子模块,可实现多种有趣的教育案例。用户通过自行组装来复活风火轮机器人的过程中,对机器人移动平台有更深入认识和学习,本产品可通过DFRobot出品的GO BLE软件实现控制。
- 产品尺寸:120*120*85mm
- 工作电压:6 - 10V
- 工作电流:0 - 3A
- 工作温度:0 - 60°C
- Romeo BLE mini主控板
- 传输距离:空旷地带30m以�
- 支持蓝牙远程更新Arduino程序
- 微处理器:ATmega328P
- 引导装载程序:Arduino UNO
- 2路1.5A电流的H桥电机驱动接口
- 驱动方式:两轮差速驱动
- 电机空载转速:230±10% rpm
- 小车行驶速度:1m/s
-
硬件
- Romeo mini控制板V1.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 安装教程
<br>
注意:由于Arduino官方对IDE中的某些库文件做了升级,故在新版本的IDE下编译使用会出现Y轴数据不正常的情况。请使用1.0.X 经典的版本,如
Arduino`` ``IDE`` ``1.0.6
。
<br>
|
/* -----蓝牙风火轮小车控制程序 V1.0
//------2016.6.29 by LL
//------适用于Romeo BLE mini 控制器
//http://www.dfrobot.com.cn/goods-1182.html
*/
#include "GoBLE.h"
#include <Romeo_m.h>
#define LED 13
//GoBLE Goble(Serial);
int joystickX, joystickY;
int buttonState[7];
unsigned int led_count;
void setup() {
Romeo_m.Initialise();
Goble.begin();
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)))
{
Romeo_m.motorControl(Forward,200,Forward,200);//前进
return;//结束子函数
}
if ((buttonState[SWITCH_DOWN] == PRESSED)||((joystickX<128)&&(joystickY>=64)&&(joystickY<=192)))
{
Romeo_m.motorControl(Reverse,150,Reverse,150);//后退
return;//结束子函数
}
if(buttonState[SWITCH_LEFT] == PRESSED)
{
Romeo_m.motorControl(Reverse,100,Forward,100);//左转
return;//结束子函数
}
if((joystickY<128 )&&(joystickX>=64 )&&( joystickX<=192) )
{
Romeo_m.motorControl_M1(Forward,80);//左转大弯
Romeo_m.motorControl_M2(Forward,200);
return;//结束子函数
}
if( buttonState[SWITCH_RIGHT] == PRESSED)
{
Romeo_m.motorControl(Forward,100,Reverse,100);//右转
return;//结束子函数
}
if((joystickY>128)&&(joystickX>=64)&&(joystickX<=192))
{
Romeo_m.motorControl_M2(Forward,80); //右转大弯
Romeo_m.motorControl_M1(Forward,200);
return;//结束子函数
}
Romeo_m.motorStop();//没有按键按下则停止
}
//led blink函数,每次执行延时10ms,100次时执行一次电平反向
void delayLedBlink()
{
delay(10);
led_count++;
if(led_count>100)
{
digitalWrite(LED,!digitalRead(LED));
led_count=0;
}
}
|}
扫描说明书或如下二维码下载安装GO BLE(暂只支持ios系统)
安装GO BLE后,打开手机蓝牙,打开手机app GO BLE,按上小车电池,靠近小车点击手机上对应的小车蓝牙名称即可链接。如下操作控制小车。
如果安装完成后,操控小车前进或后退,小车一直打转,说明电机接线接反,对调更换即可。
此产品有任何问题,欢迎通过qq或者论坛联系我们!
| 更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。 |