Coder Social home page Coder Social logo

nrf52840-2.4gkeyboard's Introduction

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

已知问题

天线:位置不合理,导致信号很弱,正在考虑更换模块或者自己设计 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是没有兴趣的,我的目标还是前高足够的低,目前的外壳在设计的时候忘记考虑脚贴的厚度了(脚贴也买的厚了),导致高度有点爆炸

nrf52840-2.4gkeyboard's People

Contributors

brianlchen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.