qwert1213131 发表于 2024-10-30 13:52

【2024 DigiKey 创意大赛】基于NRF52840的低功耗可扩展编程旋钮

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

<p align="center"><b>基于NRF52840的低功耗可扩展编程旋钮</b></p>

<p align="right">作者:qwert1213131</p>

<p><b>一、作品简介</b></p>

<p> &nbsp;</p>

<p> &nbsp;</p>

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

<p>物料清单:</p>

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

<p></p>

<p><b>二、系统框图</b> &nbsp;</p>

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

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

<p>&nbsp;</p>

<p> &nbsp;</p>

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

<p>&nbsp;</p>

<p>&nbsp;</p>

<p><b>三、各部分功能说明</b></p>

<p><b>主控模块</b></p>

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

<p> &nbsp;</p>

<p>&nbsp;</p>

<p><b>显示旋钮</b></p>

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

<p>&nbsp;</p>

<p> &nbsp; &nbsp;</p>

<p><b>环境传感器</b></p>

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

<p> &nbsp; &nbsp;</p>

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

<p> &nbsp;</p>

<p><b>声光电路</b></p>

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

<p> &nbsp; &nbsp;</p>

<p>&nbsp;</p>

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

<p> &nbsp;</p>

<p> &nbsp;</p>

<p> &nbsp;</p>

<p> &nbsp;</p>

<p>&nbsp;</p>

<p><b>四、作品源码</b></p>

<p>源码地址<a href="https://download.eeworld.com.cn/detail/qwert1213131/634833" target="_blank"><u>download.eeworld.com.cn/detail/qwert1213131/634833</u></a></p>

<div></div>

<p> &nbsp;</p>

<p>&nbsp;</p>

<div>3D打印文件</div>

<p>&nbsp;</p>

<p> &nbsp;</p>

<div>电路硬件文件</div>

<p> &nbsp;</p>

<p><b>五、</b><b>作品功能演示视频</b></p>

<p><a href="https://training.eeworld.com.cn/video/41485"><u>2024digikey多功能旋钮-2024digikey多功能旋钮-EEWORLD大学堂</u></a></p>

<p><iframe allowfullscreen="true" frameborder="0" height="450" src="https://training.eeworld.com.cn/shareOpenCourseAPI?isauto=true&amp;lessonid=41485" style="background:#eee;margin-bottom:10px;" width="700"></iframe><br />
&nbsp;</p>

<p><b>六、项目总结</b></p>

<p>首先很感谢得捷和eeworld组织的这次活动,让我有机会参与,并感受到各个开发板的魅力。</p>

<p>项目基本实现了最初的目标,其中的app框架还能实现更多有趣的功能。Python语言的方便,是毋庸置疑的,CircuitPython更是对嵌入式硬件的开发提供了诸多便利。NRF52840有着很强大丰富的外设,远不只本项目所展示的这些内容。CircuitPython也提供了强大的底层支持,通过相关库的定义,很容易实现想要的功能。后期再利用协处理器esp32的wifi,可实现更多物联网项目,argon套件的可玩性还是非常高的。</p>

<p>第一次尝试设计显示旋钮,从外观到结构以及屏幕编码器的选型,经历了多次改版,才终于有了现在的模样。</p>

<p>磁吸式的设计还是比较方便的,降低线缆的杂乱以及误操作性。</p>

<p>目前的设计由于只是原型搭建,因此使用现成的开发套件是最快的方式,这些套件提供了丰富的接口和资料,方便进行设计,降低由于个人焊接水平差异而造成的时间损失。</p>

<p>贴子分享汇总:</p>

<p><a href="https://bbs.eeworld.com.cn/thread-1290193-1-1.html"><u>【2024 DigiKey 创意大赛】1、物料开箱帖 - DigiKey得捷技术专区 - 电子工程世界-论坛</u></a></p>

<p><a href="https://bbs.eeworld.com.cn/thread-1290550-1-1.html"><u>【2024 DigiKey 创意大赛】2、主控板烧录 - DigiKey得捷技术专区 - 电子工程世界-论坛</u></a></p>

<p><a href="https://bbs.eeworld.com.cn/thread-1290940-1-1.html"><u>【2024 DigiKey 创意大赛】3、PCB 打样 - DigiKey得捷技术专区 - 电子工程世界-论坛</u></a></p>

<p><a href="https://bbs.eeworld.com.cn/thread-1292185-1-1.html"><u>【2024 DigiKey 创意大赛】4、PCB物料到货焊接组装 - DigiKey得捷技术专区 - 电子工程世界-论坛</u></a></p>

<p>&nbsp;</p>

<p><b>七、其他</b></p>

<div>文档</div>

<div>&nbsp;</div>

<p>&nbsp;</p>

jd3096 发表于 2024-10-30 14:24

<p></p>


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

qwert1213131 发表于 2024-10-30 15:24

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

<p>好主意啊,lvgl的ui工具也还是很棒的</p>
页: [1]
查看完整版本: 【2024 DigiKey 创意大赛】基于NRF52840的低功耗可扩展编程旋钮