楊鎧睿 姜銳函 徐紅梅
摘要:面向中小學生設計一種基于Arduino開源電子平臺的編程教具,由基礎模塊、循跡模塊、傳感器模塊、顯示模塊等部分組成,能夠實現(xiàn)自動循跡、數(shù)據(jù)監(jiān)測及顯示的功能。使用者可以在基礎模塊上組裝其他拓展模塊實現(xiàn)不同的功能,程序簡短易懂,便于初學者掌握基礎編程能力。
關鍵詞:編程教學;Arduino;傳感器;顯示器
中圖分類號:TP319 文獻標識碼:A
文章編號:1009-3044(2020)08-0079-02
隨著人工智能的興起,我國開始注重少兒編程教育對青少兒綜合能力的培養(yǎng)。在國家政策的引領下,2018年浙江省將信息技術(含編程)列入了高考選考科目[1],山東省中小學信息技術教材中也新增了大量Scratch、Python等編程內容,青少年的編程教學正加快進入公共教育領域[2]??善囱b編程機器人能夠培養(yǎng)學生的創(chuàng)造力、團隊協(xié)作能力和邏輯思維能力[3],是實施編程教育的良好載體。為此設計一款面向中小學生或其他零基礎編程愛好者的編程教具小車,利用簡短的程序即可控制小車的行進速度和方向,此外還可以自由組裝循跡模塊、傳感器模塊等拓展模塊以實現(xiàn)更多功能。
1 基礎模塊
小車的核心模塊采用Arduino UNO開發(fā)板,具有14路數(shù)字I/O口,6路模擬I/O口,一個16MHZ的晶體振蕩器、一個USB接口、一個電源插座、一個異步串行口和一個復位按鈕。ArduinoIDE能夠在Windows、Mac OS X等主流操作系統(tǒng)上運行[4],能夠實現(xiàn)跨平臺開發(fā);Arduino語言以C語言為基礎,程序結構簡單,便于初學者理解掌握。同時,Arduino語言提供大量庫文件,用戶可以自由擴展相關功能;此外,Arduino開發(fā)方式簡單,可擴展性強,所以本次設計選擇Arduino UNO開發(fā)板。
驅動部分選擇N20直流電機,轉速高力矩小,適用于對精度和力矩要求不高的場合。由于電機為大電流設備[5],不能直接用Arduino引腳控制,所以需使用H橋驅動芯片L293D進行驅動。
2 拓展模塊
2.1 自動循跡模塊
循跡模塊由兩個安裝在小車前端朝向地面的紅外傳感器組成,能夠實現(xiàn)在淺色地面上遵循黑色軌道自動行進。當紅外傳感器位于反光能力強的淺色地面上方時,反射回的紅外線較多,光電傳感器的阻值較小;當紅外傳感器位于反光能力弱的黑色軌道上方時,反射回的紅外線較少,此時光電傳感器的阻值較大。將電壓比較器與左右兩側的紅外傳感器連接,即可通過電壓比較器的輸出電平判斷小車的位置,進而做出相應的調整。
2.2 光感模塊
光感模塊的功能主要由光敏電阻實現(xiàn),光敏電阻是利用半導體的光電效應制成的電阻,光照強烈時,阻值減小,光照減弱時,阻值增加。光感模塊的具體電路如圖1所示,根據(jù)OUT端的輸出電壓即可實現(xiàn)光電轉換,完成光照強度的顯示等功能。
2.3 測溫模塊
測溫模塊選擇LM35溫度傳感器,能夠實現(xiàn)測量溫度的功能,其輸出電壓與溫度成正比,將溫度用T表示,則電壓與溫度的轉換公式如式(1)所示。
測溫模塊的具體電路如圖2所示。
2.4 超聲波模塊
超聲波模塊可以實現(xiàn)2cm-400cm的距離測量功能,共有四個接口,其中VCC接5v電源,GND接地,TRIG(控制端)和ECHO(接收端)接I/O口[6]。初始化時將TRIG和ECHO端置為低電平,首先給TRIC發(fā)送至少10us的高電平信號,模塊自動發(fā)送8個40khz的方波。若有信號返回,則ECHO輸出高電平,高電平持續(xù)的時間即為超聲波從發(fā)射至返回的時間。測量距離的計算公式為:
測量距離=(高電平時間*聲速(340M/S))/2 (2)
2.5 顯示模塊
顯示模塊有七段數(shù)碼管顯示器和LCD1602兩種。七段數(shù)碼管顯示器使用動態(tài)顯示方式,連線方式如圖3所示。由四個共陽極七段數(shù)碼管構成,所有段碼線由一個8位I/O口控制,4位位碼線分別控制不同的LED。
LCD1602顯示器是點陣字符型液晶顯示屏,可以顯示兩行的16位字符,有5個電源引腳,3個控制引腳和8個數(shù)據(jù)引腳,每個字符位都有對應的RAM地址。
3 程序設計
由于本次設計面向中小學生,所以程序設計基于循序漸進的原則,便于使用者掌握Arduino程序基礎知識,了解元器件基本原理,使學生在編寫程序控制小車和拓展功能的過程中,將抽象問題具體化,分析程序功能,提高邏輯思維能力。
圖4為小車自動循跡功能的程序,程序構架的第一部分為變量及接口的聲明;第二部分調用setup0函數(shù),設置各引腳的輸入輸出類型和配置串口參數(shù);第三部分在loop0函數(shù)中實現(xiàn)循跡的功能。程序編寫簡單,結構清晰,適于初學者理解掌握。此外,在實現(xiàn)其他功能時還可以調用其他庫文件,如LCD控制程序庫LiquidCrystal、舵機控制程序庫Servo等,初學者即使不了解器件的驅動原理,也能夠利用庫文件實現(xiàn)相關功能。
4 總結
本文設計了一種面向初學者的編程教具小車,基本構造以Arduino UNO開發(fā)板為控制中心,L293D芯片驅動四個直流電機。在此基礎上可以安裝紅外傳感器實現(xiàn)循跡的功能,還可以安裝光敏電阻、LM35溫度傳感器、超聲波傳感器等傳感器模塊測量數(shù)據(jù)并通過七段數(shù)碼管或LCD1602顯示器顯示。讓學生通過編寫程序實現(xiàn)相關功能的過程,提高對編程學習的興趣,掌握基礎編程知識。
參考文獻:
[1]張曉東.基于計算思維培養(yǎng)的小學編程教學模式研究——以Scratch編程教學為例[J].中國信息技術教育,2019(24):35-37.
[2]謝麗華.C語言程序設計教學中如何培養(yǎng)學生的邏輯思維能力[J].電腦知識與技術,2020,16(2):171-172.
[3]劉天陽,基于STEAM教育的可拼裝編程機器人調查與分析[J].中國農(nóng)村教育,2019(15):75-77.
[4]張本任,熊勇,張加,等.基于Arduino開發(fā)環(huán)境的無人艇控制系統(tǒng)設計[J].艦船科學技術,2019,41(5):83-87.
[5]黃海來.新型智能消防小車的研究與實現(xiàn)[J].華東交通大學學報,2018,35(3):127-133.
[6]呂淑芳.基于STC89C52單片機的汽車倒車防撞警報系統(tǒng)[J].電子技術與軟件工程,2020(1):70-71.
【通聯(lián)編輯:朱寶貴】
收稿日期:2020-01-15
作者簡介:楊鎧睿(1999-),男,吉林安圖人,本科在讀,主要研究方向為混沌動力學;姜銳函(2001-),男,吉林德惠人,本科在讀,主要研究方向為混沌動力學;通信作者:徐紅梅(1975-),女,博士,副教授,主要研究方向為混沌動力學。