micro:bit實(shí)踐操作任務(wù)單(下)
說(shuō)在前面
此任務(wù)單是“2.4 傳感與控制”的新課內(nèi)容,也是“室內(nèi)環(huán)境實(shí)時(shí)監(jiān)測(cè)系統(tǒng)”項(xiàng)目實(shí)踐的前置內(nèi)容。先花兩節(jié)課時(shí)間,通過(guò)幾個(gè)簡(jiǎn)單的實(shí)踐任務(wù)讓學(xué)生體驗(yàn)micro:bit硬件編程的過(guò)程,初步掌握使用計(jì)算機(jī)編寫程序控制micro:bit等智能終端的基本方法,以便為后面的“室內(nèi)環(huán)境實(shí)時(shí)監(jiān)測(cè)系統(tǒng)”項(xiàng)目打下堅(jiān)實(shí)基礎(chǔ)。
任務(wù)單總共包括4個(gè)案例共8個(gè)子任務(wù),教師可根據(jù)學(xué)生實(shí)際,提供不同程度的半成品代碼,講練結(jié)合,力爭(zhēng)在項(xiàng)目實(shí)踐中滲透學(xué)科核心素養(yǎng),整合知識(shí)與技能的學(xué)習(xí)。


實(shí)踐內(nèi)容: 1 、給 micro:bit 編寫程序。 程序要求:當(dāng)串口接收到“ H ” 時(shí),顯示 “ 高興 ” 表情;接收到 “ S ” 時(shí),顯示 “ 難過(guò) ” 表情。 實(shí)踐步驟 : a. 打開BXY編輯器,輸入如下代碼,檢查語(yǔ)法后,燒錄到 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.通過(guò)串口調(diào)試micro:bit。單擊“串口”按鍵,打開串口調(diào)試窗口進(jìn)行調(diào)試,分別輸入“H”和“S”,及其它任意字符,觀察LED陣列和串口監(jiān)視器的顯示 結(jié)果。
2 、通過(guò)串口,用 Python 程序控制 micro:bit 的 LED 陣列。 關(guān)閉 BXY 編輯器 ,打開 IDLE 編輯器,編寫代碼如下:
import serialser=serial.Serial()ser.baudrate=115200ser.port="COM3" #串口號(hào)以實(shí)際值為準(zhǔn)ser.open()
運(yùn)行上述代碼,在IDLE交互窗口中分別輸入:
3 、用 Python 編寫程序,實(shí)現(xiàn)更多功能。 ( 1 )實(shí)現(xiàn) LED 陣列有規(guī)律地切換表情。 如:實(shí)現(xiàn)每隔一秒鐘切換一次 micro:bit 的屏幕表情。 代碼如下:
運(yùn)行代碼,觀察 LED 陣列顯示結(jié)果。 另:在循環(huán)體的最后加上兩句代碼: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())
再次運(yùn)行代碼,觀察 LED 陣列顯示結(jié)果,同時(shí)觀察 IDLE 交互窗口顯示情況。line=ser.readline()print(line.strip().decode())
( 2 )實(shí)現(xiàn)在 IDLE 交互窗口中,輸入字符和 micro:bit 交互,并實(shí)時(shí)顯示反饋信息。 代碼如下:
運(yùn)行代碼,在IDLE交互窗口,分別輸入“H”和“S”,或其它任意字符,觀察LED陣列和IDLE交互窗口的顯示結(jié)果。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())
總結(jié):
除了必要的硬件設(shè)備,本項(xiàng)目實(shí)踐還需要下載BXY_Python_Editor軟件,并在Python中安裝pyserial模塊。為方便學(xué)生體驗(yàn)和節(jié)省上課時(shí)間,教師可預(yù)先安裝好相關(guān)模塊,并把源代碼發(fā)送給學(xué)生,這樣學(xué)生就可以直接運(yùn)行程序了。
本任務(wù)單中四個(gè)案例由淺入深,難度逐次遞增。教師可以先演示并介紹相關(guān)知識(shí)點(diǎn),然后給予學(xué)生足夠的時(shí)間去運(yùn)行程序,體驗(yàn)硬件編程的完整過(guò)程,并根據(jù)自己的需要簡(jiǎn)單修改程序功能。
需要本文word文檔、源代碼和課后思考答案的,可以加入 “Python算法之旅”知識(shí)星球 參與討論和下載文件, “Python算法之旅”知識(shí)星球 匯集了數(shù)量眾多的同好,更多有趣的話題在這里討論,更多有用的資料在這里分享。
我們專注Python算法,感興趣就一起來(lái)!
相關(guān)優(yōu)秀文章:
