_SKU_DFR0304_BLE_Wireless_Gamepad无线手柄 - jimaobian/DFRobotWikiCn GitHub Wiki

BLE Wereless Gamepad

概述

你还在为你的蓝牙模块的主从切换而烦恼吗?

你想你的手柄既可以打游戏又可以遥控你自己的机器人吗?

DFRobot新推出的BLE 4.0无线遥控手柄是基于TI的CC2540蓝牙芯片专为DIY玩家量身打造的一款无线手柄遥控器。手柄完成按键运算处理同时还直接支持无线发送。

BLE 4.0无线遥控手柄支持主从切换、支持HID、支持数据透传,让您可以与机器人、移动平台或无人机(UAV)等任何您想要控制的设备进行通信;同时,它的HID功能

能够很轻易的与蓝牙4.0适配器连接,可直接作为无线游戏手柄使用,只要在PC上安装好游戏模拟器,就可以回味儿时的那些经典游戏了;

BLE 4.0无线遥控手柄即能用于DIY机器人,又能玩游戏,完全颠覆目前市面上的其他游戏手柄,是一款不可多得的全能型操控神器。

性能描述

按键定义

Fig1: BLE Wireless Gamepad Key Out

  • 三个控制按键,用于切换、解绑、复位等功能
    1. START键用于复位
    2. ANALOG键在 主机模式 下时用于一键解绑MAC地址
    3. 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 + 履带小车

HID 模式连接

手柄与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无线遥控手柄使用说明

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