劉佳
“創(chuàng)客”(Maker)一詞來自西方20世紀(jì)60年代的DIY文化,泛指敢于創(chuàng)新,并通過動(dòng)手實(shí)踐將自己的創(chuàng)意變成現(xiàn)實(shí)產(chǎn)品的人。本文談及的創(chuàng)客作品的設(shè)計(jì)靈感來源于筆者日常生活。夜晚獨(dú)自走路存在一定的安全隱患,部分區(qū)域燈光照明不足,遇到危險(xiǎn)時(shí)手機(jī)報(bào)警不及時(shí),因此筆者設(shè)計(jì)了一款集照明和報(bào)警功能于一體、兼具便攜性和實(shí)用性的產(chǎn)品。作品基于童心制物(Makeblock)自主研發(fā)的主控板童芯派,通過慧編程中的積木塊圖形化編程可以實(shí)現(xiàn)快速編程,將程序上傳到設(shè)備,外接移動(dòng)電源即可實(shí)現(xiàn)便攜移動(dòng)。
● 設(shè)計(jì)思路
顯示功能:屏幕顯示環(huán)境光強(qiáng)度和搖晃強(qiáng)度。
照明功能:當(dāng)環(huán)境光強(qiáng)度低于5并且開啟照明開關(guān),則LED燈全部開啟;當(dāng)環(huán)境光強(qiáng)度高于5或關(guān)閉照明開關(guān)則LED燈全部關(guān)閉。此控制可以保證光照強(qiáng)度強(qiáng)時(shí),即使誤觸開關(guān)也不浪費(fèi)電量;光照強(qiáng)度較低時(shí),可以手動(dòng)控制LED燈開閉,增強(qiáng)人性化,并節(jié)約能源。
報(bào)警功能:當(dāng)面對(duì)危險(xiǎn)時(shí),出于本能可以快速奔跑,當(dāng)產(chǎn)品搖晃強(qiáng)度高于30時(shí)會(huì)發(fā)出“警告”音,若無法迅速奔跑逃生,則可以兩次或多次按搖桿中間,產(chǎn)品會(huì)發(fā)出“警告”音。當(dāng)環(huán)境安全后,可以切斷電源關(guān)閉警報(bào)。采用兩種形式觸發(fā)報(bào)警功能,安全系數(shù)更高。
● 硬件準(zhǔn)備
本產(chǎn)品所需硬件主要包括童芯派主控板、移動(dòng)電源及USB(type-C)連接線。
1.童芯派主控板
童芯派(CyberPi)主控板采用ESP32-WROVER-B芯片(如圖1),物理接口包括USB(type-C)、擴(kuò)展板接口及mBuild電子模塊接口,產(chǎn)品尺寸為84mm×35mm×13mm,僅重36g。配備全彩顯示屏,可實(shí)現(xiàn)人機(jī)交互;1個(gè)Micro USB接口,用于供電和與計(jì)算機(jī)設(shè)備進(jìn)行通信;多個(gè)板載傳感器,如光線傳感器和陀螺儀,能夠輸出多種數(shù)據(jù);5個(gè)LED燈,能夠呈現(xiàn)豐富的燈光效果;支持圖形化編程,適合零基礎(chǔ)編程。
其中:①全彩顯示屏提供顯示功能;②RGB燈帶提供照明功能;③揚(yáng)聲器提供報(bào)警功能;④光線傳感器用于環(huán)境光強(qiáng)度測(cè)量;⑤陀螺儀用于搖晃強(qiáng)度測(cè)量;⑥按鈕A、B及搖桿提供控制功能;⑦USB接口(Type-C)可連接計(jì)算機(jī)設(shè)備實(shí)現(xiàn)編程下載,可連接移動(dòng)電源獲取電源。
2.移動(dòng)電源
移動(dòng)電源為主控板提供電源,實(shí)現(xiàn)產(chǎn)品的便攜性,選取輸出電壓5V、輸出電流2.1A的移動(dòng)電源即可。
3.USB(type-C)連接線
連接主控板和移動(dòng)電源,實(shí)現(xiàn)移動(dòng)供電(如圖2)。
● 情景呈現(xiàn)
當(dāng)使用者攜帶該作品夜間出行時(shí),可以將移動(dòng)電源放在包里或口袋中,手持主控板,也可以將移動(dòng)電源與主控板封裝在一個(gè)亞克力盒子內(nèi)。電源連接后,屏幕顯示當(dāng)前環(huán)境光強(qiáng)度和搖晃強(qiáng)度。行至光線較暗處時(shí),若環(huán)境光強(qiáng)度低于5,可以按動(dòng)按鈕A,此時(shí)LED燈光全部亮起。當(dāng)走到照明條件好的區(qū)域時(shí),LED燈光會(huì)自動(dòng)關(guān)閉,若想提前手動(dòng)關(guān)閉燈光,按動(dòng)按鈕B即可。若發(fā)現(xiàn)有人尾隨存在危險(xiǎn)時(shí),可以邊跑邊搖晃手中的主控板或連續(xù)多次按下?lián)u桿中間,作品會(huì)發(fā)出警報(bào),直到切斷電源。
● 程序原理
本項(xiàng)目采用圖形化編程界面,通過類似積木的編程環(huán)境構(gòu)建互動(dòng)多媒體環(huán)境,實(shí)現(xiàn)產(chǎn)品的編程控制,編程語言如圖3所示。
1.變量
系統(tǒng)可以偵測(cè)“環(huán)境光強(qiáng)度”和“搖晃強(qiáng)度”,在測(cè)試情況下,重復(fù)執(zhí)行顯示這兩個(gè)變量并換行,每測(cè)完一次清空顯示屏。結(jié)合真實(shí)使用情境,“環(huán)境光強(qiáng)度”低于5認(rèn)為光照條件不好,需要開啟照明,而且跑步逃生或搖晃手臂時(shí)“搖晃強(qiáng)度”高于30。
創(chuàng)建變量“照明開關(guān)”實(shí)現(xiàn)環(huán)境光強(qiáng)度低于5的情況下,仍能手動(dòng)控制燈光的開閉。當(dāng)主控板啟動(dòng)時(shí),“照明開關(guān)”的初始量為0,按下按鈕A將“照明開關(guān)”設(shè)為1,再按下按鈕B則將“照明開關(guān)”設(shè)為0,實(shí)現(xiàn)對(duì)該變量的控制。
2.邏輯關(guān)系
所有邏輯量共有與、或、非三種邏輯關(guān)系,本產(chǎn)品編程涉及到與、或兩種邏輯關(guān)系。只有環(huán)境較暗并且照明開關(guān)開啟的情況下,LED燈才會(huì)變量,所以采用“與”邏輯控制產(chǎn)品照明功能。搖晃報(bào)警裝置或者連續(xù)多次按動(dòng)搖桿中間都能實(shí)現(xiàn)報(bào)警,所以采用“或”邏輯控制產(chǎn)品報(bào)警功能。
3.條件判斷
條件判斷包括:重復(fù)執(zhí)行、重復(fù)執(zhí)行直到…、如果…那么…、如果…那么…否則…。該作品編程使用重復(fù)執(zhí)行實(shí)現(xiàn)實(shí)時(shí)測(cè)量環(huán)境光強(qiáng)度及搖晃強(qiáng)度,使用“如果…那么…否則…”實(shí)現(xiàn)照明功能的開閉,使用“如果…那么…”實(shí)現(xiàn)報(bào)警功能的開閉(如上表)。
熟練使用條件判斷使其達(dá)到預(yù)想的效果是創(chuàng)客作品開發(fā)的一個(gè)重點(diǎn),也是實(shí)際教學(xué)中的一個(gè)難點(diǎn),在調(diào)試程序的過程中,應(yīng)注意不要一次性地把程序所有的功能編完再查看執(zhí)行效果,而應(yīng)先實(shí)現(xiàn)基礎(chǔ)功能,再慢慢添加新的功能,添加新功能時(shí),應(yīng)注意測(cè)試該功能是否和已有功能沖突。讓學(xué)生經(jīng)歷困難,加以適當(dāng)?shù)狞c(diǎn)撥,適時(shí)引入新的算法來實(shí)現(xiàn)某些特定效果,這樣才能在教學(xué)中取得比較好的效果。
創(chuàng)客不僅僅是學(xué)習(xí)課本上的知識(shí),而是學(xué)生用自己的發(fā)明創(chuàng)造去解決現(xiàn)實(shí)生活中的問題。軟硬件結(jié)合的創(chuàng)作方式,支持物聯(lián)網(wǎng)及局域網(wǎng)應(yīng)用,可以為學(xué)生創(chuàng)作簡易智能家居設(shè)備提供無限可能。在聯(lián)網(wǎng)模式下,配合更多的傳感器,這個(gè)報(bào)警器可以更加實(shí)用和智能。此外,在今后的教學(xué)中,教師可以將計(jì)算思維融到創(chuàng)客教育中,將日常生活情境融入教學(xué)實(shí)踐,以取得更好的效果。