众所周知,掌控板在创客教育中用的非常广泛,它是一块基于 ESP32 的学习开发板。大家对掌控板编程,用的比较多的都是图形化编程的方式,比如 mPython、Mind+ 等。但是,既然掌控板是基于 ESP32 芯片的,所以我们也可以用 Arduino 软件对其编程。所以,有时间的话,我准备给大家分享一系列用 Arduino 代码对掌控板(ESP32)编程的教程:用 Arduino 玩转掌控板(ESP32)系列。
本系列历史文章目录:
在前面几期中,有读者反馈,因为网络原因,在 Arduino 软件中配置 ESP32 和 ESP8266 开发环境,经常会失败。所以这次我给大家带来了已经配置好开发环境的 Arduino 绿色版软件,解压即用,可直达文末获取下载地址。
本期给大家带来的案例是:蓝牙翻页笔。

先来看一下演示视频吧:
# 前言
关于翻页笔,其实我在之前就已经给大家分享过用好搭徽章板和 micro:bit 来实现翻页笔的案例,大家可以跳转下面的连接去查看:
这次要设计的翻页笔,功能与之前做的类似,不同点在于:
主控板采用了ESP32掌控板,而且只要一块板子就够了,不需要两块板子配合;
程序采用了 Arduino 代码方式,当然在文末我也会提供图形化代码供参考;
连接方式变成了 BLE 无线蓝牙,可以兼容 Mac、WIndows、iOS、Android 等。
下面开始进入正题。
# ESP32 蓝牙键盘库
编写蓝牙翻页笔程序之前,我们先来了解一下 ESP32-BLE-Keyboard 这个 Arduino 库。我们编写翻页笔程序主要是借助这个库来完成。这个库的功能,主要是将 ESP32 模拟成蓝牙键盘,然后向电脑发送按键命令,比如说我们翻页笔中会用到的:F5 按键(控制 PPT 开始播放)、ESC 按键(控制 PPT 退出播放)、还有上、下翻页按键 Page Up 和 Page Down(或者箭头 ← 和 →)。
使用这个库之前,首先我们要将这个库导入 Arduino 软件中,具体导入方法,这里不展开了,网上随便搜一下就有。
我们打开这个库的头文件 BleKeyboard.h
,可以对这个库有一个大概的了解。这个库里面主要有以下几个功能模块:
## BleKeyboard 对象
BleKeyboard 用来声明蓝牙键盘对象,用在程序开头,用来初始化设定蓝牙键盘的名称 deviceName 、键盘生产厂商 deviceManufacturer、键盘电量 batteryLevel。当然你也可以不用设置,这个时候,程序就会用默认值来对键盘进行设置。
BleKeyboard(std::string deviceName = "ESP32 BLE Keyboard", std::string deviceManufacturer = "Espressif", uint8_t batteryLevel = 100);
## begin() 和 end() 函数
这两个函数的定义如下&