大数跨境
0
0

【E教中国·STEAM】基于STEAM理念的Micropython编程设计——炫彩的脉动

【E教中国·STEAM】基于STEAM理念的Micropython编程设计——炫彩的脉动 蘑菇云创造
2018-01-16
2
导读:Micropython在线编程平台可以结合Micro:bit硬件实现创新创造,有益于激发兴趣,创作有现实意义与价值的智造作品。

*本文转自:学生周刊


学习背景

学生通过基于项目的跨学科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大数据分析与挖掘、机器学习算法等人工智能相关领域打下坚实的基础。

1

文中参考代码详情

2

炫彩的脉动实施阶段

辅助微视频


作者简介

                                         居晓波


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

(《E教中国》2017年第5526期B7版)



推荐阅读:

蘑菇云新产品闪耀第73届中国教育装备展示会

STEM 2026: 美国STEM教育创新的六大愿景

蘑菇云年度盘点 | 回顾2017年,可用这6个关键词来概括



蘑菇云创客空间,2013年由DFRobot发起,是科技部认定的国家级创客空间

作为DFRobot的子品牌,在公司打造的创客教育生态圈中承担着创客空间方案、教师培训、课程研发、文化传播、项目指引等多项服务性作用。


后台回复【mb】下载micro:bit中文学习资料

回复【书籍】查看创客教育教材推荐

长按二维码关注,

更多精彩内容持续更新中!


↓↓↓ 点击阅读原文,发现更多惊喜!

【声明】内容源于网络
0
0
蘑菇云创造
蘑菇云是DFRobot旗下专注于AI人工智能、创客、STEAM、劳动教育的科技创新教育品牌;以为中国培养下一代科技创新人才为使命,为学校提供k12全龄段科技创新教育解决方案。
内容 969
粉丝 0
蘑菇云创造 蘑菇云是DFRobot旗下专注于AI人工智能、创客、STEAM、劳动教育的科技创新教育品牌;以为中国培养下一代科技创新人才为使命,为学校提供k12全龄段科技创新教育解决方案。
总阅读1.4k
粉丝0
内容969