概 述
Romeo BLE mini机器人控制器是Romeo BLE的迷你版,板载一颗ATmega328p控制器与Arduino UNO完全相同,集成了两路1.2A电机驱动(峰值输出3.2A),可以驱动N20金属减速电机以及普通的130电机,适合桌面微型机器人设计。此外Romeo BLE mini具备8路数字接口及4路模拟接口,均为Gravity-3Pin标准接口,可以外接各类Gravity传感器模组。接口都通过舵机电源口独立供电,为舵机等大电流设备提供稳定的电源供应,能够满足机器人电机、舵机两种控制方案。
Romeo BLE Mini集成一颗CC2540 蓝牙4.0通信芯片,支持通过蓝牙下载代码,并与机器人建立通信。也可以通过手机APP对机器人进行遥控。
产品特征
- 支持Gravity传感器接口,彩色标识,方便直插舵机和Gravity系列传感器模块。
- 支持外接电源自动切换,可同时接USB和外接电源
- 支持无线下载程序/无线通信功能
- 支持手机APP控制,源码全部开源
- 2路H桥电机驱动
- 支持舵机外接电源输入
- 支持AT指令配置BLE
- 支持串口透传
- 支持主从机切换
性能描述
- BLE芯片:TI CC2540
- 传输距离:空旷地带30m
- 微处理器:ATmega328P
- 板卡选型:Arduino UNO
- 闪存:32 KB (ATmega328P) 其中 0.5 KB 用于储存 bootloader
- SRAM:2 KB (ATmega328P)
- EEPROM:1 KB (ATmega328P)
- 时钟频率:16 MHz
- 数字IO口数:8
- PWM通道:4 (D3, D9, D10, D11)
- 模拟IO口数:4
- 电机驱动输出:1.2A 单通道连续驱动电流
- 启动/峰值电流:2A(连续脉冲)/ 3.2A(单脉冲)
- 电机驱动管脚:D4, D5, D6, D7
- microUSB接口
- 具有I2C接口
- 2路3.2A电流的H桥电机驱动接口
- 尺寸:47.1x38.5mm
控制器丝印说明
丝印 |
说明 |
+VIN— |
电机驱动外接电源和控制器外接电源 6.5~10V 必须连接该端口,M1/M2电机才工作 |
+Servo— |
数字口电源输入5~12V 如在数字输出口使用大电流外设(如舵机)必须连接该接口,否则可能烧毁Micro USB接口 |
M1/M2端口 |
2路电机控制端; M1:PIN4(方向控制),PIN5(PWM控制) M2:PIN7(方向控制),PIN6(PWM控制) |
I2C |
I2C接口:SDA SCL GND 5V |
A-5V-GND |
标准模拟接口; A(蓝色):模拟口0,1,2,3; 5V(红色):电源正极; GND(黑色):电源负极; |
D-VCC-GND |
标准数字接口; D(绿色):数字口2,3,8,9,10,11,12,13; VCC(红色):电源正极(当Servo端口未接电源时,VCC为5V;当Servo端口接上电源时VCC为Servo端的输入电源); GND(黑色):电源负极 |
LED指示灯 |
PWR 电源指示灯; TX:发送数据指示灯; RX:接收数据指示灯; L:D13信号指示灯; LINK:蓝牙连接指示灯; PAIR:蓝牙配对指示灯; |
RESET |
控制器复位按键 |
BOOT |
蓝牙固件更新按键 |
Romeo BLE mini应用示例
小伙伴们可以参考这个简单的应用做你的机器人,先介绍下这个应用吧:用到的是Romeo BLE mini控制器一个,电机2个(不建议使用10V以上电机),电池一个。下面是实物连接图。
此程序通过串口接收命令来控制小车。
开发板选择Arduino UNO,端口选择对应COM口
//Standard PWM DC control
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,HIGH);
analogWrite (E2,b);
digitalWrite(M2,HIGH);
}
void back_off (char a,char b) //Move backward
{
analogWrite (E1,a);
digitalWrite(M1,LOW);
analogWrite (E2,b);
digitalWrite(M2,LOW);
}
void turn_L (char a,char b) //Turn Left
{
analogWrite (E1,a);
digitalWrite(M1,LOW);
analogWrite (E2,b);
digitalWrite(M2,HIGH);
}
void turn_R (char a,char b) //Turn Right
{
analogWrite (E1,a);
digitalWrite(M1,HIGH);
analogWrite (E2,b);
digitalWrite(M2,LOW);
}
void setup(void)
{
int i;
for(i=4;i<=7;i++)
pinMode(i, OUTPUT);
Serial.begin(9600); //Set Baud Rate
Serial.println("Run keyboard control");
}
void loop(void)
{
if(Serial.available()){
char val = Serial.read();
if(val != -1)
{
switch(val)
{
case 'w'://Move Forward
advance (255,255); //move forward in max speed
break;
case 's'://Move Backward
back_off (255,255); //move back in max speed
break;
case 'a'://Turn Left
turn_L (100,100);
break;
case 'd'://Turn Right
turn_R (100,100);
break;
case 'z':
Serial.println("Hello");
break;
case 'x':
stop();
break;
}
}
else stop();
}
}
Romeo BLE Mini 蓝牙使用说明
Romeo BLE Mini V2.0采用Bluno蓝牙控制器方案,在蓝牙方面完全兼容Bluno蓝牙控制器。
RoMeo BLE mini手机连接示例
- RoMeo BLE mini的手机连接示例请参考Bluno 手机连接示例
- RoMeo BLE mini手机遥控实例:风火轮遥控机器人
通过BLE进行无线编程
RoMeo BLE mini 无线编程下载请参考Bluno 无线编程下载
通过AT指令配置BLE设备
RoMeo BLE mini AT 命令的配置方式也与Bluno相同,请参考Bluno AT 命令表
升级RoMeo BLE mini上的BLE固件(AT+VERSION查询版本)
RoMeo BLE mini升级固件的方法和BLUNO相似, 请参考BLUNO的Wiki中"升级BLUNO上的BLE固件"章节
ICSP接口说明
ICSP接口说明如图:
- ICSP1 Atmega328p
- ICSP2 CC2540
常见问题
还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。