这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » [Let'sDo第3期]6.测光表总结贴

共1条 1/1 1 跳转至

[Let'sDo第3期]6.测光表总结贴

菜鸟
2024-12-05 14:38:26     打赏

项目总结大会:


开会啦,开会啦。。。花生瓜子西瓜汽水

本项目相关文章

[Let'sDo3]1.DIY一个电子测光表开箱

https://forum.eepw.com.cn/thread/388267/1 

[Let'sDo3]2.按钮信号的获取

https://forum.eepw.com.cn/thread/388268/1 

[Let'sDo3]3.讲解BH1750数字光传感器优点及IIC通信原理

https://forum.eepw.com.cn/thread/388269/1

[Let'sDo3]4.讲解ST7789彩屏的驱动原理,介绍驱动函数

https://forum.eepw.com.cn/thread/388270/1

[Let'sDo3]5.光圈和快门的计算规则

https://forum.eepw.com.cn/thread/388271/1


本次活动最核心的工作之一是人机交互界面的设计。

本项目基于巨佬“海底撩”的smooth_ui_toolkit移植的UI界面。仅以此文,致敬大佬。

2024-12-05_004056.jpg(神马高拍仪,拍出来的全损画质,家人们,能不能退货呀,包装说明书还在的?)

在嵌入式系统图形设计库领域,可谓是百花齐放、百家争鸣。其中,Smooth_ui_toolkit库作为M5STACK公司核心产品图形界面展示的得力助手,正努力在这个竞争激烈的舞台上崭露头角。

 当前,Smooth_ui_toolkit库面临着不小的挑战。像LVGL库,以其易学难精的特性备受业界追捧,在众多图形库中占据着重要地位,这使得Smooth_ui_toolkit库想要脱颖而出、取得一席之地变得异常艰难。事实上,除了库的开发者本人外,能够精通使用该库进行开发的人员少之又少,这在很大程度上限制了其应用范围和影响力的进一步扩大。

然而,Smooth_ui_toolkit库也有着自身独特的优势。其体量非常轻,这对于资源相对有限的嵌入式系统来说,无疑是一大亮点,它能够在不占用过多系统资源的前提下,为设备提供高效的图形界面服务。该库构建于传统图形基础库(如LovyanGFX、TFT_eSPI,甚至LVGL等)之上,这种构建方式使其能够充分汲取这些基础库的优势,并在此基础上进行创新和拓展。更为突出的是,借助动态过程函数,Smooth_ui_toolkit库能够呈现出细节异常丰富的动画效果,为用户带来极具吸引力和沉浸感的交互体验,让人印象深刻。

本项目成功地将Smooth_ui_toolkit库应用于测光表上,这不仅是一次具有实践意义的尝试,更是为后续深入探索和广泛应用该库奠定了坚实的基础。基于此,衷心希望M5STACK公司能够加大在国内推广Smooth_ui_toolkit库的力度,例如举办一些技术交流活动、讲座、发布详尽且易于上手的开发文档和教程、搭建活跃的开发者社区等。通过这些方式,吸引更多开发者投身于该库的学习和使用,从而让更多人认识到它的独特价值,使Smooth_ui_toolkit库真正成为国货之光,在图形设计领域绽放光彩,占据属于自己的重要位置。


 UI设计与功能实现.png

项目中创建一个用户启动器菜单界面,以方便用户操作设备并访问不同的功能应用程序,同时提供直观的视觉反馈和交互体验,通过旋转编码器和按压确认的方式,用户可以轻松地在不同选项之间导航。通过使用缓动函数和精心调节的动画时长,界面过渡显得自然流畅,在用户进行选择和确认操作时,界面提供了动态的视觉反馈,增强了交互的趣味性。功能模块都有独特的主题色,增强了界面的视觉层次感,同时也帮助用户快速识别不同的功能。将不同的应用程序功能封装在`App`类的各个成员函数中(如`_disp_test`、`_brightness`等),并通过`LauncherMenu`类的`_open_app`函数根据用户选择来调用相应功能,实现了功能模块的独立性和可维护性。

其主要包括以下方面:

1. 输入设备驱动:利用`_encoder`对象获取用户通过编码器(可能是旋转编码器或类似设备)的输入,包括旋转方向(用于上下选择菜单选项)和按钮点击操作(用于确认选择或执行操作)。

2. 响应式交互:通过`onReadInput`函数实时监测用户输入,并根据输入做出相应的反应,如更新菜单选项的选中状态、触发动画效果等。  图形界面呈现。

3. 界面布局与设计:在`onRender`函数中精心规划屏幕布局,包括绘制电池电压面板、排列菜单选项卡片,并确保图标、标签等元素的合理展示,以提供清晰、美观的用户界面。

4. 视觉反馈机制:运用颜色、动画等元素为用户操作提供即时的视觉反馈,例如在菜单选项被选中或操作时改变颜色、应用动画效果,增强用户对操作结果的感知。  

图片展示05.png

图片展示8.png

另外:

本次项目一共实现了2个版本的固件和web端蓝牙控制和小程序端蓝牙控制.


固件1:大通过eps32 的i2c接口获取BH1750FVI 光强的lux值,分别实现摄影中的3种曝光模式,并可以通过微信小程序和web端蓝牙控制对应的光圈,快门,拍照.

蓝牙控制界面.png

固件1和固件2核心功能差别不

小程序端蓝牙控制:

web端蓝牙控制(可以在安卓浏览器上使用)

image.png

使用说明:

固件2 增加了对开发板大部分能力提供了一个展示。

  1. 屏幕绘图测试

  2. BH1750FVI 单独测试

  3. 所有按键测试

  4. ws2812通过滚轮进行色彩变化

  5. 优化蓝牙只有在进入测光笔菜单的时候进行开启.退出菜单关闭蓝牙

  6. MAX1704X 电源管理相关功能展示

  7. about活动相关信息和鸣谢

源码文件说明:

.
├── BleCamera // 固件1 arduino
├── BleCameraPio // 固件2 platformio
├── README.md
├── Toolbox     // 小程序端蓝牙控制
└── WebBleControl // web端蓝牙控制

下载地址:

Let-sDo3.zip

视频地址: 

https://www.bilibili.com/video/BV12nidYYEAs/

展示视频:

固件1视频:

固件2视频:

   项目得到老师多次鼓励,同学们的点赞,这些都是我完成项目的动力源泉,谢谢大家的关照。

代码实践上有问题,可以和我联系,加强交流。 

   无奈牛马人的搬砖日常,不善于文字表达,烦请多多包涵,但是代码是肯定给力且真诚的。 




关键词: UI     测光表     esp32    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]