廖長裕,陳春華,林舒萍
(莆田學(xué)院機電工程學(xué)院,福建莆田,351131)
搶答器又稱第一信號鑒別器, 廣泛地應(yīng)用于知識競賽和文娛活動等場合。目前市場上,價格較高的搶答系統(tǒng),性價比低,不太適用于一些不頻繁使用的場合;而價格低的搶答系統(tǒng)多是有線連接、功能簡單和精度低,安裝準(zhǔn)備工作比較繁瑣。以單片機為控制芯片的無線搶答系統(tǒng),有成本低、使用簡單的特點。
系統(tǒng)實現(xiàn)的結(jié)構(gòu)方案如圖1所示,由主控端、主持人端和選手端三個部分組成。各個終端都采用單片機作為控制芯片,均具備單片機最小系統(tǒng)和nRF24L01無線通訊模塊。在搶答比賽中,允許每位選手配備一個搶答選手端,選手端的個數(shù)可根據(jù)搶答人數(shù)來確定。終端之間通過nRF24L01模塊進(jìn)行聯(lián)系,達(dá)到無線通訊傳輸?shù)哪康摹?/p>
圖1 系統(tǒng)結(jié)構(gòu)框圖
各終端的主要工作是:選手端的搶答按鈕被按下后,生成信號會發(fā)送給主控端。當(dāng)接收到控端送回的搶答成功信號,會有報警提示。這時選手可通過口頭或按所設(shè)置的選項鍵答題,之后選手端在收到答題對錯的信號后更新LCD顯示屏的分?jǐn)?shù);主控端負(fù)責(zé)收發(fā)各種不同的指令,并對搶答信號排序,識別成功搶答的終端,回送允許答題的信號,完成與搶答有關(guān)分組等的配置,顯示相關(guān)內(nèi)容、播放語音提示信息;主持人端主要進(jìn)行搶答的基礎(chǔ)設(shè)置,發(fā)搶答開始信號,及加分和減分等等。
各終端的硬件結(jié)構(gòu)如圖2所示,都具備單片機最小系統(tǒng)、按鍵、顯示以及nRF24L01無線通訊模塊等電路。虛線框中的語音電路屬于主控端的,聲光提示電路則屬于選手端。
主控端用于發(fā)送、接收和處理搶答過程所產(chǎn)生的信息,要求處理的數(shù)據(jù)較多、處理速度要快,任務(wù)相對較重,采用性能較好的STC12C5A60S2作為控制芯片。搶答所需的提示語音的內(nèi)容包括開始搶答、搶答成功、回答正確等,預(yù)先寫入到WT588D語音芯片。供搶答過程直接調(diào)用。語音芯片的接口電路如圖3所示,通過單片機P1.5引腳控制該芯片播放相應(yīng)語音,其中YSQ需接入一個揚聲器;主控端上的顯示模塊主要用來顯示選手的分?jǐn)?shù)、搶答題號、設(shè)置過程和提供倒計時等信息;按鍵則用于一些基礎(chǔ)參數(shù)設(shè)置。
圖2 終端硬件結(jié)構(gòu)圖
圖3 語音接口電路
選手端與主持人端的控制單元需處理的數(shù)據(jù)相對較少,使用成本較低的STC89C52RC單片機芯片。搶答過程的必要的信息會在LCD上顯示。兩者按鍵設(shè)置不同:主持人端按鍵具備同步數(shù)據(jù)、排名顯示、開始搶答、加分和減分等功能;選手端有搶答鍵、以及為選擇題型所設(shè)的A、B、C、D四個按鍵。
搶答系統(tǒng)各終端之間所采用的nRF24L01無線通訊芯片是由NORDIC公司生產(chǎn)。應(yīng)用于單片機工作在頻段為2.4GHz~2.5GHz,芯片具有成本較低、傳輸距離遠(yuǎn)、功率可調(diào)的優(yōu)點,它能夠根據(jù)傳輸距離的大小取決于功率,達(dá)到節(jié)能的目的。NRF24L01模塊電路,共引出8個引腳,除VCC接入3.3V電源電壓和GND接地外,CE、CSN、SCK、MISQ、MOSI、IRQ引腳由單片機控制。
系統(tǒng)程序采用模塊化設(shè)計,主要由無線通訊、按鍵處理,信息顯示,搶答,倒計時,基礎(chǔ)設(shè)置、語音和聲光報警等程序組成,如圖4所示。
圖4 系統(tǒng)程序結(jié)構(gòu)
其中基礎(chǔ)設(shè)置程序,主要由主控端完成對各選手端的組隊、和基礎(chǔ)參數(shù)設(shè)置。選手端可每人配備一個,成員兩位以上的隊伍搶答時,則需將該隊伍的幾個選手端分成同一組。具體方法是選手端預(yù)先設(shè)置好號數(shù),并按順序發(fā)放給每位選手。通過主控制端根據(jù)設(shè)定的搶答組數(shù)與組內(nèi)搶答人員的人數(shù)后,按順序自動對選手端分組。主持人端通過無線通知主控端進(jìn)行題目題型、分值和參數(shù)等的設(shè)置。例如:基礎(chǔ)分?jǐn)?shù)、搶答倒計時、答題倒計時、回答正確加分大小和回答錯誤扣分大小等。設(shè)置完成后,自動使各終端同步數(shù)據(jù)。
搶答程序要求在三種終端間按通訊協(xié)議協(xié)調(diào)進(jìn)行。主持人按下準(zhǔn)備搶答鍵后開始公布題目,這時若有選手按搶答,會判選手違規(guī),題目作廢。當(dāng)題目公布完按下允許搶答鍵后,開啟搶答倒計時。倒計時結(jié)束前,主控端若未收到搶答信號,題目也作廢;若接收到搶答信號后,立即發(fā)信息禁止其他選手端發(fā)送信號,同時對收到信號進(jìn)行身份識別,通過語音公布成功搶答的選手隊伍,并發(fā)送信號提示對應(yīng)的選手端。之后開啟答題倒計時。如果是選擇題,選手只需通過選手端的按鍵進(jìn)行回答,系統(tǒng)自動判斷正誤;如果是簡答題,由選手口頭回答,主持人端通過加分鍵和減分鍵判斷答案的正誤。
圖5 顯示屏幕界面
每搶答完一題,系統(tǒng)便進(jìn)行統(tǒng)計分?jǐn)?shù)。在答題時間內(nèi),回答正確,加分。違規(guī)搶答、回答錯誤和未在答題時間內(nèi)答題,則扣分。系統(tǒng)統(tǒng)計好分?jǐn)?shù)后在LCD屏顯示,并把數(shù)據(jù)在各個終端之間進(jìn)行同步。圖5為搶答過程的顯示界面。
系統(tǒng)各終端使用nRF24L01進(jìn)行無線通訊,要對數(shù)據(jù)通道、發(fā)送到的目標(biāo)地址、接收到的地址、是否自動應(yīng)答、頻率、功率等進(jìn)行配置。由于各個終端使用nRF24L01無線通訊,用的是相同的地址,不用掃描方式接收數(shù)據(jù),這樣排除由多個選手端同時發(fā)送搶答信號,因硬件因素造成搶答結(jié)果的不公平。但也形成一個終端發(fā)送數(shù)據(jù)時,其他處于接收模式的終端都可接收到數(shù)據(jù)局面。為保障無線通訊的正常進(jìn)行,要識別通訊終端身份。需設(shè)定相應(yīng)的無線通訊協(xié)議,
系統(tǒng)工作時,所有的終端默認(rèn)處于接收模式,當(dāng)需要發(fā)送數(shù)據(jù)時,則轉(zhuǎn)換為發(fā)送模式,數(shù)據(jù)發(fā)送完成后,又恢復(fù)到接收模式。通訊協(xié)議的數(shù)據(jù)包主要有兩大類,一類是主控端發(fā)出的數(shù)據(jù)包,另一類是主控端接收到的數(shù)據(jù)包。數(shù)據(jù)包的第一字節(jié)數(shù)據(jù)類型檢驗碼,用來判斷接受到的數(shù)據(jù)包類型。當(dāng)終端檢測到nRF12L01的中斷引腳IRQ電平發(fā)生變化時,表明已接收到數(shù)據(jù)包。接著對數(shù)據(jù)包解析,根據(jù)第一字節(jié),判斷數(shù)據(jù)類型,是否為所需的數(shù)據(jù)包。當(dāng)終端接收到自己所需的數(shù)據(jù)包類型的時候,才進(jìn)一步對接下來的字節(jié)進(jìn)行判斷做出相應(yīng)的處理。如果不是自己所需要的數(shù)據(jù)包,終端不做出任何應(yīng)答,繼續(xù)維持接收模式。
實測表明,無線搶答系統(tǒng)實現(xiàn)了預(yù)期的分組、語音提示和搶答等各項功能,可適用于小型的競賽場合。采用單片機芯片和nRF24L01無線通信模塊,處理速度快,通訊精確、操作簡單、擴(kuò)展性強;在增減搶答人數(shù)時,相比于有線連接,只需加減搶答器選手端個數(shù)即可,簡化了搶答布置的難度。