
章明干 浙江省临海市大洋小学教育技术中心主任,临海市优秀教师,临海市小学信息技术学科带头人,临海市教学能手。全国青少年创意编程与智能设计大赛优秀指导教师,全国中小学机器人教学暨创客教育展评活动优秀指导教师。辅导学生参加全国中小学电脑制作活动,7人分别获全国一、二、三等奖,有近30篇文章发表在《无线电》《爱上机器人》等杂志。
教学背景
很多人常因遗忘没有按时服药,尤其是老年人。人们通常的做法是把药品放在显眼的地方,或者由家人打电话提醒等。但这些方式难免会有疏漏,本项目带领学生设计制作了一个智能药盒,利用RGB灯环中小灯亮的颜色、颗数和显示屏的显示信息等告诉病人各种药品服药的时间及剂量,并设置了闹钟功能提醒病人按时服药,还连接了Blynk物联网平台,家属可以通过手机端Blynk App来了解病人服药的情况。
教学目标
知识与技能 了解RGB灯环、模拟角度传感器的工作原理,学会利用Mind+编程软件编写程序控制RGB灯环和模拟角度传感器,学会Blynk App与掌控板的互通互联。
过程与方法 以小组合作的方式,运用学过的相关知识和技能,开展智能药盒项目的学习与探究。
情感态度与价值观 通过项目制作,感受开源硬件给学习和生活带来的巨大影响,了解开源硬件相关技术的深刻意义,培养学生的创新精神。
教学重点与难点
教学重点 利用Mind+软件编写程序来控制RGB灯环、模拟角度传感器,学会Blynk App与掌控板的互通互联。
教学难点 程序编写过程中的逻辑关系及Blynk App中智能药盒项目的搭建。
教学准备
掌控板1块、百灵鸽扩展板1块、8位WS2812 5050 RGB灯环3个、模拟角度传感器2个,杜邦线、椴木板切割部件等若干。
教学过程
一、课程导入
师:很多人常因工作、学习、家务等事务繁忙而忘记按时服药,特别是记性不好的老年人,常常忘了吃药。平常我们能以怎样的方式来提醒他们按时按量服药?作为一名小创客,同学们能不能设计一个服药提醒器,提醒他们服药的时间及服药的剂量呢?大家讨论一下怎样设计制作服药提醒器。
学生思考并讨论交流。
二、组装结构
对小学生来说,设计智能药盒的外观结构部分比较困难,所以本项目教师可以给学生提供设计且切割好的结构件,让学生通过动手组装结构件培养动手能力,并进一步理解智能药盒的工作原理。
在组装这一环节,教师要先出示一些注意事项让学生学习,比如热熔胶枪和502胶水的使用要求,RGB灯环及模拟角度传感器安装的注意事项,等等。然后再提供事先准备好的组装步骤和线路连接说明文件,让学生根据说明文件来自行组装。智能药盒的最终成品图如图1。

三、程序编写
首先需要编写初始化程序,实现建立网络连接、连接Blynk服务器、设置RGB灯环等功能,如图2。
智能药盒开机时要进行服药情况设置,涉及服药剂量及服药时间。它们是由两个模拟角度传感器来设置的,可以通过获取模拟角度传感器的值来设置相应变量“药数量”“药饭”的值。变量“药数量”的值表示单次服药的剂量,变量“药饭”的值为“0”表示该药需要在饭前吃,为“1”表示该药需要在饭后吃。

编写程序,实现按B按键2秒以上进入设置界面。先进行变量的初始化,再运行函数“设置”,函数“设置”程序的作用是设置各种药物的服药剂量、时间、次数以及闹钟定时提醒,并把相应的数据传到Blynk服务器。
然后编写程序读取P1引脚上模拟角度传感器的值,让屏幕显示服药信息、闹钟设置情况,以及关闭屏幕。显示服药信息程序中可调用函数“药1”“药2”“药3”的程序,函数“药1”“药2”“药3”的程序基本相同。此处以函数“药1”程序为例,主要是将“设置”过程中“药1”的服药剂量、时间、次数的值在显示屏相应位置显示出来,并点亮RGB灯环,灯环中小灯亮几颗表示“药1”需要吃几粒。如果需要饭前吃小灯就亮绿色,并从上部往下亮;如果需要饭后吃小灯就亮蓝色,从下部往上亮。其中,“时钟”函数是显示当前时间以及设置好的闹钟定时,具体程序如图3。

当某种药吃了,我们可以通过按掌控板上的触摸键使RGB灯环里的小灯由亮变暗,表示该药已服用,并将相应的信息发送给Blynk服务器。而每天到了5点、9点和15点时,让RGB灯环亮度恢复原样,便于下一时间段查看服药信息。
编写“闹钟”函数程序,通过检测P2引脚上的模拟角度传感器的值来判断闹钟功能是否开启,并把相应的信息发送给Blynk服务器;如果开启了闹钟功能,到指定的时间时,系统自动运行Blynk定时器中的程序。
最后编写程序实现如下功能:如果在手机端的Blynk App中对设置进行了更改,掌控板端需要读取相应的数据。
四、Blynk App设置
首先在手机端Blynk App中登录账号,如果是第一次使用需要先进行注册,然后再输入账号密码进行登录。登录成功后,新建项目,输入并选择相应的内容,完成项目设置。注意:Blynk App端项目的授权码要与程序中的授权码一致。
然后点击添加组件,在组件列表中选择“LED”组件,设置好组件中各项参数,再长按LED组件将其移到相应位置。用同样方法添加一个“Text Input”组件,接着再添加两个“LED”组件和“Text Input”组件,“LED”组件引脚分别为V17、V18。随后添加6个“Numeric Input”组件,组件名称分别为闹钟1、闹钟2……闹钟6,引脚分别为V9至V14,引脚值范围为0至24。再依次添加“Styled Button”组件、“RTC Settings”组件、“Numeric Input”组件、“Text Input”组件、“Styled Button”组件各1个,设置好各组件的参数及位置。第一格服药的相关组件设置就完成啦。
按同样的方法添加好第二格、第三格服务的相关组件,最后效果如图4。

完成手机端Blynk App的组件设置后,我们点击右上角的三角形就可以运行程序了。
五、交流分享
教师邀请各小组学生代表上台演示本组的作品并介绍作品亮点,说一说作品亮点是如何实现的,讲一讲在制作过程中遇到了哪些问题及解决的方法。然后学生投票评选出优秀作品。最后再由教师针对学生的项目制作过程和项目的完成情况进行点评,给出一些指导性意见。
教学反思
“智能药盒”项目创意来源于生活,在一定程度上能解决家里老人忘记服药的问题,通过项目制作让学生学会一些新的知识和技术,特别是学会应用Blynk物联网平台,锻炼了学生综合运用知识的能力。本课制作的智能药盒作品必须连上网络并与Blynk App配合起来才可以使用,如果没有手机或平板,我们可以减去一些功能,做一个不基于网络的智能药盒,这样不但制作难度降低了,而且制作成本也可以降低些。
(本课件由DF创客社区推荐)
