姚世豪 楊亞男 孫嵐嵐 王瑤 高利杰
摘要:本文介紹了一款基于Arduino開源硬件,面向青少年硬件編程教育、電子創(chuàng)客愛(ài)好者、電子信息類大學(xué)生電子制作學(xué)習(xí)的綜合訓(xùn)練平臺(tái)。本平臺(tái)以Arduino Mega2560為核心板,設(shè)計(jì)基礎(chǔ)功能訓(xùn)練部分,傳感器功能訓(xùn)練部分,擴(kuò)展功能訓(xùn)練部分。本文設(shè)計(jì)的Arduino綜合學(xué)習(xí)平臺(tái)降低了廣大的青少年編程學(xué)習(xí)者、電子創(chuàng)客、電子信息類大學(xué)生的初期學(xué)習(xí)門檻,且已應(yīng)用到了青少年編程比賽當(dāng)中。
關(guān)鍵詞:Arduino,開發(fā)板,青少年編程,電子創(chuàng)客
Arduino-Based Comprehensive Learning Competition Platform
YAO Shihao1 ?YANG Yanan2 ?SUN Lanlan1 ?WANG Yao1 ?GAO Lijie1
(1. School of Technology, College of Technology and Communication Kaifeng Henan, Kaifeng, Henan Province, 475002 China; 2. School of Electrical Engineering, Yellow River Conservancy Technical Institute, Kaifeng, Henan Province, 475002 China)
Abstract: In this paper, it introduces a comprehensive training platform based on Arduino open-source hardware, which is aimed at young hardware programming education, electronic maker enthusiasts, electronic information college students and electronic production learning. This platform uses Arduino Mega2560 as the core board, designing basic function training part, sensor function training part, and extended function training part. The Arduino comprehensive learning platform designed in this paper has lowered the initial learning threshold for the majority of young programming learners, electronic makers, and electronic information college students, and has been applied to youth programming competitions.
Key Words: Arduino, Development board, Youth program, E-maker
在人工智能技術(shù)、5G、物聯(lián)網(wǎng)迅猛發(fā)展的時(shí)代背景下,青少年編程能力的培養(yǎng)成為正在迅猛發(fā)展,也有越來(lái)越多的非電子類專業(yè)愛(ài)好者進(jìn)行簡(jiǎn)易的電子產(chǎn)品設(shè)計(jì),高校電子信息類大學(xué)生也急需快速入門電子產(chǎn)品的設(shè)計(jì)與開發(fā)[1-2]。開源電子原型平臺(tái)Arduino為電子創(chuàng)客、青少年編程學(xué)習(xí)者、電子信息類大學(xué)生入門學(xué)習(xí)提供了高性價(jià)比易入門的應(yīng)用平臺(tái)。但市面上的Arduino硬件平臺(tái)多為“核心板+各種模塊”,通過(guò)連接線的方式進(jìn)行學(xué)習(xí)和創(chuàng)作,對(duì)于廣大的入門級(jí)學(xué)習(xí)者,通過(guò)這種學(xué)習(xí)方式很難查找出是自己程序設(shè)計(jì)的錯(cuò)誤還是硬件連接線的問(wèn)題[3-4]。本文介紹了一款以Arduino Mega2560為核心板設(shè)計(jì)的綜合學(xué)習(xí)平臺(tái),可以使入門學(xué)習(xí)者主要關(guān)注程序部分的學(xué)習(xí)、設(shè)計(jì)、開發(fā),減少硬件錯(cuò)誤所帶來(lái)的困難,同時(shí)也降低了青少年編程學(xué)習(xí)者的學(xué)習(xí)門檻,且已應(yīng)用到了青少年編程比賽當(dāng)中,起到了良好的效果。
1 系統(tǒng)主要組成及開發(fā)平臺(tái)
該平臺(tái)組成部分的核心是以Arduino Mega2560板為基礎(chǔ),設(shè)計(jì)了一款全功能的學(xué)習(xí)訓(xùn)練平臺(tái),平臺(tái)基礎(chǔ)學(xué)習(xí)部分設(shè)計(jì)有8位LED燈、1位呼吸燈,4位一體的共陰極數(shù)碼管數(shù)字顯示輸出、6位觸動(dòng)按鍵輸入、1位觸摸按鍵輸入、1位搖桿控制輸入、1位蜂鳴器輸出、1個(gè)LCD1602顯示屏字符顯示等模塊,平臺(tái)傳感器學(xué)習(xí)部分設(shè)計(jì)有聲音傳感器、溫濕度傳感器、光線傳感器、滑動(dòng)變阻器、陀螺儀傳感器、人體紅外傳感器、RTC時(shí)鐘等傳感器相關(guān)學(xué)習(xí)模塊,平臺(tái)擴(kuò)展部分設(shè)計(jì)有2.4寸LCD觸摸顯示屏、藍(lán)牙通信、WiFi通信、步進(jìn)電機(jī)、直流電機(jī)、舵機(jī)、超聲波、紅外發(fā)射和接收、繼電器、SD卡、NFC卡、IIC通信、UART通信、3.3V和5V等接口。
該平臺(tái)的軟件開發(fā)部分可以使用Arduino IDE作為開發(fā)工具,也可以采用國(guó)產(chǎn)圖形化編程開發(fā)軟件Mixly(米思齊)作為開發(fā)工具,即可滿足青少年編程愛(ài)好者的學(xué)習(xí)使用,亦可支持電子信息類大學(xué)生的入門和進(jìn)階開發(fā)學(xué)習(xí)。本平臺(tái)使用一根USB轉(zhuǎn)串口的數(shù)據(jù)線通過(guò)與電腦連接即可完成程序驗(yàn)證和功能實(shí)現(xiàn)。
2Arduino綜合學(xué)習(xí)平臺(tái)人機(jī)交互基礎(chǔ)學(xué)習(xí)部分硬件電路設(shè)計(jì)
2.1 燈光輸出電路設(shè)計(jì)
LED燈是日常生活中最為常見(jiàn)的光源,應(yīng)用在生活的方方面面。學(xué)習(xí)者對(duì)于硬件開發(fā)平臺(tái)的學(xué)習(xí)均是從LED燈的控制開始[5]。本學(xué)習(xí)平臺(tái)設(shè)計(jì)了生活中最為常用的LED電路、呼吸燈電路、全彩LED電路,幫助學(xué)習(xí)者全面對(duì)各種燈光控制的理解和學(xué)習(xí)。
結(jié)合Arduino Mega2560核心板單片機(jī)芯片I/O引腳的內(nèi)部結(jié)構(gòu),學(xué)習(xí)平臺(tái)8路LED燈采用共陽(yáng)極設(shè)計(jì),其中8個(gè)LED燈LED1-LED8的正極經(jīng)過(guò)限流電阻接系統(tǒng)電源,負(fù)極分別與Arduino Mega2560核心板的D31-D38管腳相連接,如圖1(a)所示。學(xué)習(xí)平臺(tái)采用1路呼吸燈設(shè)計(jì),因呼吸燈需要使用PWM輸出,故呼吸燈正極通過(guò)一個(gè)限流電阻連接Arduino Mega2560核心板的PWM10引腳,負(fù)極接系統(tǒng)GND,如圖1(b)所示。開發(fā)板設(shè)計(jì)1個(gè)全彩RGB燈,可以實(shí)現(xiàn)1677萬(wàn)色的調(diào)光,全彩RGB燈采用共陽(yáng)極設(shè)計(jì),公共正極端接系統(tǒng)電源VCC,3個(gè)管腳負(fù)極R、G、B分別通過(guò)限流電阻連接Arduino Mega2560核心板的PWM5、PWM6、PWM7管腳,如圖1(c)所示。
2.2 數(shù)字顯示輸出電路設(shè)計(jì)
LED數(shù)碼管是較為常用的數(shù)字顯示器件,LED數(shù)碼管的內(nèi)部是由多個(gè)發(fā)光二極管在一起組成“8”字形的器件,數(shù)碼管是由八個(gè)發(fā)光管組成8字形構(gòu)成的,其中多出來(lái)的一位為小數(shù)點(diǎn)顯示位[6]。本學(xué)習(xí)平臺(tái)設(shè)計(jì)一個(gè)四位一體的共陰極數(shù)碼管,供學(xué)習(xí)者進(jìn)行數(shù)字顯示學(xué)習(xí)及使用。
為了配合Arduino IDE開發(fā)環(huán)境和Mixly開發(fā)環(huán)境[7],LED數(shù)碼管電路設(shè)計(jì)使用一片帶數(shù)碼管接口的LED驅(qū)動(dòng)控制專用電路TM1650來(lái)驅(qū)動(dòng)數(shù)碼管顯示。該芯片為IIC通信協(xié)議,把IIC傳輸?shù)臄?shù)據(jù)包解析并驅(qū)動(dòng)操作數(shù)碼管進(jìn)行數(shù)字顯示,該IIC通信引腳與Arduino Mega2560核心板的IIC通信引腳SDA、SLC相連接,如圖1(d)所示。
2.3 按鍵、搖桿輸入電路設(shè)計(jì)
作為人機(jī)交互的關(guān)鍵部分,按鍵是幾乎是各類產(chǎn)品設(shè)計(jì)中不可缺少的部件,本學(xué)習(xí)平臺(tái)設(shè)計(jì)為了吸引學(xué)習(xí)者的學(xué)習(xí)興趣和使用體驗(yàn),采用6位微動(dòng)開關(guān)作為按鍵輸入、1位觸摸按鍵輸入、1個(gè)搖桿(游戲手柄)輸入。尤其是青少年學(xué)習(xí)者對(duì)學(xué)習(xí)中有玩游戲的興趣。
根據(jù)Arduino Mega2560核心板單片機(jī)芯片I/O引腳的內(nèi)部結(jié)構(gòu),本開發(fā)板按鍵輸入采用下拉電阻方式,即所有按鍵的其中一段通過(guò)上拉電阻連接系統(tǒng)電源,另外一端分別與Mega2560核心板的D23-D25、RX1引腳,且通過(guò)下拉電阻連接系統(tǒng)GND,沒(méi)有按鍵被下下的時(shí)候I/O引腳識(shí)別為低電平,有按鍵按下之后I/O引腳識(shí)別為高電平,如圖2(a)所示。觸摸按鍵采用PCB電路板上隔離銅皮連接觸摸感知芯片TTP223設(shè)計(jì),TTP223芯片的輸出端連接Arduino Mega2560核心板的D29引腳,如圖2(b)所示。游戲手柄-搖桿的內(nèi)部結(jié)構(gòu)X/Y軸分別是一個(gè)滑動(dòng)變阻器,Z軸是一個(gè)微動(dòng)按鍵,故本學(xué)習(xí)平臺(tái)對(duì)其X/Y/Z軸分別連接Arduino Mega2560核心板的A5/A6/D39引腳,可是學(xué)習(xí)者對(duì)其進(jìn)行充分的學(xué)習(xí)和應(yīng)用,設(shè)計(jì)電路如圖2(c)所示。
2.4 LCD1602顯示屏電路
本文2.2章節(jié)介紹了數(shù)字顯示器件數(shù)碼管的設(shè)計(jì),但各種智能化的設(shè)備會(huì)經(jīng)常用到字符顯示,液晶顯示器LCD1602是廣泛使用的一種字符型液晶顯示器件,能夠顯示英文字母、阿拉伯?dāng)?shù)字、日文片假名和一般性符號(hào)等[8]。
為充分利用Arduino Mega2560核心板的I/O資源,配合Arduino IDE開發(fā)環(huán)境和Mixly開發(fā)環(huán)境,本學(xué)習(xí)平臺(tái)采用一款并口擴(kuò)展芯片PCF8574,通過(guò)IIC引腳與核心板進(jìn)行數(shù)據(jù)傳輸,并通過(guò)擴(kuò)展的I/O口與LCD1602控制端口連接,實(shí)現(xiàn)Mega2560通過(guò)一個(gè)IIC總線進(jìn)行LCD1602顯示屏的顯示通信。為確保LCD1602顯示屏背光亮度的穩(wěn)定性顯示,顯示屏背光引腳對(duì)GND端通過(guò)PCF8574的P3引腳控制一個(gè)NPN三極管的飽和截止來(lái)控制顯示屏的背光。另外通過(guò)一個(gè)10K的滑動(dòng)變阻器與LCD1602顯示屏的VO引腳連接,通過(guò)滑動(dòng)變阻實(shí)現(xiàn)對(duì)LCD1602顯示屏字符顯示對(duì)比度的調(diào)整。LCD1602液晶顯示屏整體設(shè)計(jì)如圖3(a)所示。
2.5 蜂鳴器電路設(shè)計(jì)
蜂鳴器是一種電子訊響器件,廣泛應(yīng)用在報(bào)警器、計(jì)算機(jī)、定時(shí)器、電子玩具、汽車電子設(shè)備等電子產(chǎn)品中作警示器件。由于蜂鳴器的發(fā)聲原理由振動(dòng)裝置和諧振裝置組成,又分為無(wú)源他激型與有源自激型的內(nèi)部結(jié)構(gòu)[9]。
為了實(shí)現(xiàn)蜂鳴器效果的穩(wěn)定與多樣化,本學(xué)習(xí)平臺(tái)采用無(wú)源蜂鳴器設(shè)計(jì),無(wú)源蜂鳴器的負(fù)極輸入端連接電路板的系統(tǒng)GND,蜂鳴器的正極端是Mega2560核心板的PWM3引腳控制一個(gè)NPN三極管的飽和截止來(lái)控制蜂鳴器的聲音、聲調(diào),電路設(shè)計(jì)如圖3(b)所示。
3Arduino綜合學(xué)習(xí)平臺(tái)傳感器部分硬件電路設(shè)計(jì)
3.1聲音傳感器
聲音傳感器的效果相當(dāng)于話筒(麥克風(fēng)),其用來(lái)接收聲波信號(hào),輸出聲音的振動(dòng)情況。在智能硬件快速發(fā)展的現(xiàn)狀下,也來(lái)越多的各種電子設(shè)備支持語(yǔ)音交互功能,為人們的日常生活提供了很大的方便。
本綜合學(xué)習(xí)平臺(tái)使用LM386運(yùn)算放大器對(duì)話筒采集的聲音信號(hào)進(jìn)行整形濾波處理,通過(guò)一個(gè)滑動(dòng)變阻器可以調(diào)節(jié)聲音輸出幅值的大小。聲音信號(hào)處理后的輸出值為模擬電壓值,電路設(shè)計(jì)通過(guò)Arduino Mega2560核心板的模擬引腳A3管腳進(jìn)行聲音信號(hào)的采集,電路設(shè)計(jì)如圖4(a)所示。
3.2 溫濕度傳感器
溫濕度傳感器是一種裝有熱敏和濕敏電子元件,能夠?qū)Νh(huán)境的溫度和濕度進(jìn)行測(cè)量的傳感器裝置。溫濕度傳感器體積小、性能穩(wěn)定等特點(diǎn),被廣泛應(yīng)用在生產(chǎn)生活的各個(gè)領(lǐng)域[8]。
本文采用的DHT11是一款有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度傳感器,通過(guò)Onewire總線通信協(xié)議與MCU進(jìn)行數(shù)據(jù)傳輸。DHT11溫濕度傳感器有4個(gè)管腳,根據(jù)DHT11傳感器手冊(cè),其中1號(hào)引腳接系統(tǒng)電源VCC,3/4號(hào)引腳接系統(tǒng)GND,本文設(shè)計(jì)2號(hào)引腳與Mega2560核心板的D42號(hào)引腳相連接進(jìn)行數(shù)據(jù)通信,為了保持信號(hào)的穩(wěn)定傳輸,D42引腳通過(guò)一個(gè)1K的上拉電阻與系統(tǒng)電源VCC相連接,電路設(shè)計(jì)如圖4(b)所示。
3.3 光線傳感器,滑動(dòng)變阻器
光線傳感器的功能是用來(lái)感應(yīng)光線強(qiáng)弱的,然后反饋到MCU,控制器通過(guò)光纖強(qiáng)度的高低來(lái)執(zhí)行對(duì)其他部分的控制,如自動(dòng)調(diào)節(jié)屏幕亮度、自動(dòng)關(guān)閉照明燈等,從而達(dá)到省電的目的和環(huán)境的感知?;瑒?dòng)變阻器是生產(chǎn)生活中常用器件之一,工作原理是通過(guò)改變接入電路部分改變電阻的阻值。音響音量大小調(diào)節(jié)、臺(tái)燈燈光調(diào)節(jié)、汽車量油表、過(guò)磅秤等場(chǎng)所都離不開滑動(dòng)變阻器。
本文設(shè)計(jì)的光線傳感器采用GL5516型光敏電阻,電阻的阻值會(huì)隨著光照強(qiáng)度的變化而變化,電路設(shè)計(jì)光敏電阻通過(guò)一個(gè)1K的電阻分別與系統(tǒng)電源VCC連接和系統(tǒng)GND連接,通過(guò)Mega2560核心板A4管腳測(cè)量光敏電阻分壓值來(lái)確定光照強(qiáng)度,電路設(shè)計(jì)如圖4(c)所示。本文設(shè)計(jì)滑動(dòng)變阻器采用10K阻值方便用戶調(diào)節(jié)操作的帶帽電位器,滑動(dòng)變阻器的電阻兩段分別系統(tǒng)電源VCC連接和系統(tǒng)GND連接,滑動(dòng)變阻器手柄管腳與Mega2560核心板A2引腳連接,電路設(shè)計(jì)如圖4(d)所示。
3.4 陀螺儀傳感器
陀螺儀傳感器又稱為加速度、傾斜角傳感器,是基于自由空間移動(dòng)和手勢(shì)的定位的控制系統(tǒng),現(xiàn)已被廣泛運(yùn)用于手機(jī)等移動(dòng)便攜設(shè)備。陀螺儀傳感器是現(xiàn)代航天、航空、航海、國(guó)防工業(yè)等應(yīng)用中常用的控制裝置。
本文設(shè)計(jì)加速度傳感器選用一款低功耗,三軸MEMS加速度計(jì)ADXL345芯片,該芯片支持IIC通信和SPI通信。根據(jù)ADXL345傳感器手冊(cè)及兼容Arduino IDE開發(fā)環(huán)境和Mixly開發(fā)環(huán)境的使用,本文電路設(shè)計(jì)采用IIC接口通信,ADXL345傳感器的IIC接口與Mega2560核心板的IIC接口相連接,電路設(shè)計(jì)如圖5(a)所示
3.5 人體紅外傳感器
人體紅外傳感器也即熱釋電傳感器,廣泛應(yīng)用在人體感應(yīng)開關(guān)開關(guān)、來(lái)客告知、防盜報(bào)警等非接觸開關(guān)領(lǐng)域[10]。
本文電路設(shè)計(jì)采用AM612人體紅外熱釋傳感器,根據(jù)AM612手冊(cè)可知該傳感器的1號(hào)引腳需連接系統(tǒng)電源VCC,2/3可直接連接系統(tǒng)GND,4號(hào)引腳連接Mega2560核心板的PWM11號(hào)管腳與主控MCU通信,電路設(shè)計(jì)如圖5(b)所示。
3.6 RTC時(shí)鐘
實(shí)時(shí)時(shí)鐘芯片是長(zhǎng)身生活中不可缺少的消費(fèi)類電子產(chǎn)品。實(shí)時(shí)時(shí)鐘為人們提供精確的時(shí)間,也可以為電子系統(tǒng)提供精確的時(shí)間基準(zhǔn)。
本文實(shí)時(shí)時(shí)鐘電路設(shè)計(jì)采用是一款低功耗,具有56字節(jié)非失性RAM的全BCD碼時(shí)鐘日歷實(shí)時(shí)時(shí)鐘的IIC通信器件DS1307芯片。由于上文的電路設(shè)計(jì)Mega2560核心板的IIC引腳已經(jīng)掛在多個(gè)設(shè)備,為了使用戶更為方便地學(xué)習(xí)和使用,實(shí)時(shí)時(shí)鐘芯片DS1307的通信引腳設(shè)計(jì)為PWM13/PWM12引腳,用戶可在編程時(shí)設(shè)置此引腳為虛擬IIC通信模式即可,DS1302的3號(hào)引腳連接一個(gè)CR1220的紐扣電池,以確保在學(xué)習(xí)板不通電的情況下實(shí)時(shí)時(shí)鐘可以繼續(xù)運(yùn)轉(zhuǎn),電路設(shè)計(jì)如圖5(c)所示。
4 結(jié)束語(yǔ)
限于篇幅,本文關(guān)于平臺(tái)擴(kuò)展部分的設(shè)計(jì)理念及系統(tǒng)軟件設(shè)計(jì)方面未能做詳細(xì)介紹。本文設(shè)計(jì)的Arduino綜合學(xué)習(xí)訓(xùn)練平臺(tái),可以使相關(guān)學(xué)習(xí)者系統(tǒng)地學(xué)習(xí)電子產(chǎn)品的系統(tǒng)開發(fā)設(shè)計(jì)的一般操作流程和軟硬件設(shè)計(jì)方法,同時(shí)也大為降低入門者學(xué)習(xí)門檻。以本平臺(tái)作為教學(xué)實(shí)驗(yàn)提高了學(xué)習(xí)者編程學(xué)習(xí)的主動(dòng)性,鍛煉了學(xué)習(xí)者解決問(wèn)題的能力,使學(xué)習(xí)者的開發(fā)實(shí)戰(zhàn)能力得到了較大的提高,同時(shí)也在青少年編程競(jìng)賽中發(fā)揮著重要的作用。
參考文獻(xiàn)
[1]屈華炎.基于Arduino的單片機(jī)智能控制創(chuàng)新課程教學(xué)改革與實(shí)踐[J].物聯(lián)網(wǎng)技術(shù),2021,11(7):128-130.
[2]夏鄂,劉旭明.開源硬件電類專業(yè)大一新生綜合實(shí)驗(yàn)設(shè)計(jì)[J].電子世界,2021(18):37-38.
[3]楊琦,張曉月,李國(guó)安,張偉.小學(xué)期Arduino課程教學(xué)內(nèi)容探索與實(shí)踐[J].工業(yè)和信息化教育,2021(10):79-82.
[4]馮潔卿,羅啟龍.基于智能小車的STEM科技教育案例的開發(fā)[J].中學(xué)課程輔導(dǎo)(教師教育),2019(12):123-124+126.
[5]王蕓蕓.基于Arduino單片機(jī)應(yīng)用的高職課程改革[J].集成電路應(yīng)用,2020,37(3):52-53.
[6]劉承橋,馬俊.基于開發(fā)板的單片機(jī)實(shí)驗(yàn)教學(xué)改革與實(shí)踐[J].計(jì)算機(jī)教育,2021(1):172-176.
[7]孫亞坤.基于圖形化編程的創(chuàng)客教具設(shè)計(jì)與研究[D].南京:南京信息工程大學(xué),2021.
[8]陳雪松.Arduino多功能擴(kuò)展板在小學(xué)STEM課程中的運(yùn)用——一個(gè)低成本高效率的STEM課程解決案例[J].教育科學(xué)論壇,2018(32):68-72.
[9]劉萬(wàn)松,劉雪飛.基于OBE理念的“單片機(jī)課程設(shè)計(jì)”的教學(xué)設(shè)計(jì)與實(shí)踐[J].電子世界,2021(17):103-105.
[10]楊偉.從行為習(xí)慣、編程意識(shí)到創(chuàng)新思維的進(jìn)步觀察——圖形化編程在青少年編程能力培養(yǎng)過(guò)程中的內(nèi)涵和外延[J].中國(guó)信息技術(shù)教育,2021(15):32-34.
1872501186263