Skip to content

BrianLChen/nRF52840-2.4GKeyboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nRF52840-Keyboard 三模键盘

一个使用nRF52840作为主控的三模键盘,使用nRF52840为核心的2.4G接收器

特点:低延迟 + 无线传输的稳定

2.4G无线传输使用 Nordic Gazell 协议 包含跳频机制以提升抗干扰性能 蓝牙预计使用 Nordic SDK 提供的默认方案。蓝牙对我并不是很重要

扫描结构参考 稚晖君 的 瀚文75 所使用的位移寄存器结构。修改使其可以用于唤醒无线模式下休眠的键盘

视频

【diy三模无线键盘】开源!低延迟2.4G键盘

进度

可以使用有线模式和2.4G无线模式进行正常键盘操作。充电管理正常,使用TP4056进行充电,小板上有单独的电池保护芯片。包含充电指示灯,硬件支持电量检测,但是代码没有写

延迟无线平均5ms,有线3-4ms,有优化空间,目前天线部分设计有较大问题,天线的位置放置的不太合理,导致实际信号变得很弱,有遮挡时会严重丢包 接收器使用nrf52840 dongle

蓝牙模式正在研究,因为目前使用的nrf5 SDK没有nrf connect SDK对蓝牙的支持好,打算后面有空了吧所有的换到nrf connect SDK上

使用教程

软件/固件

把这个文件复制到下载好nrf5 sdk后,在sdk的主目录下创建一个自己的文件夹,把Dongle和Keyboard拷贝进去 比如,sdk下载后解压出来是在nRF5_SDK_17.1.0_ddde560文件夹里,则Keyboard的应该在nRF5_SDK_17.1.0_ddde560//Keyboard/

硬件/PCB

硬件稍后开源(嘉立创开源有点用不明白) https://oshwhub.com/brianchen/jian-pan-cheng-pin

按键布局修改

在Keyboard/Application/Keyboard_Config.h中定义了键盘矩阵的顺序。顺序是按照PCB的按键顺序。目前定义了两层一层默认,另一层Fn。

如果需要修改Fn键的位置,请修改Fn_Position到需要的位置

此文件还可以修改消抖时间,总按键个数

已知问题

天线:位置不合理,导致信号很弱,正在考虑更换模块或者自己设计

RGB:软件上已经写了RGB的部分代码。但是设计时控制RGB供电的NMOS画到了VDD上,导致RGB点亮后电压过低,需要把所有的NMOS改到GND上。

电池:目前充电和使用都没有问题,但是电源有个MOS管设计的不对,导致开关切换到有线模式依然会有供电,导致续航有点拉垮。在早期使用两个开关的实验板上时续航还是可以的

当键盘从无线模式断开时,如果有按键是摁下状态,会出现卡键

开发计划

最近实在是太忙了,学校的项目仿真真的很费时间 后面应该会从nrf5 sdk换到nrf connect sdk,同时还要优化一下目前USB HID报表的流程。Nordic示例中的操作内存赋值来回了好几遍,我已经删掉了大部分我能看懂的部分,但是应该还能继续优化。理论上无线到2-3ms应该不是问题 最近看到雷蛇和罗技在RGB上都是用了IS31FL3733-QFLS4-TR这个来控制RGB。会考虑

还有增加6键无冲的模式

外壳

这个非常重要,我对gasket是没有兴趣的,我的目标还是前高足够的低,目前的外壳在设计的时候忘记考虑脚贴的厚度了(脚贴也买的厚了),导致高度有点爆炸