BLE无线手柄

概述

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

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

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

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

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

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

性能描述

按键定义

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

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

控制器应用

电源

这是手柄与其他器件通信的最重要步骤之一。你必须确保你接通电源的电力终端使用正确的极性。反接会损坏手柄。 “人为造成损坏我们将不负责保修,可以提供有偿维修。请确保你使用正确适用的电源。否则,后果自负!”

从USB电源: 只需插上USB线,手柄就能够工作。请注意,USB能提供500毫安的电流,在用USB供电时,请将手柄后面的POWER拨到OFF档,禁止电池供电。

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

教程

手柄BLE透传协议

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

帧头 地址 命令长度 摇杆键位 命令 校验和
0x55 0xaa 1 字节 1 字节 1 字节 n 字节 1 字节

"数据传输协议"

说明:

如:

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

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

使用范例

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无线手柄控制机器人实例展示

HID 模式连接

手柄与CSR适配器连接,PC机需要安装一个驱动软件,驱动软件网上很多,这里提供一个demo软件,仅供小伙伴们参考!!!

下载“蓝牙4.0适配器”软件包,这一步就不用小编啰嗦了吧... ...

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

资料连接

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