*本文转自:学生周刊
学生通过基于项目的跨学科STEAM编程活动,将科学探究和工程设计在实践中进行深度融合,学习科学研究的方法,发展综合运用知识的能力,从而形成良好的探索品格。Micropython在线编程平台可以结合Micro:bit硬件实现创新创造,有益于激发兴趣,创作有现实意义与价值的智造作品。
1.体验STEAM科学探究和工程设计流程;2.使用Micropython编制脚本呈现炫彩的脉动;3.探究心率的测量机制与原理;4.了解和应用Micro:bit、心率传感器等;5.通过软件编程与外接硬件设备相结合的跨学科STEAM编程活动,增强解决真实问题的实践能力。
Micro:bit及相关配件、DFRobot 心率传感器、彩虹灯带、Micropython在线编程平台。
一、提出问题
人们心脏跳动的过程中皮下毛细血管内的血氧量会发生相应的变化,我们能否制作一个装置,使之伴随着心跳的节奏和律动,呈现出炫彩的脉动呢?
二、探究分析
主题:探究心率并体验测量心率的过程。(如图1)

图1 测量心率APP参考图示
按以下过程进行学习:
1.探索:心率、脉搏的定义是什么?2.感知:感知心率和脉搏的方法有哪些?两者之间的关系如何?3.体验:请安装测量心率的手机APP(如图1),体验测量心率的过程。4.描述:使用测量心率的手机APP的方法、过程和实验结果。5.思考:测量心率手机APP的设计原理和科学依据是什么?

三、设计实施
1.材料、工具准备。
Micro:bit主控板(如图2);DFRobot 心率传感器(如图3);彩虹灯带(如图4);Micro:bit Boson 扩展板(如图5);数据连接线;Micropython在线编程平台。

图2

图3

图4

图5
技术加油站
Micro:bit是一款ARM架构的单片机,包括板载蓝牙,加速度计,电子罗盘,三个按钮,5×5LED点阵(如图2)。
心率传感器只有拇指大小,可以检测人的心率变化,采用PPG光电容积脉搏波描记法(PhotoPlethysmoGraphy)测量心率,即插即用,通过检测皮下毛细血管内的血氧变化量来检测对应的人体心率。心率传感器配有两个安装孔,可以佩戴于手指、手腕、耳垂等,可与皮肤直接进行接触。
手指放在心率传感器上,将心率传感器的开关切换至A(模拟输入模式),可以通过判断P0引脚的模拟值来模拟心率。心脏跳动的过程中脉冲值不同,我们可以将脉冲值映射在亮灯的数目和颜色上:脉冲较低时颜色更接近红色,亮灯数量较少;脉冲较高时颜色更接近绿色,亮灯数量较多。编程过程中,通过调用P0引脚值可以读取心率数据,并映射在彩虹灯带亮灯的数目和颜色上,从而实现随着心跳的节奏灯带动态地发出炫彩,数据传输流向如图6所示。

图6 数据传输流向
2.硬件连接。
将Micro:bit主控板通过金手指插槽与扩展板相连接,心率传感器与Micro:bit扩展板的P0号引脚相连接,彩虹灯带与Micro:bit Boson 扩展板的P1号引脚相连接,通过USB数据连接线将Micro:bit与电脑相连,连接效果如图7所示。

图7 连接效果图
3.软件编程。
分析程序设计要点:(1)Micro:bit板载灯显示“心”形。(2)灯带亮灯的数量,心率脉冲的强弱决定亮灯数目的多少。(3)灯带的颜色,感测出脉冲较高时灯色接近绿色,反之接近红色。(同学们可以不拘一格地规划程序设计要点)
打开Micropython在线编程平台,网址为:http://python.microbit.org/v/1。界面如图8所示,在代码编辑区编写代码,点击Download,将代码烧录至Micro:bit板上,即可看到实验效果。

图8 Micropython在线编程平台
学生们可以自主编制程序代码,也可参考下列代码:(#后为注释语句,以便于阅读与修改)
from microbit import * #导入microbit库文件
import neopixel #导入灯带库文件
np = neopixel.NeoPixel(pin1, 7) #将7个灯珠的灯带连接在P1口
display.show(Image.HEART) #板载灯显示“心”形
while True:
length = int (pin0.read_analog()/150)
#心率传感器连接到P0口,注意将传感器的开关拨到A侧
#Length是亮灯的数量,由心率脉冲的强弱来决定
#心率脉冲的最大值为1024,而灯带的数量为7
#1024/7约等于150,故两者比例为150∶1
for pixel_id in range(0, 7): #通过for循环分别设定0~6七个小灯的颜色
if pixel_id <= length: #如果序号小于等于Length的灯的颜色
green = length * 36 #灯亮得越多,色彩越偏绿色
red = 255-green #绿色和红色互补,灯亮得越少,色彩越偏红色
……(完整代码请扫描代码详情二维码)
提示:循环结构 分支结构
实验效果(心率脉冲较小时的实验效果如图9所示;心率脉冲较大时的实验效果如图10):VIN引脚(扩展板上的充电口)连接一个充电宝(通过图9右下方白色连接线),上载程序后可以拔出连接Micro:bit与电脑的数据线,由充电宝供电。

图9 心率脉冲较小时

图10 心率脉冲较大时
学生进行展示与交流作品的设计、制作过程与成果,相互给予改进建议,并将收获记录下来。

归纳与反思实验环节的经验和出现的问题,发展新需求,进一步自主设计,改进设计方案。

学生在后续的学习中将进一步探索使用Micropython编程平台,开展基于项目的编程活动,经历发现问题、定义问题、构建假设、测试评估、智造展示等阶段。让学生关注学校、家庭和社区等周遭环境与事物,来处理有现实意义与价值的问题,并为深入探究Python大数据分析与挖掘、机器学习算法等人工智能相关领域打下坚实的基础。

文中参考代码详情

炫彩的脉动实施阶段
辅助微视频
居晓波
上海市储能中学计算机高级教师,华东师范大学教育硕士。著书出版STEAM可视化编程思维系列教材,领衔多项创新教育科学研究项目,在教学、教科研、研究论文领域获奖众多。
(《E教中国》2017年第5526期B7版)
推荐阅读:
蘑
菇
云
蘑菇云创客空间,2013年由DFRobot发起,是科技部认定的国家级创客空间。
作为DFRobot的子品牌,在公司打造的创客教育生态圈中承担着创客空间方案、教师培训、课程研发、文化传播、项目指引等多项服务性作用。
后台回复【mb】下载micro:bit中文学习资料
回复【书籍】查看创客教育教材推荐

长按二维码关注,
更多精彩内容持续更新中!
↓↓↓ 点击阅读原文,发现更多惊喜!

