ESP32C3 单模蓝牙小键盘 ZY-17W
简介
基于ESP32C3的单模蓝牙小键盘,含数字区按键、灯光控制旋钮以及多媒体控制滑条;支持热拔插、RGB灯效、全键无冲以及低功耗模式。
简介:基于ESP32C3的单模蓝牙小键盘,含数字区按键、灯光控制旋钮以及多媒体控制滑条;支持热拔插、RGB灯效、全键无冲以及低功耗模式。开源协议
:GPL 3.0
描述
1. 成品效果展示
具体功能及细节展示可观看B站视频:
[开源]17键蓝牙小键盘 旋钮+滑条+RGB 支持热插拔/全键无冲/低功耗休眠_哔哩哔哩_bilibili
2. 材料准备
①核心板:合宙ESP32C3简约款(经典款理论可行,未测试)
②锂电池:尺寸不大于90x55x6mm(长x宽x高)即可,容量根据续航需要自行选择,接头形式1.25黑红
③PCB:直接导出,DRC检查无错误
④其他电子元件:见BOM表,有些许问题可自行判别
以下B站 默默_v 帮忙整理的物料表,也可作参考
⑤键盘元件:键盘轴体x17,2U卫星轴x3,小键盘区键帽1套,旋钮帽x1(根据旋钮连接形式选择)
⑥外壳:3D打印,打印文件见附件
⑦螺丝:扁头螺丝钉(直径x长度)2x4mm数量4 2x14mm数量4
3. 制作流程
3.1 元器件焊接
如下图焊接元器件并安装锂电池
3.2烧录程序
使用Arduino IDE烧录程序,并测试键盘功能,程序相关内容在后续介绍中
3.3 安装底壳
通过2x4mm螺钉将PCB固定在底壳上
3.4 安装顶壳
通过2x14mm螺钉将顶壳与底壳固定
3.5 安装轴体、键帽、旋钮帽
如下图安装轴体、键帽、旋钮帽,并可按需对壳体进行涂装,此处需要3个2U卫星轴
4. 程序说明
4.1 编译环境支持
本键盘基于Arduino IDE开发,因此需要安装相应的esp32开发板包,网上教程较多,此处就不再赘述。对设备的配置如下,因为使用简约版的ESP32C3核心板,因此选择下载方式为“Internal USB”。
4.2 使用库说明
为实现键盘功能,需在Arduino中添加以下库:
①WS2812FX库,以实现RGB效果
② NimBLE-Arduino库,以使得BLE实现更加轻量
③ESP32-BLE-Keyboard库,以实现蓝牙键盘功能
链接:https://github.com/T-vK/ESP32-BLE-Keyboard
注意:需要再安装前或安装后在最开始添加#define USE_NIMBLE
以启用NimBLE
如果这个库编译有问题,可以使用附件中提供的含键盘库的程序文件(其他库仍需安装)
④TaskScheduler库,以实现多任务
4.3 编译下载
编译成功后使用USB数据线连接开发板即可下载
5. 功能介绍
详细操作方法及效果可见B站视频。
5.1 按键功能
本键盘仅为单模蓝牙键盘,目前不支持改键,适用于Windows系统,按键区支持Num Lock模式切换。
5.2 旋钮功能
旋钮用于调节键盘RGB灯光效果,功能如下表所示
旋钮操作 | 效果 |
点按(灯光开启状态下) | 切换灯光模式 |
点按(灯光关闭状态下) | 开启灯光 |
长按 | 关闭灯光 |
顺时针旋转 | 降低灯光亮度 |
逆时针旋转 | 提高灯光亮度 |
5.3 触摸滑条功能
触摸滑条用于多媒体控制,功能如下表所示
触摸操作 | 效果 |
从下往上滑动并保持 | 音量增大 |
从上往下滑动并保持 | 音量减小 |
从下往上刷动(不长按保持) | 上一首 |
从上往下刷动(不长按保持) | 下一首 |
点按 | 暂停/播放 |
长按滑条中下部 | 静音/有声 |
长按滑条上部 | 禁用/启用滑条功能 |
*此处滑条的原理只是基于触摸开关的判断,不能准确判断触摸位置,算是一种伪滑条。
5.4 低功耗模式
(1)当将键盘背面的两个开关中靠下方的开关拨到ON时,若键盘在20min内无操作的话,将会自行进入低功耗模式。进入时长可以在程序中定义;
(2)如果要安装完成后外部操作开关,需要安装前把底壳开口打通;
(3)进入深度睡眠(低功耗模式后)可通过触摸滑条或按动旋钮唤醒,由于低功耗模式下键盘蓝牙关闭,因此唤醒后要等待蓝牙连接后(3~5s)按键方能响应。
(4)各情况下的耗电情况如下表所示,以供电电压3.7V为例
状态 | 电流大小 | 测试 |
无灯光运行模式 | 93mA左右 | |
灯光低亮度运行模式 |
105mA左右 (与显示颜色有关) |
|
灯光高亮度运行模式 |
140~230mA (与显示颜色有关) |
|
低功耗模式 | 9.5mA左右 |
*esp32系列蓝牙的功耗确实还挺高,之后有机会试试使用沁恒的芯片开发
评论