B7:E教中国·STEAM课程 上一版 下一版

《江苏科技报·教育周刊》(双周刊,国内统一刊号CN32-0019),是江苏省唯一以社会立场透析当代中国教育的报纸。秉承“科技推动教育,教育改变人生”的理念,《江苏科技报·教育周刊》一直注意保持与教育前沿工作的密切联系,定位于教育宏观研究,兼顾微观探讨,注重教育文化生态的构建与引导,时刻关注鲜活的教育实态,着眼于教育文化的深层构建,努力赋予教育以深厚的文化内涵,致力打造中国最好的教育媒体。

国内统一刊号:CN32—0019
编辑部地址:江苏省南京市鼓楼区中山路55号新华大厦48楼

第340期 总第5526期 2017年12月12日 星期二
返回首页
作者 内容  上一期  当前第340期  下一期
基于STEAM理念的Micropython编程设计——炫彩的脉动
来源:本站原创 作者:主讲人:居晓波 发布日期:2017-12-12 16:38:41

作者简介:居晓波 上海市储能中学计算机高级教师,华东师范大学教育硕士。著书出版STEAM可视化编程思维系列教材,领衔多项创新教育科学研究项目,在教学、教科研、研究论文领域获奖众多。


学习背景


学生通过基于项目的跨学科STEAM编程活动,将科学探究和工程设计在实践中进行深度融合,学习科学研究的方法,发展综合运用知识的能力,从而形成良好的探索品格。Micropython在线编程平台可以结合Micro:bit硬件实现创新创造,有益于激发兴趣,创作有现实意义与价值的智造作品。


学习目标
 

1.体验STEAM科学探究和工程设计流程;2.使用Micropython编制脚本呈现炫彩的脉动;3.探究心率的测量机制与原理;4.了解和应用Micro:bit、心率传感器等;5.通过软件编程与外接硬件设备相结合的跨学科STEAM编程活动,增强解决真实问题的实践能力。


学习工具


Micro:bit及相关配件、心率传感器、彩虹灯带、Micropython在线编程平台。


活动过程


一、提出问题


人们心脏跳动的过程中皮下毛细血管内的血氧量会发生相应的变化,我们能否制作一个装置,使之伴随着心跳的节奏和律动,呈现出炫彩的脉动呢?


二、探究分析
 

主题:探究心率并体验测量心率的过程。(如图1)


图1 测量心率APP参考图示


按以下过程进行学习:


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


三、设计实施
 

1.材料、工具准备。
 

Micro:bit主控板(如图2);心率传感器(如图3);彩虹灯带(如图4);Micro:bit扩展板(如图5);数据连接线;Micropython在线编程平台。


技术加油站
 

Micro:bit是一款ARM架构的单片机,包括板载蓝牙,加速度计,电子罗盘,三个按钮,5×5LED点阵(如图2)。


心率传感器只有拇指大小,可以检测人的心率变化,采用PPG光电容积脉搏波描记法

(PhotoPlethysmoGraphy)测量心率,即插即用,通过检测皮下毛细血管内的血氧变化量来检测对应的人体心率。心率传感器配有两个安装孔,可以佩戴于手指、手腕、耳垂等,可与皮肤直接进行接触。


手指放在心率传感器上,将心率传感器的开关切换至A(模拟输入模式),可以通过判断P0引脚的模拟值来模拟心率。心脏跳动的过程中脉冲值不同,我们可以将脉冲值映射在亮灯的数目和颜色上:脉冲较低时颜色更接近红色,亮灯数量较少;脉冲较高时颜色更接近绿色,亮灯数量较多。编程过程中,通过调用P0引脚值可以读取心率数据,并映射在彩虹灯带亮灯的数目和颜色上,从而实现随着心跳的节奏灯带动态地发出炫彩,数据传输流向如图6所示。


  图6 数据传输流向
 

2.硬件连接。
 

将Micro:bit主控板通过金手指插槽与扩展板相连接,心率传感器与Micro:bit扩展板的P0号引脚相连接,彩虹灯带与Micro:bit扩展板的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与电脑的数据线,由充电宝供电。


四、交流拓展


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

           

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


教学反思
 

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

发表评论
评论标题:
评论内容:
(500字符)
验证码: 看不清楚,请点击我
    
本网站所有内容属《江苏科技报·教育周刊》所有,未经许可不得转载
编辑部地址:江苏省南京市鼓楼区中山路55号新华大厦48楼
ICP备案编号:ICP备案编号:苏ICP备05076602号