BLE Wireless Gamepad无线手柄V2.0

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

目录

1 简介
2 产品参数
3 引脚说明
4 使用教程

4.1 数据格式
4.2 功能键说明
4.3 BLE连接方式
4.4 LED指示灯
4.5 振动电机

5 其他教程请参考V1.0
6 常见问题
7 更多

简介
你还在为你的蓝牙模块的主从切换而烦恼吗?
你想你的手柄既可以打游戏又可以遥控你自己的机器人吗?

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

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

无线通讯接口,直接兼容:
Bluno主控器
BLE LINK 蓝牙4.0通讯模块
Dreamer Nano V4.0 (兼容Arduino Leonardo)

引脚说明

手柄按键值对应图

数字按键值说明

标号
名称
HID模式
BLE主机模式

1
A
a
0x01

2
B
b
0x02

3
C
c
0x04

4
D
d
0x08

5
E
e
0x10

6
F
f
0x20

7
G
g
0x40

8
H
h
0x80

模拟按键值说明

标号
名称
HID模式
BLE主机模式

1
X
x
0x80~0xff

2
Y
y
0x80~0xff

3
Z
z
0x80~0x00

4
W
w
0x80~0x00

5
T
t
0x80~0xff

6
U
u
0x80~0x00

7
V
v
0x80~0xff

8
S
s
0x80~0x00

9
L
l
0x08

10
P
p
0x80

前置按键值说明

标号
名称
HID模式
BLE主机模式

1
3
3
0x01

2
4
4
0x02

3
N
n
0x20

4
O
o
0x40

使用教程
BLE Wireless Gamepad无线手柄V2.0是在V1.0基础上进行硬件和软件升级的,这里主要是针对V2.0的数据格式及其使用方法说明

注意:V2.0版本增加AT指令,用户可以通过USB连接手柄,直接输入AT指令即可

数据格式

帧头
地址
长度
命令字节
数字按键
预留字节
模拟按键
校验和

2字节
1字节
1字节
1字节
2字节
2字节
4字节
1字节

数据格式采用定长的形式,每一帧数据长度是14字节

帧头:0x55 0xAA
地址:0x01
长度: 0x0e
命令字节:0x01(有数据)或0x00(结束帧)
数字按键:用于描述数字按键,其每一位代表一个固定的按键,可以按位取出数据
模拟按键:摇杆模拟数据
校验和

数字按键说明 数字按键数据位在帧中站2个字节,其中前一个字节输出前置按键和模拟中键的数据,后一个字节描述8个数字按键数据,对应前面的按键值说明表,解析如下:
*如果按下A键,则输出00 01,如前面表中所示,正是0x01
*如果按键L键,则输出08 00,如前面表中所示,正是0x80
*如果同时多键按下,则输出结果是每个按键单独按下值得按位或所得的结果
例如,我们想判断A键是否被按下,可以使用如下方法

int str[14]={'\0'};
void setup()
{
Serial.begin(57600);
}

void loop()
{
if(Serial.available())
{
for(int i=0;i<14;++i)
{
str[i] = Serial.read();
delay(2);
}
if(str[6] & 0x01)
{
//说明A键按下
}
}
}

功能键说明

SELECT:用于BLE主机模式和HID模式切换
ANALOG:用于解除MAC地址绑定及蓝牙固件更新
START:重启

BLE连接方式

KISS连接:将无线手柄和设备的距离小于10cm时,才能连接。连接过后,手柄会绑定设备的MAC地址,并修改连接方式为固定设备连接,下一次连接设备就直接连接。
AT指令设置:通过AT指令(使用方法和Bluno一致),设置手柄的链接方式为固定设备连接,并绑定设备地址。重启手柄,就可以和设备进行连接。

LED指示灯

指示灯除了保留之前的模式知识和数据发送指示外,还添加了连接指示

BLE主机模式

开机,MODE灯常亮,RX灯会连续闪烁3下
连接到从机,RX灯会快速闪烁2下
数据传输,RX灯会一直亮

HID从机模式

开机,RX灯会闪烁一下
连接到电脑,MODE灯会每5s闪烁一次
数据传输,RX灯常亮,MODE灯亮(这里应注意,手柄为了低功耗考虑,当没有按键按下时,手柄会在一段时间后RX灯熄灭,按下任意键RX亮,表明连接)

振动电机
设备可以通过发送AT+MOTOR=1或者0来打开和关闭振动

其他教程请参考V1.0
(SKU:DFR0304)BLE_Wireless_Gamepad无线手柄

常见问题
还没有客户对此产品有任何问题,欢迎通过qq群182152432或者论坛http://wenda.ncnynl.com联系我们!

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖!

更多

DFshopping car1.png [Link ]

标签: Arduino传感器