劉藝 瞿少成 陳堯 萬洪波 曾佳慧



摘要:為了提高小學生編程學習的便捷性和趣味性,設計并實現了一種面向小學生的嵌入式開發平臺。首先,以SOM-RK3399為核心,通過集成語音處理模塊、STM32控制模塊和各種外設等,完成了一種面向小學生的嵌入式開發硬件平臺。其次,搭載支持Scratch軟件的Linux系統,構建了基于語音識別與微機控制的操作環境。最后,基于所設計的嵌入式開發平臺,設計了“語音智能點燈”和“Scratch編程控制風扇”等編程案例。實驗結果表明,平臺性能良好,操作環境簡單,編程案例可擴展性強,有助于小學生的編程學習,具有良好的實用價值。
關鍵詞:嵌入式平臺;硬件設計;STM32;語音處理;小學生編程
中圖分類號:TP368? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)10-0033-04
Abstract: In order to improve the convenience and interest of pupils to learn programming, an embedded development platform for pupils is designed and implemented. First of all, by integrating voice processing module, STM32 control module and various peripherals into SOM-RK3399, an embedded development hardware platform for pupils is designed. Secondly, Linux system that supports Scratch programming is established, and an operating environment based on voice recognition and computer control is constructed. Finally, based on the designed embedded development platform, programming routines such as “Voice Intelligent Lighting” and “Scratch Programming Control Fan” are developed. Experimental results show that this platform has good performance, simple operating environment, and strong scalability of programming cases, which is helpful for pupils' programming learning and has good popularization value.
Key words: embedded platform; hardware design; STM32; speech processing; pupils programming
1 背景
經研究發現,合適的編程教育平臺對小學生的編程學習尤為重要[1]。對小學生編程學習而言,一款操作簡單、性能良好、案例有趣的編程教學平臺,有助于提高學生的編程興趣和動手能力[2]。
目前市面上只針對小學生的編程教學平臺較少。在武漢市新溝橋小學的調研中發現,編程教育設備匱乏,教學條件有限,并不能做到編程課的普及,最重要的是缺少一款合適的編程教育平臺。文獻[3]提出了一種基于PC機的小學生Scratch游戲化編程的教學方案,操作簡單、編程有趣,但缺乏便捷性且不能進行實物的控制。文獻[4]提出了一種積木式數字電路實驗箱,便于實物搭接與控制,但其針對大學生教育,缺乏簡單的操作環境。總體而言,現針對小學生的編程教學平臺存在硬件控制缺失、環境復雜且編程案例固化等[5-8]。
針對上述問題,為了提高小學生編程學習的便捷性和趣味性,設計并實現了一種面向小學生的嵌入式開發平臺。該平臺以SOM-RK3399為核心,集成了語音處理模塊、STM32控制模塊和各外部接口等。系統支持資源豐富、容易操作的Scratch編程軟件,且通過它還可以實現對平臺的硬件控制。基于所構建平臺,還設計了“語音智能開燈”“Scratch控制電扇”等編程案例。該嵌入式開發平臺既滿足了小學生編程學習需求,又激發了小學生編程學習的興趣,且平臺性能良好、操作環境簡單、編程案例可擴展性強,可廣泛應用于各地區的小學生編程教育。
2 總體設計
嵌入式開發平臺的整體設計如圖1所示,它主要包括SOM-RK3399核心板、STM32模塊、語音處理模塊和各種外設模塊。其中RK3399作為主控單元,可基于Linux操作系統,通過Shell編程獲取語音處理模塊的數據或Scratch編程的結果,再將數據通過串口發送至STM32控制模塊,完成相應功能的執行。STM32模塊作為控制單元,通過串口執行主控單元的命令,實現對外部設備的控制。語音處理模塊作為音頻處理單元,不僅可以完成音頻信號的輸入輸出,還支持語音識別和語音合成等功能,通過I2C協議或串口和主控單元通信。各外設接口包括USB3.0、HDMI、JTAG和SD卡槽等,保證了鍵盤、鼠標、顯示器的連接和程序燒錄等功能。
3 硬件設計
3.1 主控單元RK3399
該平臺硬件上采用SOM-RK3399作為該開發平臺的主控單元,其是由FriendlyElec生產的高性能260針ARM模塊。對小學生群體而言,該主控單元具有輕便、高速等特點,為嵌入式平臺提供了流暢的操作系統。
3.2? STM32模塊
STM32模塊作為平臺的控制單元,其內部結構如圖2所示,采用的芯片為STM32F407VGT6,該芯片有先進的Cortex-M4內核。通過設計串口轉Micro USB接口,提高了其通信效率[9]。
3.3 語音處理模塊
語音處理模塊負責平臺的語音輸入和輸出,以及實現語音識別和語音合成的功能。其內部結構如圖3所示,語音模塊的處理芯片型號為XFS5152CE,支持語音合成、語音識別等功能,集成的30個詞語可作為控制命令詞。此外還設計了音頻輸入和音頻輸出的物理接口。
3.4 平臺硬件實物圖
平臺硬件實物圖如圖4所示,其中MCU集成于平臺背面。各模塊及接口的位置已在圖中標出。
4 軟件設計
4.1 語音智能點燈軟件設計
本平臺采用的是Linux操作系統,基于操作系統通過UART協議與語音處理模塊建立通信,獲取信息后通過系統編程,將處理后的信號通過UART協議發送至STM32控制模塊[10]。通過以上原理,可以實現 “語音智能點燈”這一教育案例。軟件設計流程如圖5所示。
依據圖5程序設計框圖開發出了基于該嵌入式開發平臺的小應用,也證實了該平臺的三大模塊可以正常的通信及運行。語音智能點燈程序的大致流程:平臺通電后,接入顯示器、麥克風和小燈等外設;打開語音模塊的串口調試助手,開啟語音識別功能;當用戶說“開燈”時,語音模塊會將語音信號轉換成文字信號;將文字信號傳給核心板,由系統程序判斷文字信號是否為“開燈”;正確后則通過串口向STM32模塊發送指令,執行STM32程序完成“開燈”動作。另外,“關燈”指令亦可以實現關燈的操作,其他命令詞則無效。
4.2 通過Scratch編程控制風扇
該系統的主要功能之一為Scratch編程。相比于僅在電腦屏幕前編程,用該平臺編程控制直觀的實物更會激發起小學生的編程興趣。通過將編程與器件結合的思路設計了Scratch編程控制風扇這一應用,程序設計如圖6所示。打開Scratch編程軟件和STM32串口調試軟件,在Scratch軟件中運行已編好的 “Scratch控制風扇”程序。操作系統通過調用Scratch編程的結果,經過判斷處理后,給STM32模塊發送相應的指令,讓STM32輸出PWM信號,即可啟動風扇。
5 平臺應用場景測試
平臺應用測試場景測試分為硬件及系統測試和軟件功能測試。
硬件及系統測試:平臺上電后,分別測得SOM-RK3399核心板、語音處理模塊、STM32模塊均正常供電。啟動操作系統,Scratch軟件可以正常安裝運行。
軟件測試:分別對“語音智能點燈”和“Scratch編程控制風扇”這兩個應用進行測試。過程中設備均正常運行,整體效果圖如圖7所示。
6 結束語
針對小學生編程教育,設計并實現了一種便攜式的嵌入式開發教育平臺。其中將RK3399芯片作為主控單元,STM32模塊作為控制單元,語音處理模塊作為語音信號的收發和處理單元,完成相應功能。在嵌入式開發平臺中搭載支持Scratch軟件的操作環境,并設計了兩個可擴展性較強的編程教學案例。實驗結果表明,所搭建嵌入式開發平臺操作方便、外設可控性靈活;編程環境簡單,可應對小學生編程學習的各種需求;編程教學案例具有豐富的思維邏輯,且體現了該平臺較強的實用性和趣味性。在后續工作中,可以對硬件排版及外設接口進行調整,提高美觀性和舒適性;軟件方面,可以開發出更多的應用功能和相關案例,來豐富小學生的編程趣味,提高其使用體驗。
參考文獻:
[1] 李曉冬,李淑明.“互聯網 +”背景下基礎電路實驗教學改革研究[J].教育現代化,2017,4(46):41-42.
[2] 趙蘇亞.小學人工智能教育機器人的設計與應用研究[D].武漢:華中師范大學,2019.
[3] 胡慧廷,徐曉梅.Scratch軟件在中學物理教學中的應用初探[J].物理通報,2016,35(3):93-100.
[4] 熊秋娥,葛越.Scratch游戲化編程培養小學生計算思維的實證研究[J].基礎教育,2019,16(6):27-35.
[5] 張翠翠,張世嬌,張鵬輝,等.積木式多層級數字電路實驗箱[J].實驗技術與管理,2019,36(3):98-102.
[6] 劉瑞濤.單片機實驗箱設計與制作[J].電子制作,2014(4):12,51.
[7] 陳凱,魏文博,鄧明.嵌入式系統教學實驗板開板[J].實驗技術與管理,2016,33(1):82-85,95.
[8] 張昊,蔣毅.面向嵌入式機器視覺的圖編程式算法開發平臺設計[J].電子測量技術,2020, 43(9):171-176.
[9] 朱向慶,黎東濤,蘇超益,等.適合于項目教學法的三合一單片機實驗箱設計[J].實驗技術與管理,2013,30(7):55-59.
[10] Xu Chunshu.Design and Implementation of Intelligent Greenhouse System based on STM32[J].International Core Journal of Engineering,2020,6(7).
[11] 林國偉.單片機實驗教學改革初探[J].電腦知識與技術,2017,13(14):125-126.
【通聯編輯:謝媛媛】