怀若谷 发表于 2023-10-7 22:22:13

智能小助手

本帖最后由 怀若谷 于 2023-10-7 22:37 编辑


创作背景进入初中学习后,科目增多,所需的教材及教辅资料相应增加。初中生们通常会根据当天的课程来选择把哪些书放进书包带到学校。然而,初中生一般要早起,有时睡眼朦胧,难免会有记错日子的时候,那书也就带错了。很多孩子是独自去上学的,或乘坐公共交通工具,或自己骑自行车,他们需要对天气更加关注。除了家人的提醒外,小创客们还可以制作一个智能设备来帮助自己。
功能介绍本作品聚焦于初中生的早起时需要关注的几个重要信息,主要设计了三个功能模块:(1)日期时间显示及闹钟功能;(2)显示当日的课程;(3)显示当日的天气。其中后两个功能,采用了拟辉光管方式呈现,也就是通过LED灯照射刻有文字的透明亚克力板实现信息显示。这是本作品的亮点,这样的设计不仅可以省去使用大屏幕显示模块的成本,还具有较强的趣味性,呈现的视觉效果也很炫酷。容纳主控板的盒子,还可以兼做笔筒。
https://www.bilibili.com/video/BV1LN4y1Z7ph/?vd_source=a4f536040db8a6e7c6050fc475e0b8a4↑演示视频↑
硬件清单
1.主控板: 掌控板 1块2.IO扩展板:掌控宝 1块3.显示模块: RGB全彩LED点阵屏
制作过程

一、硬件连接1. 将主控板安装到IO扩展板上。

2. 将RGB点阵屏连接到扩展板的P15引脚(也可连接到其他引脚)。
二、编写程序本项目程序使用mPytho0.7.6软件在硬件编程模式下编写,采用了模块化设计方式,主要分为六个部分:主程序、显示日期时间闹铃子程序、显示课程表子程序、显示天气子程序、灯光控制子程序、闹铃控制子程序。
(一)准备工作编写程序前,需要在【扩展】中添加相关的指令积木模块,它们是:【网络应用】心知天气、【执行器】Neopixel。
要获取心知天气的相关信息,需要到心知天气官网(https://www.seniverse.com)进行注册,申请一个免费的API私钥,在相关程序初始化时需要用到。
(一)主程序主程序主要分为初始化部分和主循环部分。初始化部分,完成连接Wi-Fi网络、同步网络时间、灯带初始化、变量初始化、设定新知天气API参数、初始化时钟等任务。主循环部分,循环执行显示日期时间闹铃、显示课程表、显示天气、闹铃控制四个子程序。


(二)显示日期时间闹铃子程序该子程序功能是在掌控板的屏幕上显示一些时间信息:左半部分显示一个时钟,右半部分分四行显示当前日期和闹铃等信息。

(三)显示课程表子程序该子程序的功能是根据获取到的“星期数”来控制对应RGB灯的开启,以实现对应的亚克力板上的课程信息被呈现出来。RGB点阵屏上的64颗LED灯被划分为16组,编号为0~15。变量“light”用来存储当前应亮起的LED灯组编号。因为显示天气时也需要进行相同的操作,所以定义了一个“灯光控制”子程序,方便共同调用。“灯光控制”子程序,能根据变量“light”的值来控制相应的LED灯组的开启。由于此类灯带具有记忆功能,设置了每隔5分钟进行一次刷新。

(四)显示天气子程序该子程序的功能是根据获取到的天气现象来控制对应RGB灯的开启,以实现对应的亚克力板上的天气信息被呈现出来。其实现原理同显示课程表功能是一样的。下面的示例程序展示了少数几种天气现象,实际制作时可以根据当地常见的天气现象来设计。



(五)闹铃控制子程序该子程序的功能是侦测当前时间是否与设定的闹铃时间相同,如果相同则响起铃声,会持续一分钟。




三、结构设计
本作品使用激光切割技术来制作结构和造型,图纸绘制使用了LaserMaker软件。主要结构可分为底座、左边和右边三部分,除了用于雕刻课程和天气信息的亚克力板外,其他部分均使用3毫米椴木板材料。图纸中采用了三种加工工艺:黑色线为切割,橙色线为描线,红色线为浅雕。
四、加工制件图纸绘制好后,传输至激光切割机,进行切割加工。

五、组装成型1.组装RGB点阵屏的底板
2. 嵌入RGB点阵屏

3.装上RGB点阵屏固定板

4.装上两块透光板

5.再装上一块固定板

6.插入两块亚克力件(左为课程,右为天气)

7. 插上一个M型固定件

8.依次插上所有的板件

9.拼装笔筒盒体(顶板暂不装)

10.装上主控板,使用三个螺栓固定

11.将RGB点阵屏的数据线穿过预留孔连接到扩展板上

12.装上笔筒的顶板

13.拼装底座

14.将上面装好的两个部分放进底座中


六、调试优化安装完成后,打开扩展板上的电源开关,对各个预设功能进行逐项测试。及时记录发现的问题,分析其原因,通过修改程序、修改图纸等方式来改进优化,以达到比较理想的效果。测试闹钟功能时,可以设置比当前时间晚几分钟的时间,这样可以更快地完成测试工作。

拓展建议掌控板的功能很强大,自带的传感器也不少。在制作本作品时,聚焦于几个主要功能,并没有充分发挥掌控板的潜能。如小创客们想动手制作这个作品,我建议进行一些拓展。比如增加数字按钮(或者使用姿态侦测),来实现闹钟时间的灵活设置,而不是靠编程修改参数来实现;还可以增加光控、声控功能,甚至利用物联网技术进行远程控制。造型上也可以进行创新设计,如果使用线性排列的灯带,亚克力板之间就不会出现遮挡,文字呈现效果就更好。
static/image/hrline/1.gif
本项目的源程序及图纸可在附件中下载





Amos Young 发表于 2023-10-10 17:15:25

非常实用,好创意

_深蓝_ 发表于 2023-10-16 16:45:55

非常实用,好创意666

_深蓝_ 发表于 2023-10-16 17:20:50

非常实用,好创意

gray6666 发表于 2023-10-19 07:39:51

切割用的亚克力板材是3MM吗?

怀若谷 发表于 2023-10-20 07:54:52

gray6666 发表于 2023-10-19 07:39
切割用的亚克力板材是3MM吗?

是的,葛老师

曾剑波 发表于 2023-10-20 11:57:30

不错!值得学习

腿毛利小五郎 发表于 2023-10-25 00:05:38

非常实用,好创意

达拉斯 发表于 2023-10-26 13:17:58

66666666666

网络白丁 发表于 2023-11-1 14:18:46

学习了

夜雨声灬烦 发表于 2023-11-9 09:01:29

太好了 学习!
页: [1]
查看完整版本: 智能小助手