[作品提交] 【2024 DigiKey 创意大赛】基于NRF52840的低功耗可扩展编程旋钮

qwert1213131   2024-10-30 13:52 楼主

基于NRF52840的低功耗可扩展编程旋钮

作者:qwert1213131

一、作品简介

image-20241029140051-1.png  

image-20241029140051-2.png  

本项目主要作为桌面外设使用,具有多媒体控制、宏键盘、室内空气质量监测、番茄钟等功能。底部引出了磁吸式I2C接口,可扩展支持多种传感器,实现更多的功能,支持热插拔。外壳完全自主设计,支持机械轴按键的旋钮屏,支持热插拔轴座,可替换各种轴体。

物料清单:

  1. ARGON KIT ,基于 Nordic nRF52840,具有内置电池充电电路,和esp32协处理器,支持usb、ble和wifi。
  2. SGP30 AIR QUALITY SENSOR BREAKOUT,有一个标准的热板 MOX 传感器,以及一个小型微控制器,用于控制板的电源、读取模拟电压、跟踪基线校准、计算 TVOC 和 CO2e 值,并提供 I2C 接口读取。
  3. STEMMA QT BME680 SENSOR BOARD,包含温度、湿度、气压和 VOC 气体传感功能,并提供 I2C 接口读取。

image-20241029140051-3.png

二、系统框图  

项目以Argon Kit作为核心控制板,通过gpio连接到旋转编码器和机械轴按键,使用I2S接口控制喇叭模块,屏幕采用SPI协议通信,传感器部分,通过I2C协议进行通信,获取相关数据,并且使用了磁吸式触点的方式与各个传感器进行连接,可组合扩展多个模块,支持热插拔。

结构设计上主要是将显示、机械按键和旋钮进行了统一组合,采用层叠方式设计了整套外观。

 

image-20241029140051-4.png  

软件层面,既然是以可编程旋钮来命名,那必须能支持更多自定义代码的特性在内,这也是选择使用Python语言进行开发的意义所在。

 

 

三、各部分功能说明

主控模块

使用Argon套件作为项目的核心单元,支持USB、BLE、WIFI,通过SPI来控制圆形彩屏,使用USB或锂电池供电,也可为其他模块提供3.3v供电。

image-20241029140051-5.jpeg  

 

显示旋钮

使用中空旋转编码器,很适合将机械轴按键放入其中,屏幕的fpc排线长度也合适,可以共同实现显示旋钮;便于进行人机界面的交互操作。

 

image-20241029140051-6.png   image-20241029140051-7.png  

环境传感器

使用了来自Adafruit Industries LLC的BME680和SGP-30开发套件用作环境监测,可获取到温度、湿度、气压、CO2、TVOC等数据。而且它们都支持I2C接口,非常适合级联通信,为了方便增加更多的模块,我采用了弹性磁吸顶针的方式,可随时热插拔。

image-20241029140051-8.jpeg   image-20241029140051-9.jpeg  

每个模块放入一个磁吸模块中,当然也可以一次放入多个传感器模块,可按需安装

image-20241029140051-10.png  

声光电路

为了能方便的作出提醒,加入了炫彩LED和喇叭单元。

image-20241029140051-11.png   image-20241029140051-12.png  

 

以上内容都是将核心板安装在主板后实现的

image-20241029140051-13.jpeg  

image-20241029140051-14.jpeg  

image-20241029140051-15.jpeg  

image-20241029140051-16.jpeg  

 

四、作品源码

源码地址download.eeworld.com.cn/detail/qwert1213131/634833

digikey_提交.zip (976.46 KB)
(下载次数: 0, 2024-10-30 13:47 上传)

image-20241029140051-17.png  

 

3D打印文件
stl.zip (1.19 MB)
(下载次数: 0, 2024-10-30 13:30 上传)

 

屏幕截图 30-10-2024 13.28.28.png  

电路硬件文件
硬件_1.1.zip (203.15 KB)
(下载次数: 0, 2024-10-30 13:41 上传)

3D_btn_7_2024-10-29.png  

五、作品功能演示视频

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得捷技术专区 - 电子工程世界-论坛

 

七、其他

文档
DigiKey_contest_2024_基于NRF52840的低功耗可扩展编程旋钮.doc (9.56 MB)
(下载次数: 0, 2024-10-30 13:44 上传)
 

 

本帖最后由 qwert1213131 于 2024-10-30 13:51 编辑

回复评论 (2)

超棒啊,支持一波,如果能用lvgl写个界面就更好了

点赞  2024-10-30 14:24
引用: jd3096 发表于 2024-10-30 14:24 超棒啊,支持一波,如果能用lvgl写个界面就更好了

好主意啊,lvgl的ui工具也还是很棒的

点赞  2024-10-30 15:24
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复