找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 848|回复: 0
打印 上一主题 下一主题
收起左侧

请问苹果手机支持的手柄要符合什么规范?我写了个Arduino蓝牙手柄代码

[复制链接]
跳转到指定楼层
楼主
ID:658914 发表于 2022-3-30 21:15 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我写了个蓝牙手柄,其实是抄gamepad 例程

安卓手机上能用(目前用来控制拍照)
代码//必须安装gamepad 库

#include <BleGamepad.h>
#include “TCA9555.h”
#include <SPI.h>
#include <Wire.h>

#include <TFT_eSPI.h> // Hardware-specific library

TFT_eSPI tft = TFT_eSPI(); // Invoke custom library

TCA9555 TCA(0x20);

BleGamepad bleGamepad;

void setup(void) {undefined
Serial.begin(115200);
Serial.println(“Starting BLE work!”);
bleGamepad.setAutoReport(false);
bleGamepad.setControllerType(CONTROLLER_TYPE_GAMEPAD); //CONTROLLER_TYPE_JOYSTICK, CONTROLLER_TYPE_GAMEPAD (DEFAULT), CONTROLLER_TYPE_MULTI_AXIS
bleGamepad.begin(); //Simulation controls are disabled by default

tft.init();

tft.fillScreen(TFT_BLACK);

Wire.begin();
TCA.begin();

}

void loop() {undefined
tft.fillScreen(TFT_BLACK);
for (int pin = 0; pin < 16; pin++)
{undefined
int val = TCA.digitalRead(pin);
tft.setCursor(0, pin20, 4);
tft.setTextColor(TFT_BLUE, TFT_BLACK);
tft.println(pin);
tft.setCursor(100, pin20, 4);
tft.println(val);
if (val == 0){undefined
bleGamepad.press(pin);
bleGamepad.sendReport();
delay(100);
bleGamepad.release(pin);
bleGamepad.sendReport();
delay(25);
}
}
}
//不要说我没有任何注释。其实很好理解的。按键反馈通过microbyte的屏幕显示;然后按键序号直接送到bleGamepad(完)

IMG_20220328_194945.jpg (1.09 MB, 下载次数: 26)

IMG_20220328_194945.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表