基于NRF52840的低功耗可扩展编程旋钮
作者:qwert1213131
一、作品简介
本项目主要作为桌面外设使用,具有多媒体控制、宏键盘、室内空气质量监测、番茄钟等功能。底部引出了磁吸式I2C接口,可扩展支持多种传感器,实现更多的功能,支持热插拔。外壳完全自主设计,支持机械轴按键的旋钮屏,支持热插拔轴座,可替换各种轴体。
物料清单:
二、系统框图
项目以Argon Kit作为核心控制板,通过gpio连接到旋转编码器和机械轴按键,使用I2S接口控制喇叭模块,屏幕采用SPI协议通信,传感器部分,通过I2C协议进行通信,获取相关数据,并且使用了磁吸式触点的方式与各个传感器进行连接,可组合扩展多个模块,支持热插拔。
结构设计上主要是将显示、机械按键和旋钮进行了统一组合,采用层叠方式设计了整套外观。
软件层面,既然是以可编程旋钮来命名,那必须能支持更多自定义代码的特性在内,这也是选择使用Python语言进行开发的意义所在。
三、各部分功能说明
主控模块
使用Argon套件作为项目的核心单元,支持USB、BLE、WIFI,通过SPI来控制圆形彩屏,使用USB或锂电池供电,也可为其他模块提供3.3v供电。
显示旋钮
使用中空旋转编码器,很适合将机械轴按键放入其中,屏幕的fpc排线长度也合适,可以共同实现显示旋钮;便于进行人机界面的交互操作。
环境传感器
使用了来自Adafruit Industries LLC的BME680和SGP-30开发套件用作环境监测,可获取到温度、湿度、气压、CO2、TVOC等数据。而且它们都支持I2C接口,非常适合级联通信,为了方便增加更多的模块,我采用了弹性磁吸顶针的方式,可随时热插拔。
每个模块放入一个磁吸模块中,当然也可以一次放入多个传感器模块,可按需安装
声光电路
为了能方便的作出提醒,加入了炫彩LED和喇叭单元。
以上内容都是将核心板安装在主板后实现的
四、作品源码
源码地址download.eeworld.com.cn/detail/qwert1213131/634833
五、作品功能演示视频
2024digikey多功能旋钮-2024digikey多功能旋钮-EEWORLD大学堂
六、项目总结
首先很感谢得捷和eeworld组织的这次活动,让我有机会参与,并感受到各个开发板的魅力。
项目基本实现了最初的目标,其中的app框架还能实现更多有趣的功能。Python语言的方便,是毋庸置疑的,CircuitPython更是对嵌入式硬件的开发提供了诸多便利。NRF52840有着很强大丰富的外设,远不只本项目所展示的这些内容。CircuitPython也提供了强大的底层支持,通过相关库的定义,很容易实现想要的功能。后期再利用协处理器esp32的wifi,可实现更多物联网项目,argon套件的可玩性还是非常高的。
第一次尝试设计显示旋钮,从外观到结构以及屏幕编码器的选型,经历了多次改版,才终于有了现在的模样。
磁吸式的设计还是比较方便的,降低线缆的杂乱以及误操作性。
目前的设计由于只是原型搭建,因此使用现成的开发套件是最快的方式,这些套件提供了丰富的接口和资料,方便进行设计,降低由于个人焊接水平差异而造成的时间损失。
贴子分享汇总:
【2024 DigiKey 创意大赛】1、物料开箱帖 - DigiKey得捷技术专区 - 电子工程世界-论坛
【2024 DigiKey 创意大赛】2、主控板烧录 - DigiKey得捷技术专区 - 电子工程世界-论坛
【2024 DigiKey 创意大赛】3、PCB 打样 - DigiKey得捷技术专区 - 电子工程世界-论坛
【2024 DigiKey 创意大赛】4、PCB物料到货焊接组装 - DigiKey得捷技术专区 - 电子工程世界-论坛
七、其他
本帖最后由 qwert1213131 于 2024-10-30 13:51 编辑
引用: jd3096 发表于 2024-10-30 14:24 超棒啊,支持一波,如果能用lvgl写个界面就更好了
好主意啊,lvgl的ui工具也还是很棒的