micro:bit实践操作任务单(下)
Python算法之旅
共 3452字,需浏览 7分钟
·
2024-04-11 07:22
说在前面
此任务单是“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阵列和串口监视器的显示 结果。
import serial
ser=serial.Serial()
ser.baudrate=115200
ser.port="COM3" #串口号以实际值为准ser.open()
运行上述代码,在IDLE交互窗口中分别输入:
运行代码,观察 LED 阵列显示结果。 另:在循环体的最后加上两句代码:import serial,time
ser=serial.Serial()
ser.baudrate=115200
ser.port="COM3"
ser.open()
while True:
time.sleep(2)
ser.write("H".encode())
time.sleep(1)
ser.write("S".encode())
再次运行代码,观察 LED 阵列显示结果,同时观察 IDLE 交互窗口显示情况。 ( 2 )实现在 IDLE 交互窗口中,输入字符和 micro:bit 交互,并实时显示反馈信息。 代码如下:line=ser.readline()
print(line.strip().decode())
运行代码,在IDLE交互窗口,分别输入“H”和“S”,或其它任意字符,观察LED阵列和IDLE交互窗口的显示结果。 总结:import serial,time
ser=serial.Serial()
ser.baudrate=115200
ser.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算法,感兴趣就一起来!
相关优秀文章:
评论