micro:bit实践操作任务单(下)
说在前面
此任务单是“2.4 传感与控制”的新课内容,也是“室内环境实时监测系统”项目实践的前置内容。先花两节课时间,通过几个简单的实践任务让学生体验micro:bit硬件编程的过程,初步掌握使用计算机编写程序控制micro:bit等智能终端的基本方法,以便为后面的“室内环境实时监测系统”项目打下坚实基础。
任务单总共包括4个案例共8个子任务,教师可根据学生实际,提供不同程度的半成品代码,讲练结合,力争在项目实践中渗透学科核心素养,整合知识与技能的学习。


实践内容: 1 、给 micro:bit 编写程序。 程序要求:当串口接收到“ H ” 时,显示 “ 高兴 ” 表情;接收到 “ S ” 时,显示 “ 难过 ” 表情。 实践步骤 : a. 打开BXY编辑器,输入如下代码,检查语法后,烧录到 micro:bit 板。
from microbit import *while True:if uart.any():incoming=str(uart.readall(),"UTF-8")incoming=incoming.strip("\n")if incoming=="H":display.show(Image.HAPPY)print("I am happy")elif incoming=="S":display.show(Image.SAD)print("I am sad")else:print("err")
b.通过串口调试micro:bit。单击“串口”按键,打开串口调试窗口进行调试,分别输入“H”和“S”,及其它任意字符,观察LED阵列和串口监视器的显示 结果。
2 、通过串口,用 Python 程序控制 micro:bit 的 LED 阵列。 关闭 BXY 编辑器 ,打开 IDLE 编辑器,编写代码如下:
import serialser=serial.Serial()ser.baudrate=115200ser.port="COM3" #串口号以实际值为准ser.open()
运行上述代码,在IDLE交互窗口中分别输入:
3 、用 Python 编写程序,实现更多功能。 ( 1 )实现 LED 阵列有规律地切换表情。 如:实现每隔一秒钟切换一次 micro:bit 的屏幕表情。 代码如下:
运行代码,观察 LED 阵列显示结果。 另:在循环体的最后加上两句代码:import serial,timeser=serial.Serial()ser.baudrate=115200ser.port="COM3"ser.open()while True:time.sleep(2)ser.write("H".encode())time.sleep(1)ser.write("S".encode())
再次运行代码,观察 LED 阵列显示结果,同时观察 IDLE 交互窗口显示情况。line=ser.readline()print(line.strip().decode())
( 2 )实现在 IDLE 交互窗口中,输入字符和 micro:bit 交互,并实时显示反馈信息。 代码如下:
运行代码,在IDLE交互窗口,分别输入“H”和“S”,或其它任意字符,观察LED阵列和IDLE交互窗口的显示结果。import serial,timeser=serial.Serial()ser.baudrate=115200ser.port="COM3"ser.open()while True:name=input()ser.write(name.encode())line=ser.readline()print(line.strip().decode())
总结:
除了必要的硬件设备,本项目实践还需要下载BXY_Python_Editor软件,并在Python中安装pyserial模块。为方便学生体验和节省上课时间,教师可预先安装好相关模块,并把源代码发送给学生,这样学生就可以直接运行程序了。
本任务单中四个案例由浅入深,难度逐次递增。教师可以先演示并介绍相关知识点,然后给予学生足够的时间去运行程序,体验硬件编程的完整过程,并根据自己的需要简单修改程序功能。
需要本文word文档、源代码和课后思考答案的,可以加入 “Python算法之旅”知识星球 参与讨论和下载文件, “Python算法之旅”知识星球 汇集了数量众多的同好,更多有趣的话题在这里讨论,更多有用的资料在这里分享。
我们专注Python算法,感兴趣就一起来!
相关优秀文章:
评论
