廖長裕,陳春華,林舒萍
(莆田學院機電工程學院,福建莆田,351131)
搶答器又稱第一信號鑒別器, 廣泛地應用于知識競賽和文娛活動等場合。目前市場上,價格較高的搶答系統,性價比低,不太適用于一些不頻繁使用的場合;而價格低的搶答系統多是有線連接、功能簡單和精度低,安裝準備工作比較繁瑣。以單片機為控制芯片的無線搶答系統,有成本低、使用簡單的特點。
系統實現的結構方案如圖1所示,由主控端、主持人端和選手端三個部分組成。各個終端都采用單片機作為控制芯片,均具備單片機最小系統和nRF24L01無線通訊模塊。在搶答比賽中,允許每位選手配備一個搶答選手端,選手端的個數可根據搶答人數來確定。終端之間通過nRF24L01模塊進行聯系,達到無線通訊傳輸的目的。

圖1 系統結構框圖
各終端的主要工作是:選手端的搶答按鈕被按下后,生成信號會發送給主控端。當接收到控端送回的搶答成功信號,會有報警提示。這時選手可通過口頭或按所設置的選項鍵答題,之后選手端在收到答題對錯的信號后更新LCD顯示屏的分數;主控端負責收發各種不同的指令,并對搶答信號排序,識別成功搶答的終端,回送允許答題的信號,完成與搶答有關分組等的配置,顯示相關內容、播放語音提示信息;主持人端主要進行搶答的基礎設置,發搶答開始信號,及加分和減分等等。
各終端的硬件結構如圖2所示,都具備單片機最小系統、按鍵、顯示以及nRF24L01無線通訊模塊等電路。虛線框中的語音電路屬于主控端的,聲光提示電路則屬于選手端。
主控端用于發送、接收和處理搶答過程所產生的信息,要求處理的數據較多、處理速度要快,任務相對較重,采用性能較好的STC12C5A60S2作為控制芯片。搶答所需的提示語音的內容包括開始搶答、搶答成功、回答正確等,預先寫入到WT588D語音芯片。供搶答過程直接調用。語音芯片的接口電路如圖3所示,通過單片機P1.5引腳控制該芯片播放相應語音,其中YSQ需接入一個揚聲器;主控端上的顯示模塊主要用來顯示選手的分數、搶答題號、設置過程和提供倒計時等信息;按鍵則用于一些基礎參數設置。

圖2 終端硬件結構圖

圖3 語音接口電路
選手端與主持人端的控制單元需處理的數據相對較少,使用成本較低的STC89C52RC單片機芯片。搶答過程的必要的信息會在LCD上顯示。兩者按鍵設置不同:主持人端按鍵具備同步數據、排名顯示、開始搶答、加分和減分等功能;選手端有搶答鍵、以及為選擇題型所設的A、B、C、D四個按鍵。
搶答系統各終端之間所采用的nRF24L01無線通訊芯片是由NORDIC公司生產。應用于單片機工作在頻段為2.4GHz~2.5GHz,芯片具有成本較低、傳輸距離遠、功率可調的優點,它能夠根據傳輸距離的大小取決于功率,達到節能的目的。NRF24L01模塊電路,共引出8個引腳,除VCC接入3.3V電源電壓和GND接地外,CE、CSN、SCK、MISQ、MOSI、IRQ引腳由單片機控制。
系統程序采用模塊化設計,主要由無線通訊、按鍵處理,信息顯示,搶答,倒計時,基礎設置、語音和聲光報警等程序組成,如圖4所示。

圖4 系統程序結構
其中基礎設置程序,主要由主控端完成對各選手端的組隊、和基礎參數設置。選手端可每人配備一個,成員兩位以上的隊伍搶答時,則需將該隊伍的幾個選手端分成同一組。具體方法是選手端預先設置好號數,并按順序發放給每位選手。通過主控制端根據設定的搶答組數與組內搶答人員的人數后,按順序自動對選手端分組。主持人端通過無線通知主控端進行題目題型、分值和參數等的設置。例如:基礎分數、搶答倒計時、答題倒計時、回答正確加分大小和回答錯誤扣分大小等。設置完成后,自動使各終端同步數據。
搶答程序要求在三種終端間按通訊協議協調進行。主持人按下準備搶答鍵后開始公布題目,這時若有選手按搶答,會判選手違規,題目作廢。當題目公布完按下允許搶答鍵后,開啟搶答倒計時。倒計時結束前,主控端若未收到搶答信號,題目也作廢;若接收到搶答信號后,立即發信息禁止其他選手端發送信號,同時對收到信號進行身份識別,通過語音公布成功搶答的選手隊伍,并發送信號提示對應的選手端。之后開啟答題倒計時。如果是選擇題,選手只需通過選手端的按鍵進行回答,系統自動判斷正誤;如果是簡答題,由選手口頭回答,主持人端通過加分鍵和減分鍵判斷答案的正誤。

圖5 顯示屏幕界面
每搶答完一題,系統便進行統計分數。在答題時間內,回答正確,加分。違規搶答、回答錯誤和未在答題時間內答題,則扣分。系統統計好分數后在LCD屏顯示,并把數據在各個終端之間進行同步。圖5為搶答過程的顯示界面。
系統各終端使用nRF24L01進行無線通訊,要對數據通道、發送到的目標地址、接收到的地址、是否自動應答、頻率、功率等進行配置。由于各個終端使用nRF24L01無線通訊,用的是相同的地址,不用掃描方式接收數據,這樣排除由多個選手端同時發送搶答信號,因硬件因素造成搶答結果的不公平。但也形成一個終端發送數據時,其他處于接收模式的終端都可接收到數據局面。為保障無線通訊的正常進行,要識別通訊終端身份。需設定相應的無線通訊協議,
系統工作時,所有的終端默認處于接收模式,當需要發送數據時,則轉換為發送模式,數據發送完成后,又恢復到接收模式。通訊協議的數據包主要有兩大類,一類是主控端發出的數據包,另一類是主控端接收到的數據包。數據包的第一字節數據類型檢驗碼,用來判斷接受到的數據包類型。當終端檢測到nRF12L01的中斷引腳IRQ電平發生變化時,表明已接收到數據包。接著對數據包解析,根據第一字節,判斷數據類型,是否為所需的數據包。當終端接收到自己所需的數據包類型的時候,才進一步對接下來的字節進行判斷做出相應的處理。如果不是自己所需要的數據包,終端不做出任何應答,繼續維持接收模式。
實測表明,無線搶答系統實現了預期的分組、語音提示和搶答等各項功能,可適用于小型的競賽場合。采用單片機芯片和nRF24L01無線通信模塊,處理速度快,通訊精確、操作簡單、擴展性強;在增減搶答人數時,相比于有線連接,只需加減搶答器選手端個數即可,簡化了搶答布置的難度。