資訊內容
第14課 守護精靈——控制邏輯
第14課 報警器
任務導航
報警器已應用于社會生活中的方方面面,我們總是說“安全第一”,今天就請同學們來為Scratch的小主人設計并制作一款家用報警器吧,見圖14.1。
圖14.1 報警器界面
任務分析
現在就從最簡單的報警器開始入手,你希望這個報警器具有什么樣的功能呢?假如把小貓家的大門被入侵作為報警標志,那么可以用鍵盤上的一個按鍵如“a”被按下來表示大門被入侵,用小貓說出“報警”來表示執行報警的動作,如圖14.2所示。
圖14.2簡單報警器界面 |
Follow Me
1. 制作簡單報警器
(1)簡單報警器的功能
簡單報警器的功能如表14.1所示。
表14.1 簡單報警器的功能
功能 | |
1 | 大門被入侵時,按下“a”鍵,小貓說“報警” |
(2)設計界面并編寫程序
第1步:新建Scratch程序,保存文件到指定位置,文件名為“簡單報警器”。
第2步:選擇“角色1”,添加腳本,如圖14.3所示。
圖14.3 簡單報警器角色1腳本 |
DIY
如果增加報警器的功能如下表14.2所示,你可以如何完善程序呢?
表14.2 簡單報警器的新增功能
功能 | |
1 | 窗戶被入侵時,按下“b”鍵,小貓說“報警” |
2 | 客廳門被入侵時,按下“c”鍵,小貓說“報警” |
2. 制作具有總開關的報警器
如果你當時在家,不需要啟動報警器,這樣就需要有一個總開關,用來在不需要報警的時候關閉報警器。當增加報警器功能后,用按鍵“b”被按下表示窗戶被入侵,用“c”被按下表示客廳門被入侵……于是,小貓認為應該有個總開關來控制報警器則更方便。其新增功能如表14.3所示。
表14.3 具有總開關的報警器的新增功能
功能 | |
1 | 單擊“角色1”控制報警器的開和關 |
可以使用角色1的兩個造型,分別表示“報警器開”和“報警器關”,并通過角色1的造型編號來控制是否識別按鍵被按下,從而控制報警器的開與關。
(1)設計造型
設置角色1的兩個造型,如圖14.4所示。
|
圖14.4 角色1的兩個造型 |
(2)編寫代碼
按照圖14.5中所示的代碼,為“角色1”添加腳本。
|
圖14.5 有總開關的報警器腳本 |
想一想
家用報警器還可以增加什么功能呢?你可以在程序中如何實現呢?
(3)記錄報警時間
為了便于報警后迅速破案,需要記錄報警的時間和出警地點。報警器已經能夠識別多處險情的報警了,小貓還希望報警器能記錄下是何處報警,并記錄下各處的報警時間,其功能如表14.3所示。
表14.3 報警器新增功能
功能 | |
1 | 記錄下是何處報警 |
2 | 記錄下報警的時間 |
可以為報警器添加“大門”、“窗戶”和“客廳門”等角色,并為這些角色設置只適用于這個角色的“鏈表”,將何處報警的信息記錄在鏈表中。為報警器添加“計時器”,便可將報警時間記錄下來。
第1步:報警器增加角色“窗戶”、“客廳門”和“大門”,并將其擺放到舞臺上的合適位置。
第2步:添加“計時器”。
第3步:分別為這三個角色添加只適用于這個角色的鏈表“報警時間”。
第4步:為角色“窗戶”添加腳本,如圖14.6所示。
第5步:完善角色1腳本,如圖14.7所示。
圖14.6 角色“窗戶”的腳本 | 圖14.7“角色1”的腳本 |
DIY
參考角色“窗戶”的腳本設計,完成“客廳門”和“大門”的腳本。
知識著陸
代碼:如果……就重復執行
設計:總開關的設計
創作天地
- 若要在重新打開報警器的時候,“計時器”歸零的同時,也能將鏈表清空,該如何修改程序呢?
- 請設計并制作一個用水超標報警器。
- 請設計并制作一個智能家居,使其具有控制窗簾開關、控制燈的開關或控制空調溫度等功能。
- 除了使用角色1的造型編號的方法設計總開關,還有沒有其他的方法。
視野拓展
在優酷視頻中搜索“感測與控制技術改裝鍵盤”,你會看到一個視頻介紹如何把鍵盤拆掉,將每個鍵引出到家里的各個地方,這樣你就可以制作一個真實的報警器了。如果你不想拆鍵盤你可以搜索makeymakey、酷樂宅或者Stargazer,他們都提供了建議的帶有引出功能的usb鍵盤,這樣你就可以制作一個真實的報警器,如果你使用Stargazer,甚至還可以制作一個報警燈或者出警后讓電腦發一個短信給你,技術正在改變每一個人的生活,我們正在努力參與其中,改進技術,而不是僅僅的消費技術。
