本帖最后由 qwert1213131 于 2022-10-22 20:21 编辑
一、作品简介(100-200字)
多功能开源自定义宏键盘
市面上大多数宏键盘需要通过记忆或者粘贴便签的方式来记录,缺乏灵活性;
若不贴标签,长时间后有可能会遗忘其具体功能;
本项目的设计不同于此类宏键盘,主要是将显示屏与机械轴结合起来,可以根据用户的需求自定义需要的图案或文字,来指示按键具体含义。不但兼具显示功能,还具备机械轴的触感;
项目已经搭建好了框架,用户可以在此基础上实现自己需要的功能,玩出更多的花样;
目前已实现的功能有:
- 全键盘模拟
- 音乐播放控制
- 快速打开常见网页
- CV工程师专用键(全选、复制、粘贴)
- B站快捷键
- 网络时钟
- 天气
- 电脑运行状态监控
- 番茄钟
二、系统框图(图文结合)
硬件部分
主要用到的元器件:
- ESP32-S3:主控,负责通信和显示控制
- TPS61040:为显示模块提供10V电源
- 0.95寸RGB OLED显示屏
- 机械轴按键
- 旋转编码器
软件部分
软件主要是根据按键的不同状态来切换到不同功能页面,进而实现功能;
主要由按键扫描、页面管理、网络任务组成。
三、各部分功能说明(图文结合)
主控模块
使用ESP32-S3-DevKitC-1开发板来作为空着核心,esp32-s3芯片支持wifi、蓝牙、usb,以及强大的资源外设,非常适合用来开发此项目。通过SPI和GPIO来控制OLED屏的显示,通过wifi来更新时间、获取电脑状态和天气预报;BLE用来实现模拟键盘。同时为其他模块提供3.3V电源。
机械按键显示模块
由于宏键盘的功能有可能会变化,因此把按键和显示屏进行了融合,方便根据不同功能进行按键定义显示。采用0.95寸RGB OLED屏,需要用到三个此模块;
旋转编码器
用来获取用户输入,方便实现页面功能的切换
供电模块
由于oled屏除了3.3v电源外,还需要额外供给10v电源,因此使用tps61040升压芯片
连接
最后通过排线将开发板与各模块连接起来
四、作品源码
download.eeworld.com.cn/detail/qwert1213131/625234
app主要负责常用模块的实现
Fonts包含字体文件
Manager负责页面管理切换
Pages包含各功能页面,方便添加
源码如下图目录结构所示:
五、作品功能演示视频
基于esp32s3的宏键盘-基于esp32s3的宏键盘-EEWORLD大学堂
六、项目总结
首先很感谢得捷和eeworld组织的这次活动,让我有机会参与,并接触到esp32s3这款芯片。
以前一直用的都是普通键盘,自从接触了机械轴后,就深深喜欢上了,心里也就有了自己diy的想法;在探索的过程中,发现还是有很多方向可以结合在一起衍生出新的事物的。
本次项目从机械设计、原理图、PCB打样、程序编码、3D打印、喷涂,经历了几个版本演化,对于目前的呈现,我很满意;当然还有很多需要改进的地方,比如增加usb方式,我会继续努力的。
由于一些物料无法到货,还有一些功能无法实现,算是一个遗憾吧。
这个项目的功能拓展性还是很多的,比如做个morse电码练习,水果游戏等。
【多功能开源自定义宏键盘】物料开箱-ESP32-S2-KALUGA-1和ESP32-S3-DEVKITC-1-N8
【多功能开源自定义宏键盘】蓝牙小键盘工程搭建和试验
【多功能开源自定义宏键盘】OLED显示屏测试
七、其他
|