查看: 442|回复: 6

[项目] 掌控板——超级课程表

[复制链接]
本帖最后由 luyi 于 2020-5-30 13:13 编辑

“同桌,下一节什么课?”
“同桌,下一节几点上课?”
“同桌,今天都有什么课?”
“同桌,我喜欢的科学课是星期几上的?”
“同桌,现在几点了?”
“同桌,今天天气怎么样?”
……
身为学生党,是否每天都会有些“二货”问同桌学霸。课程表太难记,不知道明天上什么课?没法复习?
202005291572..png

来了!学生党福音,超级课程表新鲜出炉咯!这款课程表和传统的课程表不一样,它具有四大功能,即网络时钟功能每日课表查询功能课前提醒功能每日天气查询功能。详细功能如下图所示:
202005291044..png
一、功能描述
1)视频演示
2)网络时钟
如下图所示,掌控板程序运行后,默认使用仿数码管显示当前时间,并在OLED显示屏第4行显示当前日期,星期。
202005293246..png
3)课前提醒
如下图所示,每当时间到达上课前5分钟,就是自动进行课前提醒,在OLED显示屏显示下一节课科目,并提醒“做好上课准备”。另外,板载3RGB灯连续交替闪烁红蓝灯光20次,同时播放“滴——滴——”的声音,以提示下一节可上课啦,需要做好准备。
202005293218..png
4)每日课表查询
如下图所示,分别按下掌控板“P”、“Y”、“T”、“H”、“O”触摸按键,可以分别查询星期一——星期五的所有课程。 202005296154..png
5)每日天气查询
如下图所示,当掌控板触摸按键“N”被触摸时,可以调用心知天气API查询天气,显示今日最新天气情况。显示内容有最高温、最低温、白天天气现象、晚间天气现象、风向和风速等6项内容。提醒同学们把握好天气,注意增添衣物。
202005291267..png
二、实现流程图
202005296272..png
三、注册心知天气
1)直接访问心知天气官网(https://www.seniverse.com/signup)注册账号,并通过邮件激活成功。
202005295041..png
2)登陆心知天气平台,在控制台中申请免费版,然后找到自己的私钥,需要填写在mPython程序“心知天气”积木模块中。
202005298476..png
四、程序编写
   1. 掌控板连接WIFI网络、同步网络时间、获取心知天气信息。其中,API私钥输入自己注册成功的心知天气密钥。
202005298309..png
   2. 定义列表timeStart存放每一节课的上课时间。定义列表weekDay存放中文“一、二、三、四、五、六、日”,用于组合“星期*”。
202005299784..png
3. 定义课表列表kebiao,存放一周的课表,列表每一个元素都由一个字典构成。字典都包含了week(星期*)time_s(当天第*节课)content(科目)三个键。下图是录入课表一部分截图。
202005291693..png
4. 定义变量dian,控制“时”和“分”之间的“:”闪烁。todayClass表示当天科目索引。todayClassName用于拼接当天科目,组成当天课表。
202005297323..png
   5. 获取当前时HourNow和分MinuteNow。并且判断“时”和“分”是否小于9,如果小于10,都需要在前面拼接“0”。防止出现类似2:8的情况,应该是02:08,保持时钟为4位。
202005291227..png
   6. 仿数码管显示时钟,并且使用变量dian控制“时”和“分”之间的“:”闪烁。这里尝试了多次,仍然不能达到理想的效果,最终值得使用“:”“.”交替变幻。
202005296096..png

7. 在显示屏第4行显示当前日期和星期数。
202005294671..png
8. 搜索课表列表(kebiao)内存储每一节课的“星期”和“上课时间”,如何和当前星期和时间一致,则RGB灯“红”、“蓝”等交替发光,并且蜂鸣器发出“滴——滴——”的响声,提醒用户。
202005298468..png
9. 判断PYTHO按键是否被触摸,如果被触摸则搜索并显示当天课表。
202005293209..png
10. 当天课表搜索查询、显示代码。
202005295973..png
11. 如果N键被触摸时,调用心知天气数据,显示“当天最高温”、“当天最低温”、“白天天气现象”、“晚上天气现象”、“风向”和“风速”共6项内容。
202005299147..png
五、问题讨论
最后,在使用仿数码管44像素显示时间时,如何使“时”和“分”之间的“:”闪烁?请大神指点。我只能通过交替显示“:”和“.”来表示。如果您有更好的方法,请在下方留言,谢谢您。
----------------------
上述问题已使用区域擦除方式解决,感谢啊琛老师和文杰老师提醒。修改区域如下图
202005306050..png

修正后代码已重新上传



202005305453..png

超级课程表.zip

14.56 KB, 下载次数: 21

超级课程表修正后代码.zip

14.56 KB, 下载次数: 27

rzegkly  版主

发表于 2020-5-31 10:00:11

实用的学习工具
回复

使用道具 举报

luyi  初级技匠
 楼主|

发表于 2020-5-31 21:07:42

rzegkly 发表于 2020-5-31 10:00
实用的学习工具

谢谢啦,我会继续加油的
回复

使用道具 举报

pATAq  版主

发表于 2020-5-31 21:49:08

很棒,以前就想过弄一个这东西,但是课程表还是得手录
回复

使用道具 举报

luyi  初级技匠
 楼主|

发表于 2020-5-31 23:58:25

pATAq 发表于 2020-5-31 21:49
很棒,以前就想过弄一个这东西,但是课程表还是得手录

对,既然联网了,可以通过网络修改课表,下一步有时间会做,谢谢您提醒!
回复

使用道具 举报

rzyzzxw  版主

发表于 2020-6-2 12:49:39

很棒的设计啊。
回复

使用道具 举报

luyi  初级技匠
 楼主|

发表于 2020-6-3 00:07:10

rzyzzxw 发表于 2020-6-2 12:49
很棒的设计啊。

谢谢,下一步可以在线修改课表的,争取加精
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail