esp32 oled 键盘 游戏 蓝牙快捷键

本文介绍了如何利用ESP32Cam和蓝牙键盘库创建一个具备六个按键快捷键映射、OLED显示和游戏界面倒计时功能的设备。通过BLE库实现键盘控制,并详细列举了按键对应的功能和操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计划

这是一个伟大的计划

  1. 按键6个, 矩阵扫描的方式获取
  2. 蓝牙键盘
  3. 配置这个六个按键的快捷键(比如key1的模拟 ctr+alt+L)
  4. oled显示模式和游戏界面
  5. 倒计时旋钮

请添加图片描述

环境

  1. ESP32Cam https://github.com/T-vK/ESP32-BLE-Keyboard
  2. 引脚使用 2 13 12 14 15
  3. 蓝牙库 https://gitcode.net/mirrors/T-vK/ESP32-BLE-Keyboard?utm_source=csdn_github_accelerator

请添加图片描述

第一步: 蓝牙键盘

press的对应键码表
1 键盘左边ctrl --- KEY_LEFT_CTRL
2 键盘左边shift --- KEY_LEFT_SHIFT
3 键盘左边alt --- KEY_LEFT_ALT
4 键盘左边win --- KEY_LEFT_GUI
5 键盘右边ctrl --- KEY_RIGHT_CTRL
6 键盘右边shift --- KEY_RIGHT_SHIFT
7 键盘右边alt --- KEY_RIGHT_ALT
8 键盘右边win --- KEY_RIGHT_GUI
9 方向键上 --- KEY_UP_ARROW
10 方向键下 --- KEY_DOWN_ARROW
11 方向键左 --- KEY_LEFT_ARROW
12 方向键右 --- KEY_RIGHT_ARROW
13 退格键 --- KEY_BACKSPACE
14 tab键 --- KEY_TAB
15 回车键 --- KEY_RETURN
16 esc键 --- KEY_ESC
17 insert键 --- KEY_INSERT
18 delete键 --- KEY_DELETE
19 page up键 --- KEY_PAGE_UP
20 page down键 --- KEY_PAGE_DOWN
21 home键 --- KEY_HOME
22 end键 --- KEY_END
23 capslock键 --- KEY_CAPS_LOCK
24 F1 --- KEY_F1
25 F2 --- KEY_F2
26 F3 --- KEY_F3
27 F4 --- KEY_F4
28 F5 --- KEY_F5
29 F6 --- KEY_F6
30 F7 --- KEY_F7
31 F8 --- KEY_F8
32 F9 --- KEY_F9
33 F10 --- KEY_F10
34 F11 --- KEY_F11
35 F12 --- KEY_F12

KEY_MEDIA_NEXT_TRACK
KEY_MEDIA_PREVIOUS_TRACK
KEY_MEDIA_STOP
KEY_MEDIA_PLAY_PAUSE
KEY_MEDIA_MUTE
KEY_MEDIA_VOLUME_UP 音量加
KEY_MEDIA_VOLUME_DOWN 音量减
KEY_MEDIA_WWW_HOME 浏览器页面进入主页
KEY_MEDIA_LOCAL_MACHINE_BROWSER // Opens "My Computer" on Windows
KEY_MEDIA_CALCULATOR
KEY_MEDIA_WWW_BOOKMARKS
KEY_MEDIA_WWW_SEARCH
KEY_MEDIA_WWW_STOP
KEY_MEDIA_WWW_BACK
KEY_MEDIA_CONSUMER_CONTROL_CONFIGURATION // Media Selection
KEY_MEDIA_EMAIL_READER

注意: 如果要输出空格输入32就可以了因为,32对应ACSII码表为空格
注意: press 和 release 成对出现

第二步: 导入蓝牙键盘库

在这里插入图片描述

加载 source/ESP32-BLE-Keyboard.zip

2.1 基础操作

连上蓝牙后, 不停地发送helloworld

src/SendKeyStrokes/SendKeyStrokes.ino
#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEScan.h>
#include <BLEAdvertisedDevice.h>
#include <BleKeyboard.h>

BleKeyboard bleKeyboard;

void setup() {
  Serial.begin(115200);
  Serial.println("Starting BLE work!");
  bleKeyboard.begin();
}

void loop() {
  if(bleKeyboard.isConnected()) {
    Serial.println("Sending 'Hello world'...");
    bleKeyboard.print("Hello world");

    delay(1000);

    Serial.println("Sending Enter key...");
    bleKeyboard.write(KEY_RETURN);

    delay(1000);

    Serial.println("Sending Play/Pause media key...");
    bleKeyboard.write(KEY_MEDIA_PLAY_PAUSE);

    delay(1000);
  }

  Serial.println("Waiting 5 seconds...");
  delay(5000);
}

待续…

第三步: oled显示模式和游戏功能

第四步: 旋钮设置倒计时功能

最后一步: 绘制PCB

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落子无悔!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值