BLE Wireless Gamepad无线手柄

            <img alt="" src="http://images.ncnynl.com/arduino/2016/500px-BLE无线手柄.jpg" width="500" height="332" class="thumbimage" />  <img src="http://images.ncnynl.com/arduino/2016/magnify-clip.png" width="15" height="11" alt="" />BLE Wereless Gamepad

目录

1 概述
2 性能描述
3 按键定义
4 控制器应用

4.1 电源

5 教程

5.1 手柄BLE透传协议
5.2 使用范例
5.3 手柄与CSR蓝牙适配器连接

6 资料连接

概述
你还在为你的蓝牙模块的主从切换而烦恼吗?
你想你的手柄既可以打游戏又可以遥控你自己的机器人吗?
DFRobot新推出的BLE 4.0无线遥控手柄是基于TI的CC2540蓝牙芯片专为DIY玩家量身打造的一款无线手柄遥控器。手柄完成按键运算处理同时还直接支持无线发送。
BLE 4.0无线遥控手柄支持主从切换、支持HID、支持数据透传,让您可以与机器人、移动平台或无人机(UAV)等任何您想要控制的设备进行通信;同时,它的HID功能
能够很轻易的与蓝牙4.0适配器连接,可直接作为无线游戏手柄使用,只要在PC上安装好游戏模拟器,就可以回味儿时的那些经典游戏了;
BLE 4.0无线遥控手柄即能用于DIY机器人,又能玩游戏,完全颠覆目前市面上的其他游戏手柄,是一款不可多得的全能型操控神器。

性能描述
供电:USB供电或3节AAA电池供电
控制器芯片:TI CC2540
尺寸:165x110mm,规格与尺寸兼容基于Arduino可编程无线遥控手柄V2.2
12个数字按键输出
4通道模拟数据输出
支持USB在线固件升级
支持一键主从切换(mode灯亮代表主机,灭代表从机)
支持自动绑定MAC及一键解绑
不支持编程功能
支持HID keyboard,可直接与蓝牙4.0适配器相连接
支持BLE串口通信
无线通讯接口,直接兼容:
Bluno主控器
BLE LINK 蓝牙4.0通讯模块
Dreamer Nano V4.0 (兼容Arduino Leonardo)

按键定义
Fig1: BLE Wireless Gamepad Key Out

三个控制按键,用于切换、解绑、复位等功能
START键用于复位
ANALOG键在 主机模式 下时用于一键解绑MAC地址
SELECT键用于一键切换主从机
Mode灯亮,为主机模式
Mode灯灭,为从机模式

手柄上注明的所有按键及其按键值:

4个模拟输出端
在HID模式下,用于按键
在主机模式下,用于模拟值输出

注意:字母(如“a”)和数字(如“1”)表示该按键在 HID模式 下输出的按键值,对应的十六进制(如“0x20”)表示该按键在 主机模式 下输出的按键值,其中摇杆输出的是模拟值。

控制器应用
电源
这是手柄与其他器件通信的最重要步骤之一。你必须确保你接通电源的电力终端使用正确的极性。反接会损坏手柄。 “人为造成损坏我们将不负责保修,可以提供有偿维修。请确保你使用正确适用的电源。否则,后果自负!”
从USB电源:
只需插上USB线,手柄就能够工作。请注意,USB能提供500毫安的电流,在用USB供电时,请将手柄后面的POWER拨到OFF档,禁止电池供电。

“注:当使用完手柄后,请将手柄后面的POWER拨到OFF档,禁止电池继续供电。”

教程
手柄BLE透传协议
此协议仅用于手柄作为主机与其他从机设备相连接,传输的按键数据格式,以供小伙伴们参考使用!!!

"数据传输协议" 帧头 地址 命令长度 摇杆键位 命令 校验和

0x55

0xaa

1 字节

1 字节

1 字节

n 字节

1 字节

说明:

帧 头:0x55
帧 头:0xaa
地 址:1字节(默认发送的是0x11)
命令长度:1字节(数字按键被按下的个数)
摇杆键位:1字节(模拟按键被按下的相对位置)
命 令:n字节(数字和模拟按键值)
校 验 和:1字节

如:

当只有一个数字键被按下,如按下手柄的“a”键,而模拟键没有被按下,传输的数据格式为:55 AA 11 01 00 04 00 00 00 00 15

其中“55 AA 11”是帧头和地址,“01”是指按下的数字键个数为1,“00”表示模拟按键的相对位置没有变化,说明没有模拟值,“04”是值数字键值,后面的四个“00”是模拟值,这里没有变化,如果有模拟值被按下,相应的位就会输出数据,“15”是校验和

当模拟值和数字键被按下,如按下手柄的“a”键和“y”键,输出数据格式为:55 AA 11 01 08 04 00 00 00 5E 7B

其中“55 AA 11”是帧头和地址,“01”是指按下的数字键个数为1,“08”表示模拟键值第四个有变化,如“5e”,这个模拟值会随着摇杆被拨动的程度而变化,是个变值(模拟的相对位置说明如下图),可以支持多个数字和模拟值同时输出,通过相对位置来确认区分具体模拟值的变化。

BLE Wereless Gamepad: 01
BLE Wereless Gamepad: 02
BLE Wereless Gamepad: 04
BLE Wereless Gamepad: 08
当多个模拟值被按下,如01和02键被按下,则输出为03,算法为01和02按位或运算。

BLE Wireless Gamepad无线手柄与其他BLE设备
使用范例
Arduino代码实例

#define EN1 5//pin for run the right motor
#define IN1 4//pin for control right motor direction
#define EN2 6//pin for run the left motor
#define IN2 7//pin for control left motor direction

#define FORW 0
#define BACK 1

int databuf[8]={};

void Motor_Control(int M1_DIR,int M1_EN,int M2_DIR,int M2_EN)
{
if(M1_DIR==FORW)//M1 motor direction
digitalWrite(IN1,FORW);//forward
else
digitalWrite(IN1,BACK);//back
if(M1_EN==0)
analogWrite(EN1,LOW);//stop
else
analogWrite(EN1,M1_EN);//set speed

if(M2_DIR==FORW)
digitalWrite(IN2,FORW);
else
digitalWrite(IN2,BACK);
if(M2_EN==0)
analogWrite(EN2,LOW);
else
analogWrite(EN2,M2_EN);
}

void setup()
{
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(13,OUTPUT);
Serial.begin(115200);
}
void loop()
{
if (Serial.available())
{
for(int i = 0; i < 10; i++)
{
databuf[i] = Serial.read();
delay(2);
}
if(databuf[5] == 0x04)
Motor_Control(1,255,1,255);
else if(databuf[5] == 0x05)
Motor_Control(0,255,0,255);
else if(databuf[5] == 0x06)
Motor_Control(0,255,1,255);
else if(databuf[5] == 0x07)
Motor_Control(1,255,0,255);
else
Motor_Control(0,0,0,0);
}
}

BLE Wireless Gamepad无线手柄控制机器人实例展示

BLE Wireless Gamepad无线手柄 + BLE LINK + miniQ 2WD V2.0 + miniQ 2WD Plus
BLE Wireless Gamepad无线手柄 + Bluno RoMeo + 履带小车

手柄与CSR蓝牙适配器连接
手柄与CSR适配器连接,PC机需要安装一个驱动软件,驱动软件网上很多,这里提供一个demo软件,仅供小伙伴们参考!!!
下载“蓝牙4.0适配器”软件包,这一步就不用小编啰嗦了吧... ...

打开“蓝牙4.0 适配器”文件夹,双击“Setup”进行安装,如图BLE.1所示:

图BLE.1
双击“Setup”后,会进入安装过程,如图BLE.2所示:

图BLE.2
点击“下一步”,如图BLE.3所示:

图BLE.3
选择“我接受该许可证协议中的条款(A)”,如图BLE.4所示:

图BLE.4
点击“更改”,修改安装目录,默认是C盘下,然后点击“下一步””,如图BLE.5所示:

图BLE.5
设置都默认设置,点击“下一步”,如图BLE.6所示:

图BLE.6
点击“安装”,如图BLE.7所示:

图BLE.7
安装过程需要几分钟,如图BLE.8所示:

图BLE.8
安装完成,点击“完成”,推出安装过程,如图BLE.9所示:

图BLE.9
将CSR Bluetooth 4.0适配器插在PC机USB口上,会系统会出现安装驱动提示,如图BLE.10所示:

图BLE.10
安装完成后,双击屏幕右下角隐藏图标中的蓝牙设备,进入“我的Bluetooth设备”,如图BLE.11所示:

图BLE.11
点击“添加设备”,选择“全部”,进入“添加Bluetooth设备”界面,Bluetooth设备开始扫描外围HID设备,此时,打开无线手柄电源开关,将手柄切换进入从机模式下,手柄自动广播,Bluetooth设备扫描到手柄后会显示“DF Wireless”,如果没有显示,则按下手柄的“START”键从新广播,如图BLE.12所示:

图BLE.12
点击“DF Wireless”选中此设备,点击“下一步”,这是Bluetooth设备会和手柄配对,配对完成后会提示“Bluetooth设备连接成功”,如图BLE.13所示:

图BLE.13
完成添加后,在“我的Bluetooth设备”中会显示“DF Wireless”设备名字,这时就可以用手柄进行打字或者游戏了,如图BLE.14所示:

图BLE.14
注意:事例中所安装的CSR驱动软件只针对win 7系统,如果是其他的系统,可以在网上下载其他的驱动软件,安装和连接过程大同小异,这里就不再撰述了
你会了么?
小编,你也太啰嗦了吧!!!!!!

BLE Wireless Gamepad无线手柄与CSR蓝牙4.0适配器
资料连接
“蓝牙4.0适配器”软件安装包
BLE 4.0无线遥控手柄使用说明

Nextredirectltr.png购买 BLE Wireless Gamepad无线手柄 (SKU:DFR0304)

标签: Arduino传感器