此作品前不久因参加另一个论坛的活动而发表过。不过当时没有实现全部功能,只实现了USB部分。这次借助EEWORLD的活动,打算在之前的基础上继续完善,实现BLE部分,完成作品的整个功能。 之前因硬件设计不合理,导致BLE部分无法实现。这里主要是实现BLE部分,在上一版硬件的基础上,修改硬件功能并优化。从而实现低功耗蓝牙、USB双模机械键盘。
市面上支持蓝牙的机械键盘较少,同类产品多使用经典蓝牙,功耗较高。而无线键盘对功耗要求较敏感。本作品使用低功耗蓝牙(BLE)作为无线数据传输。同时支持蓝牙和USB连接,在无线模式下,借助于BLE的优势,可以实现超长续航。 网络上可以搜索到的关于DIY键盘的文章比较多,这里对于重复性的东西就不做过多介绍,主要还是着重说一下BLE部分。
第一个版本中,BLE部分使用的是Nordic的NRF51822,主控芯片与51822通过串口进行通信。当时硬件上面只使用了RX和TX两根线,没有使用硬件流控。这样在串口通信的时候,因51822内部还在跑softdevice,会导致数据丢包。而我这里测试的情况是根本无法通信,一发送数据,51822就复位重启。经调试发现是出现了通信错误。 这里解决的办法一是使用硬件流控,二是换方案。本来一开始打算使用Dialog的14580,考虑到开发周期最后才选了51822。这次时间比较充足,看来还是要换回Dialog。使用14580需要外挂flash,当然代码稳定后就不需要了。考虑到元器件是要自己一个个徒手焊接,还是选择14583。与14580相比,其内部集成了1Mbits的flash,可以少一颗物料,但价格就要贵很多了。看来鱼和熊掌不可兼得啊。 目前方案验证基本OK,PCB还没有开始修改。先来一张PCB的3D效果图。
引用: 小菜单片机 发表于 2017-11-4 08:54 帅炸
引用: 柠檬酸钠 发表于 2017-11-6 13:43
厉害啊 希望有详细点的资料