蘭鴻旺,吳超瓊,李國懌,覃文捐,劉振貴,覃鐘耀,陳守旺
(廣西民族師范學院 數(shù)理與電子信息工程學院,廣西崇左,532200)
近年來,電動自行車因其便捷、經(jīng)濟、環(huán)保等特點,成為城鄉(xiāng)居民的主要出行工具之一。隨著電動自行車數(shù)量越來越多的同時,因行人或駕駛員隨意闖紅燈、駕駛員駕駛技術低等復雜因素造成的交通事故也在逐年增長。因此騎乘電動自行車、摩托車佩戴安全頭盔的問題引發(fā)了社會的關注。隨后廣西、上海等地也出臺相應規(guī)定明確騎行電動自行車也要佩戴安全頭盔,因此不佩戴頭盔不僅是對自己的不負責任,同時也可能觸犯到法律。
裝置分為兩大部分,分別為下位機與上位機。下位機又分為兩個部分:裝置車載部分與裝置頭盔部分。裝置車載部分分為:電源模塊、STM32主控模塊、座椅檢測模塊、蜂鳴器模塊、顯示屏模塊、紅外接收模塊、WiFi模塊、拓展傳感器接口。裝置頭盔部分分為:電源模塊、STC15主控模塊、頭盔佩戴檢測模塊、紅外發(fā)射模塊。上位機是由Android設計的手機APP。系統(tǒng)總體框架如圖1所示。裝置頭盔部分使用STC15F104W單片機作為主控制器,微動開關采集駕駛員頭盔佩戴信息頭盔部分主控芯片進行處理將處理結(jié)果通過紅外發(fā)射管發(fā)送紅外信息給裝置車載部分。裝置車載部分采用STM32F103RCT6單片機作為主控制器,紅外測距傳感器GP2Y0A21YK0F采集距離信息,紅外接收管HS0038參集裝置頭盔部分發(fā)送的紅外信息,ESP8266模塊參集上位機的指令信息,將采集到的信息匯入車載部分主控芯片進行數(shù)據(jù)處理,通過程序算法得出駕駛員頭盔佩戴情況。如果駕駛員未佩戴頭盔則通過裝置車載部分的蜂鳴器、顯示屏提醒駕駛員。實現(xiàn)頭盔佩戴提醒功能。擴展接口即預留數(shù)據(jù)接口可以用于采集記錄裝置工作狀態(tài)信息也可以拓展傳感器等[1]。
圖1 系統(tǒng)總體框圖
裝置車載部分選擇高性能、低功耗、低成本的STM32 F103RCT6單片機作為主控芯片。電路由以下個部分構(gòu)成:電源電路、濾波電路、晶振電路、復位電路、BOOT電路。裝置車載部分主控模塊電路如圖2所示。
圖2 裝置車載部分主控模塊電路圖
裝置頭盔部分需要體積小、功耗低、高新能的主控。綜合考慮使用STC15F104W單片機作為主控芯片。這款單片機只有8個引腳其中6個通用I/O口足夠設計使用。并且不需外部晶振和外部復位,只需要電源電路、濾波電路就可使用。裝置頭盔部分主控模塊電路如圖3所示。
圖3 裝置頭盔部分主控模塊電路圖
各類傳感器電路主要采用模塊化設計,通過+5V、+3 3V電源和GND組成直流供電輸入給各傳感器模塊,模塊之間采用去耦電容減少干擾。核心傳感器模塊電路如圖4所示。
圖4 核心傳感器模塊電路圖
DS18B20是一個數(shù)字溫度傳感器,采用的是單總線時序與主機通信,只需要一根線就可以完成溫度數(shù)據(jù)讀取。溫度檢測與數(shù)字數(shù)據(jù)輸出全集成于一個芯片之上,從而抗干擾力更強。其一個工作周期可分為兩個部分,即溫度檢測和數(shù)據(jù)處理。
火焰?zhèn)鞲衅魇抢眉t外線對火焰非常敏感的特點,使用特制的紅外線接收管來檢測火焰,然后把火焰的亮度轉(zhuǎn)化為電壓的變化后,通過裝置車載部分的STM32檢測AD值就可以判斷出火光的強弱做出相應的程序處理。
傳感器MP-2采用多層厚膜制造工藝,當環(huán)境空氣中有被檢測氣體存在時傳感器電導率發(fā)生變化,該氣體的濃度越高,傳感器的電導率就越高將其轉(zhuǎn)化為電壓的變化后,通過裝置車載部分的STM32檢測AD值就可以判斷出煙霧的濃度和DS18B20、火焰?zhèn)鞲衅骶涂梢越M成一個簡易的警報器。
紅外測距傳感器GP2Y0A21YK0F傳感器由信號處理電路、紅外發(fā)射二極管和位置探測器組成,物體的反射率、環(huán)境溫度和工作時間的變化不受影響。該裝置輸出與檢測距離相對應的電壓。通過單片機的AD檢測和和相應的公式即可算出距離。將傳感器放置在座椅前方就可以用于座椅檢測,當傳感器檢測到后裝置車載部分主控就可以做出相應的程序處理。
頭盔佩戴檢測模塊由兩個微動開關來檢測,1號微動開關位于頭盔內(nèi)襯頭頂部,2號微動開關位于頭盔帽帶卡扣內(nèi)側(cè)。當駕駛員佩戴頭盔時駕駛員的頭部會于頭盔內(nèi)襯貼合1號微動開關就會按下,駕駛員將卡扣插銷插入時會頂住裝在卡扣內(nèi)側(cè)的微動開關并將其按下。裝置頭盔部分STC15主控通過獲取這兩個微動開關的狀態(tài)實現(xiàn)頭盔佩戴的檢測,如果兩個微動開關都未按下或只按下一個時則認為駕駛員沒有規(guī)范佩戴安全頭盔。裝置頭盔部分模塊安裝位置示意如圖5所示。
圖5 裝置頭盔部分模塊安裝位置示意圖
當兩個微動開關都處于按下狀態(tài)時,裝置頭盔部分單片機將頭盔已佩戴安全佩戴的信息對應的二進制編碼調(diào)制為一系列的脈沖寬度調(diào)制(PWM)信號,通過紅外發(fā)射管發(fā)送以RC5位格式的信號。
紅外測距傳感器GP2Y0A21YK0F檢測到駕駛員以上車后,裝置車載部分一體化紅外接收頭HS0038開始接收RC5格式的紅外信號,經(jīng)裝置車載部分單片機解碼后并執(zhí)行對應程序。
壓電無源蜂鳴器,其內(nèi)部沒有激勵源,只有給它一定頻率的方波信號,才能讓蜂鳴器的振動裝置起振,從而實現(xiàn)發(fā)聲。蜂鳴器所需的驅(qū)動電流比較大,直接使用單片機IO直接驅(qū)動蜂鳴器比較吃力,需要搭配一個放大電路使用。
1 44寸 TFT SPI彩屏,分辨率 128×128,只需 4個IO口即可完成驅(qū)動,具有豐富多樣的接口、編程方便、易于擴展等良好性能。當紅外測距傳感器GP2Y0A21YK0F檢測到駕駛員以上車后連續(xù)三個檢測周期沒有接收到裝置頭盔部分發(fā)來的佩戴安全佩戴的信息對應的二進制編碼則通過蜂鳴器發(fā)出警報,顯示屏也會顯示相關提醒。
根據(jù)沃爾特·艾薩克森執(zhí)筆的《史蒂夫·喬布斯傳》改編的電影《喬布斯》使得當代大學生更加清楚地了解了他們的偶像——蘋果公司創(chuàng)辦人和前總裁喬布斯的輝煌一生:活著只為改變世界。喬布斯的火爆使當代大學生深刻地理解了“改變世界”的意義和人生努力的方向。然而,很少有同學知道“改變世界”來自馬克思“新世界觀萌芽的第一個天才文件”(恩格斯語)——《關于費爾巴哈的提綱》;這就是寫在馬克思墓碑上的名言——“哲學家們只是用不同的方式解釋世界,問題在于改變世界。”[1]502面對當代大學生只知喬布斯、不知馬克思的現(xiàn)狀,高校思政教育迫切需要闡明馬克思主義是“改變世界”的理論,既是“實踐的理論”,又是“理論的實踐”。
摩托車頭盔佩帶提醒裝置車載部分啟動后ESP8266 WiFi模塊進入服務器模式并開啟一個名為“EPS_SmartHelmet”的熱點供手機連接,在手機下載并安裝應用程序后,使用手機去連接熱點,即可通過WiFi進行數(shù)據(jù)通信。手機軟件的功能是通過WiFi模塊與裝置車載部分STM32主控通訊使其開啟或關閉頭盔佩戴提醒功能;調(diào)整頭盔傳感器的靈敏度,改變發(fā)出警報的閾值,如溫度過高的警報等;裝置車載部分出現(xiàn)異常時可以查看裝置發(fā)出的故障碼。調(diào)整的閾值及功能啟停的設置會存入裝置車載部分的EEPROM存儲芯片內(nèi)。
車載部分有兩個模式,工作模式與調(diào)試模式。程序啟動初始化各個模塊后默認進入工作模式,等待紅外測距模塊檢測到駕駛員上車,再判斷紅外接收管接收到的信號是否為頭盔已正確配戴的信號,如果沒有收到信號或是接受到錯誤信號,則發(fā)出警報后進行下一次接收。調(diào)試模式則負責將裝置的數(shù)據(jù)傳輸至手機APP。裝置車載部分程序流程如圖6所示。
圖6 車載程序流程圖
裝置啟動后系統(tǒng)開始初始化,完成后等待微動開關被按下。如果只有一個微動開關被按下則發(fā)送未正確佩戴頭盔信號給主機,發(fā)送完畢繼續(xù)檢測微動開關是否被按下;兩個微動開關同時被按下發(fā)出頭盔已正確佩戴信號給主機。發(fā)送完畢繼續(xù)檢測微動開關是否被按下。頭盔部分程序流程如圖7所示。
圖7 頭盔部分程序流程圖
該APP作為客戶端通過基于TCP/IP的Socket通信,與主機模塊上的WiFi進行通信。因WiFi模組在出廠時,已自動燒錄AT指令SDK,故可以直接通過AT指令進行二次開發(fā)。在APP程序設計中,給定IP地址與端口號,通過IsConnected()方法[2]查看是否連接服務器成功。成功則獲取Socket流對象里的輸入流數(shù)據(jù),將其解析并顯示在手機上。還可通過輸出流將附加模塊傳感器靈敏度設置發(fā)送給主機模塊。APP程序流程如圖8所示。
圖8 APP程序流程圖
由于主機模塊的傳感器眾多,數(shù)據(jù)傳輸與解析難度大大增加??紤]到眾多數(shù)據(jù)的解析問題,由此設計了一款專門用于本裝置于手機APP的傳輸協(xié)議[3],共八位數(shù)據(jù)組成幀格式,數(shù)據(jù)幀格式如表1所示。
表1 數(shù)據(jù)幀格式表
幀頭:用于判斷是否有數(shù)據(jù)。當接收到S時,代表接收到數(shù)據(jù)。
類型:每一個模塊代表一種類型。溫度模塊WD;頭盔檢測TK;煙霧模塊YW;火焰模塊HY;座椅檢測ZY。
狀態(tài):分有正常與異常,數(shù)據(jù)分別為Z和Y。
數(shù)據(jù):溫度模塊的數(shù)據(jù)范圍為00~99,單位為攝氏度℃;頭盔檢測的數(shù)據(jù)有ZC與YC,分別代表正常與異常;煙霧模塊與火焰模塊的數(shù)據(jù)范圍為00~99,是以數(shù)據(jù)百分比的形式進行傳輸,單位百分比%;座椅檢測的數(shù)據(jù)有YR與WR,分別代表有人與無人。
幀尾:用于判斷數(shù)據(jù)是否接收完畢。當接收到E時,代表數(shù)據(jù)接收完畢。
例如SwdZ26E,代表溫度傳感器正常,并檢測到溫度26℃;SywZ50E,代表煙霧傳感器正常,并檢測到煙霧濃度50%;StkYYCE,代表頭盔檢測異常,沒有檢測到從機的紅外信號。
將裝置車載部分、頭盔部分和軟件平臺進行聯(lián)合測試。首先,在手機上安裝頭盔佩戴提醒裝置調(diào)試工具APP;將設備通電,將手機連上車載部分的WiFi,進行各項功能的測試。設備的實物圖如圖9所示。頭盔佩戴提醒裝置調(diào)試工具APP界面如圖10所示。
圖9 整體設備實物
圖10 裝置APP
首先測試頭盔檢測功能,當駕駛員坐上座椅后裝置進行頭盔檢測,正常情況下駕駛員正確佩戴安全頭盔后裝置將不會發(fā)出警報。通過測試裝置頭盔部分紅外發(fā)送功能正常、裝置車載部分紅外接收功能正常,駕駛員佩戴安全頭盔后可以正常解除警報。其次測試在裝置調(diào)試模式下使用手機APP對裝置的安全頭盔佩戴提醒功能、安全頭盔佩戴記錄功能進行啟停及附加傳感器的警報靈敏度調(diào)節(jié)和啟停。通過測試裝置車載部分與手機APP的通訊正常、裝置車載部分可以讀寫EEPROM存儲器上的數(shù)據(jù)。經(jīng)過測試裝置各部分的功能都達到預期設想。