孫秀娟,張 姍,王傳江,衛永琴
(山東科技大學電氣與自動化工程學院,山東青島 266590)
在新工科建設的時代背景下,各地本科院校工程對專業的人才培養提出了新的觀點和要求,強調提高學生的創新意識與實踐動手能力[1-4]。
本實驗項目的構思即來源于新工科建設背景下的日常教育教學問題。教學中最重要、最值得思考的問題就是如何提高教學質量?如何更好地培養創新型人才?尤其是對于實踐性和理論性都很強的專業課,如單片機、微機原理、DSP(數字信號處理)、FPGA(現場可編程門陣列)、ARM(高級RISC微處理器)等嵌入式系統類課程來說,優秀實驗項目的設計對教學水平和教學質量的提高起著極大的促進作用。因此,如何巧妙精細地設計一個實驗項目,使得它既具有知識的系統性和綜合性,又能激發學生的主動性、創新性,并且難易程度適中,可以適合不同層次的學生進行學習,是教學設計中要考慮的關鍵性問題[5]。基于此,設計了數字光立方實驗項目并應用于教學。實踐證明,該實驗項目符合以上的幾項要求,深受學生歡迎。
光立方顯示打破了以往傳統的平面顯示設計方案,它既可以類似發光二極管點陣展示平面的靜/動態圖像和畫面,還可以展示立體的靜/動態圖像和畫面,視覺效果強烈,顯示呈現豐富多彩、美輪美奐,可廣泛用于傳媒信息、各種裝飾顯示、娛樂、心情表達等,生動有趣,實用性強。
本實驗是一個來源于日常生活、趣味性較強的工程應用實例。光立方功能強大、樣式絢麗,其酷炫、過程連貫、節奏感強的圖形樣式,具有極強的趣味性和感染力,容易吸引觀賞者的眼光,強化設計者的成就感,促進設計者克服困難完成實驗。光立方的技術設計并不算很復雜,但也不算容易,難易程度適中,創新性強,是合適的實驗項目。
為使項目能適合不同學習層次的學生,實現因材施教,在實驗任務設計上,采用了層次設計法。以基礎知識為支撐點,由淺入深,循序漸進,層層深入,難度逐級加大[6]。
項目基本要求是以光立方體為控制對象,設計制作一個具有多種造型和圖案、能進行三維立體顯示的光立方系統。任務設計上分為基礎層和進階層,結構如圖1 所示。

圖1 光立方的層次化實驗任務
基礎部分以4 階光立方系統設計為主,按點、線、面、體的實現從最簡單到逐漸深入,只需實現兩種或兩種以上的顯示效果即可,這是絕大多數學生能完成的實驗;對于進階層的任務,學生可以按照自身的學習水平進行模塊選做。因此,該實驗項目既可以讓多數掌握了基礎知識的學生完成,也可以讓部分優秀的學生發揮特長,鍛煉創新能力。此外,層次化的任務模塊設計也方便任課教師靈活選擇實驗內容和教學學時,滿足電子工藝實訓課程或單片機等嵌入式系統類課程的基礎實驗、創新性實驗、課程設計,甚至畢業設計等的課題選擇[7],具有較好的普遍性和適用性。
圖2 所示是光立方系統的硬件系統結構框圖,系統設計中至少需要主控模塊和光立方模塊,其他為輔助模塊。

圖2 光立方硬件系統結構框圖
圖3 所示是光立方系統的實現方案圖。

圖3 光立方系統的實現方案
主控模塊中可供選擇的主控芯片有多種,如單片機、ARM、DSP、FPGA、Arduino等[8-12]。因此,根據主控模塊的選擇,本實驗可用做相關課程的綜合性/創新性實驗項目。以下描述以單片機課程為例。
2.2.1 單片機選擇
引導學生了解目前各種主流單片機的特點,選擇適合實驗的具體的單片機型號,如8951、AT89C51、C8051F、STC89C52RC等。
2.2.2 方案設計
按主控芯片系統設計的方法,對其他各個模塊進行方案設計。
(1)光立方模塊設計原理。從規模上看,光立方可設計成簡單的3 階、4 階或復雜的8 階、16 階等,顯示呈現如圖4 所示。各階光立方顯示器的基本結構原理相同,如圖5 所示。組成光立方的LED 也有單基色、雙基色、全彩色之分,當然色彩越多控制越復雜,顯示也會更加夢幻和絢麗;根據使用場合不同,又可選擇室內屏或室外屏。

圖4 不同規模光立方示意圖

圖5 4階光立方的立體和平面圖
(2)驅動模塊。按光立方的顯示原理,驅動模塊可分別設計行驅動和列驅動,有多種帶有驅動或鎖存功能的芯片可供選擇,如串入并出芯片74LS164、邊沿觸發的D 型觸發器74HC574/573、ULN2803 達林頓管、5 V固體繼電器等。
(3)電源模塊。電源部分也有多種設計選擇,如普通干電池;鋰電池;由三端集成穩壓器LM7805 組成的電源電路供電;5 V 集成穩壓電源;USB 口供電、太陽能供電等。
(4)鍵盤模塊。鍵盤的設計通常有獨立式、編碼式、行列式、二維直讀式、無線遙控鍵盤等。
(5)擴展模塊。系統可擴展各種感應模塊,如添加一個光敏電阻模塊,進而識別環境光照,使光立方能夠自動調節亮度;增加音樂播放功能,實現根據音樂的律動來改變圖形跳躍節奏;增加觸摸屏模塊,通過觸摸感應控制光立方圖形變化;增加上位機電腦或手機,通過互聯網-藍牙通信功能來實現對光立方顯示器的控制等[13]。這些功能都可以在基本設計的基礎上繼續開發得以實現。
該實現方案圖對各個模塊都提供了設計選擇,使實驗項目具有分層次、可擴展的特點。從最簡單的方案“單片機最小系統+4 階光立方”,到擴展的融合先進技術的多功能復雜光立方方案,均可實行。
三維光立方的顯示,主要是采用動態掃描顯示原理。用較高速度循環的顯示幾幀連續的畫面,只要保證幀速率高于15 幀/s,根據視覺暫留效應,人肉眼看就是一個相對靜止的且較為完整的畫面[14]。以8 階光立方為例,圖6 給出了單層LED燈以動態掃描顯示原理顯示字符“E”每一幀的過程。

圖6 動態掃描顯示原理示意圖
應用程序主要實現了點、線、面、體及兩兩結合組成的各種三維立體圖像的顯示,由于各種不同花樣的圖像都是通過軟件來實現的,軟件的代碼量較大。編程時,一般將各種圖案預先設計計算好,存為數據表的形式,利用圖形數據表加巧妙算法的編程,實現靜態圖形顯示,也可以實現動態、循環、左右移動等花樣功能顯示。動態掃描類型可以分為列掃描和行掃描,選通第n列后,可以查找到對應數據表其中的第n個至n+7 個數據元素,由低至高位順序依次在控制端口處輸出,將各行的數據輸送到對應的鎖存器,利用片選控制鎖存器同步輸出,按序循環選通各列數據來展現所需的畫面,直到把所有的數據全部輸出[15]。顯示完畫面后,才退出顯示程序,等待下一步指令。圖7 所示是軟件設計的主程序和部分子程序流程圖。

圖7 軟件設計程序流程圖
設計三維圖形,需要有新的思路,發現三維立體空間中點、線、面、體的規律所在。在程序中使用循環、參數邏輯、判斷語句等方法,用最少最精煉的語句達到最絕佳的顯示效果,實現操控任意點,可以設計出任何想展示的圖形效果,并且還可以操控LED燈的亮度、顯示速度、反亮顯示和全局顯示等。此部分給學生留有充分的自由發揮空間,可以激發主動性和創造性。
光立方的焊接非常考驗耐性和鍛煉動手能力,特別要注意每一個燈的焊接時間的長短和焊接整齊度的控制,焊接整齊度直接影響整個制作效果。圖8、9 所示為部分學生焊接制作的作品及幾種光立方顯示效果。

圖8 部分學生作品
實驗評價結合過程考核和結果考核,重點考慮以下5 個方面:
(1)實物驗收。光立方功能的完成程度和性能指標是否達標。如:光立方運行穩定,能呈現清晰、流暢、逼真的3D顯示;基本任務和擴展任務的完成情況、完成時間。
(2)實驗質量。電路設計方案的合理性,焊接整齊度、組裝工藝水平;軟件設計的邏輯性、可擴展性及可移置性。
(3)自主創新。光立方體功能構思、電路設計方案的創新性,自主思考能力與獨立實踐能力。

圖9 多種光立方顯示效果
(4)實驗報告。實驗報告書寫的規范性與完整性。
(5)實驗成本。是否能夠充分利用實驗室現有條件,所選材料與元器件選擇是否合理,實驗成本核算等。
數字光立方實驗作為本科生的創新性實驗項目,在教學實踐中取得了良好的教學成果。該項目的考核方式具有直觀性、有效性的優點。除此之外,項目設計還體現了如下特點:
(1)項目呈現的趣味性、實用性。光立方功能強大,樣式絢麗,其酷炫、過程連貫、節奏感強的圖形效果,具有極強的趣味性和感染力,應用場景廣泛,實用性強。因此,使設計者的成就感增強,可促進克服困難完成實驗。
(2)實現方法的多樣性、創新性。系統結構中的各個模塊都有多種實現方式,尤其是3D 圖形圖案的設計及其軟件實現,更能體現創新性、靈活性和多樣性。
項目設計使學生有充分的自主選擇任務與自主發揮空間,實現方法具有探索性,實驗結果也具有多種不確定性。
(4)項目設計的層次性、可擴展性。項目從基本功能到擴展功能,任務和要求上分層次設計,梯度遞進地進行擴展。因此能適用于不同學習水平能力的學生,便于因材施教;也適合不同的教學需求和環節,如單個實驗、綜合創新性實驗、課程設計、畢業設計等。
實踐表明,學生對數字光立方實驗非常感興趣,實驗完成率高,能激發學生的創新意識和潛能。