基于stm32單片機的智能導盲系統(tǒng)設計_第1頁
基于stm32單片機的智能導盲系統(tǒng)設計_第2頁
基于stm32單片機的智能導盲系統(tǒng)設計_第3頁
基于stm32單片機的智能導盲系統(tǒng)設計_第4頁
基于stm32單片機的智能導盲系統(tǒng)設計_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

[13]等,部分研究機構和公司也推出了結合GPS導航和無線通信等技術的高端智能導盲杖REF_Ref193902340\r\h\#"[0"[14-REF_Ref193902343\r\h\#"0]"15],這些導盲杖能幫盲人避開障礙物,還可以提供精確的定位和路徑規(guī)劃,國際上一些導盲杖產品還引入了機器學習算法,借助持續(xù)學習和優(yōu)化盲人的行走路徑,提高了導航的精確度和個性化服務。依據市場調研得知,國外智能導盲杖在價格、普及程度以及社會接受的認可度等方面存在挑戰(zhàn),高精度傳感器與復雜計算模型使得這些設備價格偏高,而且需要盲人有一定的技術適應水平和使用方法,這在一定程度上限制了其普及,未來,隨著傳感器技術、人工智能算法、無線通信技術等的發(fā)展,智能導盲杖有希望實現(xiàn)更精確、高效、個性化的輔助服務,提升盲人的生活品質和社會參與度。主要研究內容此智能導盲系統(tǒng)綜合了超聲波測距、光照檢測、加速度傳感器、GPS定位還有GSM通信模塊等多種技術,目的是為盲人供給一個高效、安全、智能的生活輔助對象,以下會把本課題的設計思路和研究內容進行詳細說明。智能導盲杖運用超聲波測距模塊實現(xiàn)前方障礙物的實時檢測,超聲波測距技術可發(fā)射聲波,接著接收反射波,計算障礙物與導盲杖之間的距離,進而給盲人提供周圍障礙物的實時資訊,為了把其智能化水平提高,當障礙物靠得十分近時,系統(tǒng)不只借助蜂鳴器發(fā)出提醒聲音,提醒盲人及時閃躲,還借助語音播報功能,實時給盲人傳達周邊障礙物的方位信息,進一步輔助盲人找準前進的方向,以語音進行提示的功能,結合對盲人與障礙物相對位置的判定,可以順利引導盲人調整前進路線,提升盲人在道路上行走的安全性。伴隨夜間出行需求的增長,光照強度監(jiān)測功能的重要性十分顯著,本設計采用了光敏電阻傳感器來感知所處環(huán)境的光照強度,要是環(huán)境光線降低到過低時,導盲杖會自動把照明燈打開,給出必需的照明,系統(tǒng)也借助語音功能,提醒盲人留意周邊的行人或車輛,保證在光線欠佳的情況下,盲人盡量避免跟外界發(fā)生矛盾沖突,該功能極大提升了盲人在復雜或昏暗環(huán)境里的安全保障能力。本設計的一個重要安全保障是跌倒監(jiān)測功能,采用三軸加速度傳感器,系統(tǒng)可實時確認盲人是否出現(xiàn)摔倒等緊急情形,若加速度傳感器監(jiān)測到異常的加速度變化,系統(tǒng)會馬上啟動GPS模塊得到當前位置的經緯度詳情,再通過GSM模塊發(fā)出求救的短信,該功能極大提高了盲人應對突發(fā)事故時的自救本領,同樣可及時向親友或救援機構發(fā)送求救的訊息,提供幫助。智能導盲杖還額外設置了求救按鈕,盲人只要按一下按鈕,便可主動發(fā)送求救信號,按下按鍵之后,GSM模塊將向預設的電話號碼發(fā)送帶有求救信號以及此刻GPS位置的短信,該功能為盲人補充了額外的緊急求助形式,尤其是在沒有外界支援的情形下,可為盲人實時給出援助信息。除了這些主要功能外,本設計也顧及了用戶的個性化需求,憑借設置按鍵模塊,用戶能按照自己實際的需求,調節(jié)超聲波測距的閾值以及光照強度的敏感度,盲人可按照自己一貫的使用習慣和需求,定制導盲杖的工作模式,提升使用的便捷性與靈活性。OLED液晶顯示屏實現(xiàn)了檢測數據的可視化展示,盲人雖無法直接對屏幕上的信息進行查看,但能借助語音播報功能獲取相應的數值反饋,諸如障礙物的距離與光照強度等,這些信息的展示不僅能助力盲人在日常使用時知曉當前環(huán)境,還可給出實時的反饋內容,便于迅速調整行進方案。借助STM32單片機實現(xiàn)的智能導盲杖,整合了超聲波測距、光照感應、加速度傳感、GPS定位和GSM通信等一系列先進技術,擁有障礙物探測、跌倒監(jiān)測、光照自動調整和緊急求救等多項智能功能,它不僅明顯提高了盲人在出行方面的安全性,還能輔助他們在不同環(huán)境當中更自如地走動,隨著技術不停進步和優(yōu)化,未來的智能導盲杖會進一步智能化、個性化,為更多盲人打造更便捷、安全的生活情形。

系統(tǒng)總體設計方案需求分析該系統(tǒng)軟件架構主要由初始化模塊、功能處理單元以及串口通信接口三部分所組成,系統(tǒng)啟動伊始,首先去完成各功能模塊的初始化配置,用戶能借助按鍵交互界面去設置關鍵參數,有安全距離閾值與環(huán)境光強度限定值等相關參數,實時信息借助OLED顯示屏實現(xiàn)可視化展示,同時結合了GPS定位功能。為實現(xiàn)遠程通訊的需求,系統(tǒng)采用GSM模塊以支持短信收發(fā)跟語音通話功能,就安全監(jiān)測這一領域而言,選用DA213B三軸加速度傳感器達成跌倒行為識別,此傳感器采集到的數據經過智能算法處理完畢后,可進一步拓展到多種輔助設備開發(fā)應用范疇,本研究在增進視障人士生活自主性方面呈現(xiàn)出顯著的實際應用價值??傮w設計架構本系統(tǒng)采用STM32F103C8T6作為系統(tǒng)的主控芯片,利用HC-SR04超聲波傳感器實現(xiàn)對障礙物距離的檢測工作,為使夜間出行有安全保障,系統(tǒng)添加了光敏傳感模塊,可按照環(huán)境光照強度自動管控LED補光裝置,就安全監(jiān)測這方面而言,以高精度DA213B加速度傳感器進行跌倒行為識別,還與GPS定位模塊結合實時獲取位置資訊,當探測到緊急情形或跌倒事件時,系統(tǒng)將借助SIM800通信模塊給預設聯(lián)系人發(fā)送報警短信,完成及時的遠程預警成效。1、電路供電部分:整個電路基本工作電壓為5V,單片機燒寫程序可通過STINKV2下載器進行下載。2、人機交互。通過SIM800模塊,將單片機和手機進行短信通信,手機上可以顯示采集到的心率體溫、是否跌倒和經緯度信息。3、信號處理。STM32F103C8T6單片機作為CPU,進行數據的采樣以及分析運算。4、數據采集。使用HC-SR04超聲波進行數據采集,DA213B進行老人跌倒檢測,光敏光線采集判斷,GPS定位。5、數據展示。在經過運算之后,通過設備上的OLED液晶顯示屏可以得到當前測試,測量方法如圖2.1所示,當前方有障礙物時,超聲波傳感器會發(fā)出并接收回波信號,通過測量回波的時間來計算物體與傳感器之間的距離。具體數據如圖2.2所示:圖中顯示屏第一行Dis為與障礙物的距離(單位為厘米),10指與障礙物的實際距離,5指設定的與障礙物之間的閾值,當實際距離小于閾值時會發(fā)出警報;第二行L指光照強度,光照強度越弱所顯示的值就會越大,二者呈反比關系,圖中462指實際光強,2500指設定的光照強度閾值,當實際光強大于設定的閾值時就會開啟燈光。第三行和第四行分別顯示經緯度,圖中顯示為東經114.3826,以及北緯36.0870。圖2.1超聲波傳感器測距展示圖2.2顯示屏數據展示

系統(tǒng)功能模塊設計系統(tǒng)硬件原理圖本系統(tǒng)采用STM32F103C8T6作為系統(tǒng)的主控芯片,包括了電路供電、光照采集模塊、顯示模塊、加速度傳感器模塊、聲音模塊、GMS模塊、超聲波模塊、GPS模塊,系統(tǒng)硬件電路原理圖如圖3.1所示。圖3.1系統(tǒng)硬件原理圖STM32單片機介紹單片機最小系統(tǒng)是能保障單片機正常運行、完成其基本功能的微型計算機系統(tǒng),作為集成在一起的控制核心,該系統(tǒng)除了有中央處理器之外,還集成了所需的輸入輸出模塊、定時計數單元以及通信接口等核心組件,從技術架構的維度看,現(xiàn)代單片機已經發(fā)展到相當成熟的水平,但該基礎系統(tǒng)依舊堅守著精簡的設計理念,本文重點對單片機最小系統(tǒng)的基本構成及其工作原理進行探討。STM32F103C8T6單片機如圖3.2所示。圖3.2單片機最小系統(tǒng)框主要功能模塊電路圖電源電路設計電源電路設計是智能導盲杖系統(tǒng)里極為要緊的組成部分,承擔為系統(tǒng)供應穩(wěn)定電壓以及充足電流的工作,本設計采用了DC-DC升壓的這類模塊,把外部輸入的5V直流電壓提高成所需的3.3V和12V電壓,以滿足32單片機及其他像超聲波傳感器、電機驅動模塊等外設實現(xiàn)工作的需求,該模塊憑借USB接口連接外部電源適配器或移動電源,賦予穩(wěn)定的5V電壓,然后經升壓電路轉換成所需的輸出電壓,為讓輸出電壓維持穩(wěn)定水平,電源電路合理配置了電容器進去,降低電流的起伏,保障系統(tǒng)穩(wěn)定地開展運行。在電源電路設計相關工作中,5V100μF電容器實現(xiàn)了濾波、去噪與穩(wěn)壓的多重用途,因為電源輸入端(像USB接口)或許存在電壓波動或噪聲,5V100μF電容器可對這些波動起到平滑作用,給予更安定的電壓,減少高頻噪聲、瞬時電壓波動對系統(tǒng)中敏感電路(如單片機和傳感器)產生的干擾,加強系統(tǒng)整體穩(wěn)定性。要是系統(tǒng)負載出現(xiàn)了變動,電容器憑借儲存電荷有效緩沖電流的改變,維持電壓的穩(wěn)定水平,防止系統(tǒng)因電壓波動而出現(xiàn)重啟以及錯誤操作,電源電路的過壓、過流保護設計及低電壓報警系統(tǒng),進一步改善了電源的安全性與可靠性,保障系統(tǒng)能持續(xù)穩(wěn)定地為智能導盲杖給予電力支持。電源電路設計如圖3.3所示。圖3.3電源電路圖定位柱電路設計在電路當中運用了四個定位柱,分別是H1、H2、H3以及H4,這些定位柱借助連接到地也就是GND的方式來達成定位的功能,每一個定位柱所有的電路結構是比較相似的,所有定位柱的其中一個端口連接到地,而另一個端口是憑借固定孔來進行連接的,以此來保障機械部件處于正確的位置并且有穩(wěn)定性。這樣的設計可幫助達成精確的組件定位,一般會應用在電路板或者是其他有著精確定位需求的系統(tǒng)當中,定位柱電路的設計情況如圖3.4所示。圖3.4定位柱電路圖超聲波測距傳感器設計HC-SR04超聲波測距傳感器借助4個引腳和STM32F103C8T6單片機相連,傳感器的VCC也就是引腳1和5V電源相接,給超聲波模塊供應工作所需電壓,GND即引腳4接地,保障電路正常運行,HC-SR04模塊經PA6即引腳2和PA7即引腳3與單片機開展數據傳輸。PA6負責發(fā)送超聲波信號的觸發(fā)信號,而PA7接收從物體反射回來的回波信號,這樣的配置讓STM32可操控超聲波傳感器并接收回波信號,借助測量回波的時間算出物體與傳感器之間的距離。超聲波測距傳感器的工作原理是發(fā)射超聲波并計算回波時間,以此確定物體的距離。在設計里,PA6和PA7與STM32F103C8T6的GPIO引腳相連,STM32依靠編程控制這些引腳狀態(tài),發(fā)送觸發(fā)信號并接收回波信號,測距結果可用于智能導盲杖的障礙物檢測功能,幫助用戶在移動時避免碰撞,該傳感器實時測量前方障礙物距離,把檢測到的距離數據傳輸給STM32,再借助算法判斷有無障礙物并給出警示反饋,保障用戶安全。電路設計考慮了電源電壓要求,HC-SR04模塊一般在5V電壓下工作,而STM32單片機在3.3V環(huán)境中工作,PA6和PA7引腳的電平轉換要保證信號的兼容性與穩(wěn)定性,憑借精確的超聲波測距,導盲杖能有效識別障礙物的存在,優(yōu)化用戶的行走路徑,超聲波測距傳感器設計如圖3.5所示。圖3.5超聲波測距傳感器OLED顯示屏電路設計在智能導盲杖的設計工作當中,OLED顯示屏被運用來呈現(xiàn)傳感器的測量結果以及系統(tǒng)的狀態(tài)信息,按照電路設計的相關要求,OLED顯示屏一般會采用I2C或者SPI通信協(xié)議與STM32F103C8T6單片機進行連接,顯示屏的VCC引腳連接至3.3V電源,以此為OLED屏給予穩(wěn)定的電壓,保證屏幕可正常顯示。GND引腳接地,作為電路的地參考標準,OLED的SCL和SDA引腳分別連接到STM32對應的I2C引腳,其中SCL用于時鐘信號的傳輸,SDA用于數據的傳輸工作,為了保證數據通信的穩(wěn)定性,一般會在SCL和SDA引腳上配置適宜的上拉電阻,這些引腳的電連接使得STM32單片機可借助I2C協(xié)議與OLED顯示屏開展數據交互,達成信息的實時更新與顯示。OLED顯示屏的功能是向用戶提供直觀的反饋信息,囊括障礙物距離、導盲杖的當前狀態(tài)、系統(tǒng)提示等方面,在設計過程中,借助STM32控制顯示內容的更新,用戶可借助OLED屏實時查看測距數據、環(huán)境信息或者故障警告,在進行顯示設計時,要依據導盲杖的實際應用場景對顯示界面加以優(yōu)化,保證信息簡潔、清晰且易于閱讀。因為OLED屏自身有自發(fā)光特性,不需要背光,有著較低的功耗以及較高的對比度,比較適合低功耗應用,借助精準的電路設計和編程,OLED顯示屏可為導盲杖系統(tǒng)提供有效的可視化支持,提升用戶體驗以及智能導盲杖的使用效率,OLED顯示屏電路設計如圖3.6所示。圖3.6OLED顯示屏電路光照采集電路設計在智能導盲杖系統(tǒng)當中,光照采集電路承擔著檢測環(huán)境光照強度的任務,為整個系統(tǒng)供給實時的光照信息,該電路一般會采用光敏電阻也就是LDR或者光電傳感器比如光電二極管與STM32F103C8T6單片機相連接,光敏電阻的一個端口連接至3.3V電源,另一個端口經由電阻和STM32的模擬輸入引腳相連。借助設置適宜的電阻值,可構建出一個分壓電路,借助光敏電阻的電阻值會隨著環(huán)境光照強度的改變而變化,產生相應的電壓信號,STM32依靠讀取這個電壓信號的模擬值,來計算環(huán)境的光照強度,此信號經過內置的ADC也就是模擬-數字轉換器進行采樣以及轉換,為后續(xù)的光照數據處理奠定基礎。光照采集電路設計呈現(xiàn)于圖3.7。光照采集電路的主要功能是依據環(huán)境光的變化來調整導盲杖的工作模式,舉例來說,當光照強度比較弱的時候,系統(tǒng)可增加其他輔助功能像語音提示,以此來幫助用戶在較暗的環(huán)境中行走,而當光照充足時,就可以減少不必要的功能,延長電池使用壽命。為了保證系統(tǒng)的穩(wěn)定性,光照采集電路設計時需要考慮到電源噪聲的影響,可以添加濾波電容器來減少信號中的高頻噪聲,而且光照傳感器的選擇應該依據實際需求進行調整,保證其在不同的環(huán)境條件下可提供準確的光照數據,依靠這樣的設計,導盲杖系統(tǒng)可更加智能地響應環(huán)境變化,提升用戶體驗。圖3.7光照采集電路GSM短信無線通信設計在智能導盲杖設計中,GSM短信無線通信電路通過鏈接GMS模塊(如GT-GA10)與STM32F103C8T6單片機進行數據交互,以此實現(xiàn)短信無線通信功能。在該設計中,GSM模塊的VCCIN引腳(引腳1)和GND引腳(引腳2)分別連接到5V電源和地線,提供穩(wěn)定的電源供應。GSM模塊的TXD(引腳8)和RXD(引腳7)分別通過PB11和PB10與STM32的串口引腳連接,實現(xiàn)數據的發(fā)送和接收。STM32通過PB10和PB11引腳與GSM模塊進行串行通信,接收短信信息或發(fā)送指令,通過GSM網絡實現(xiàn)遠程通信功能。GSM無線通信電路如圖3.8所示。GSM短信無線通信設計的關鍵功能在于借助GSM模塊的串口通信來和STM32單片機開展短信的發(fā)送與接收工作,借助對STM32串口通信功能進行編程控制,可達成把用戶輸入的信息經由GSM網絡傳送到指定的手機號,還可接收來自手機的短信信息并加以處理,該項設計適用于智能導盲杖里的緊急求助功能,當用戶碰到險阻之際,可以借助導盲杖發(fā)送求助短信,以此通知預設好的聯(lián)系人。在電路設計過程中,保障GSM模塊與STM32之間的通信穩(wěn)定十分關鍵,信號電平轉換以及電源管理方面,經過合理設計與調試,GSM模塊可為導盲杖提供實時且便捷的無線通信功能。圖3.8GSM通信電路蜂鳴器提醒電路蜂鳴器提醒電路是借助對PC14引腳加以控制來與蜂鳴器實現(xiàn)連接的,在這個電路里,蜂鳴器的一個端口被連接到3.3V電源,以此來保證蜂鳴器可正常運作,其另一個端口經由PC14連接至STM32F103C8T6單片機,蜂鳴器的GND引腳與地相接,構成一個完整的電路回路。借助對PC14引腳電平的控制,STM32可精準地操控蜂鳴器的開啟與關閉,當PC14引腳輸出高電平時,蜂鳴器就會發(fā)出聲音進行提示,而當引腳輸出低電平時,蜂鳴器便會關閉,蜂鳴器提醒電路的具體情況如圖3.9所示。蜂鳴器提醒電路的主要作用是為用戶給予聲音反饋,一般是用于警告或者提示功能的。在智能導盲杖當中,這個電路可用于障礙物提醒、狀態(tài)提示或者緊急報警等方面,比如說,當導盲杖檢測到前方存在障礙物時,蜂鳴器就會發(fā)出警告的聲音,以此提醒用戶進行避讓,借助對STM32的PC14引腳進行編程控制,可調節(jié)蜂鳴器的頻率以及時長,實現(xiàn)不同的聲音提示效果。此電路設計較為簡單,成本也比較低,可切實有效地提升導盲杖的智能化程度,提高用戶的安全感以及使用體驗。圖3.9蜂鳴器提醒電路按鍵設置電路按鍵設置電路包含了四個獨立的按鍵(SW1、SW2、SW3、SW4),它們分別連接到STM32F103C8T6單片機的PB12、PB13、PB14和PB15引腳。每個按鍵的另一端連接到地(GND),形成一個簡單的開關電路。按鍵按下時,相應的PB引腳會被拉低,產生一個低電平信號,STM32通過檢測這些引腳的電平變化,能夠識別按鍵的狀態(tài)。通過編程,STM32可以讀取這些按鍵的輸入狀態(tài),實現(xiàn)不同的控制功能,如選擇模式、調節(jié)音量或啟動特定的功能等。按鍵設置電路如圖3.10所示。該按鍵設置電路的作用是為用戶供給一個直觀的交互手段,輔助用戶憑借按鍵操作控制導盲杖的多樣功能,在智能導盲杖系統(tǒng)當中,按鍵可用來切換工作模式、開啟/關閉報警功能、對設備設置進行調節(jié)等,經由設置多個按鍵,用戶可便捷地開展選擇與調整操作,提升使用的體驗感,為保障按鍵操作的穩(wěn)定性和精準度,電路設計過程中也許會使用上拉電阻,或者去配置內部的上拉電阻,杜絕按鍵接觸不良、抖動引發(fā)的錯誤讀數現(xiàn)象,此設計實現(xiàn)起來簡單容易,且可切實增強系統(tǒng)的可操作性。圖3.10按鍵設置電路GPS定位電路在智能導盲杖的設計過程當中,GPS定位電路借助連接GPS模塊和STM32F103C8T6單片機達成實時定位的功能,GPS模塊的VCC引腳跟5V電源相連,以此提供其工作所需要的電壓,GND引腳接地,形成電路的完整回路,GPS模塊經由TXD以及RXD和STM32的PA2與PA3引腳相連,來開展串行通信。PA2接收源自GPS模塊的定位數據,PA3則是用來向GPS模塊發(fā)送控制命令或者請求數據,PPS引腳用于接收精準的時間同步信號,雖說該信號在某些應用里可能不直接被使用,不過它可為定位系統(tǒng)提供高精度的時間參考,GPS定位電路的設計情況如圖3.11所示。GPS定位電路的用途是借助獲取衛(wèi)星信號,實時采集用戶的地理位置數據,STM32對GPS模塊遞送的NMEA格式定位數據進行解析,選出經度、緯度、海拔等相關地理信息,并把這些數據運用到系統(tǒng)的導航或位置報告功能方面,在智能導盲杖這一產品里,GPS定位能協(xié)助用戶達成位置追蹤、實時導航,若遇到緊急情況,便向提前預設好的聯(lián)系人發(fā)送位置坐標,做電路設計的時候,要確保GPS模塊能收到足夠衛(wèi)星信號,合理的天線布局加上良好的電源管理是關鍵,依靠這些設計,GPS模塊可為導盲杖給予精準的位置服務,提高用戶的定位功能及安全性。圖3.11GPS定位電路DA213B三軸加速傳感器電路DA213B三軸加速傳感器借助STM32單片機的PB7、PB6以及PB5引腳來實現(xiàn)連接,還提供3.3V的電源以及5V電源,加速傳感器的功能是對盲人的運動狀態(tài)展開實時監(jiān)測,用于檢測跌倒或者異常運動,一旦加速度傳感器察覺到劇烈的加速度變化,系統(tǒng)便會經由STM32單片機發(fā)出警報,并且可借助GPS和GSM模塊發(fā)送求救短信。如此一來,盲人在遇到突發(fā)狀況的時候可及時獲得幫助,安全性以及應急響應能力得以提升,三軸加速度傳感器的設計呈現(xiàn)于圖3.12。圖3.12DA213B三軸加速傳感器電路系統(tǒng)軟件設計軟件主程序架構在智能導盲杖系統(tǒng)的軟件主程序架構里,系統(tǒng)流程是從初始化著手的,目的在于保證各個硬件組件以及外設都可正常運作,先是開展系統(tǒng)初始化工作,其中囊括了配置GPIO引腳、串口通信、傳感器以及定時器等方面,初始化完成之后,程序便進入主循環(huán),首先要判斷是否接收到了GPS數據。要是GPS數據成功被接收,程序就會對這些數據進行解析,然后在OLED屏幕上顯示出GPS位置信息,要是沒有接收到GPS數據,系統(tǒng)就會繼續(xù)運行其他功能模塊,緊接著,定時器會每秒觸發(fā)一次,以此來檢查是否已經到達1秒定時周期,要是到達了1秒,系統(tǒng)就會開始進行超聲波測距,獲取距離數據,并且讀取光照傳感器的數值。在獲取傳感器采集數據后,系統(tǒng)要對環(huán)境光照以及障礙物情況做告警判定,若檢測到光線暗得厲害,系統(tǒng)會語音提示用戶“當前光線太暗”;若檢測到前方遇見障礙物,會憑借語音提示“前方有障礙物”,且在屏幕上展示出相應的傳感器數據,系統(tǒng)依舊會讀取陀螺儀數據,鑒別是否出現(xiàn)摔倒現(xiàn)象。若出現(xiàn)摔倒情況,系統(tǒng)會語音播報“疑似摔倒”,隨即自動給預設的聯(lián)系人發(fā)去短信,告知其實際位置,整個系統(tǒng)流程保證導盲杖可實時對環(huán)境變化和用戶需求予以響應,并且提供使用時的安全保障,程序將不斷開展循環(huán)運行,保障各個功能模塊穩(wěn)定運行以及用戶實時反饋。程序主程序架構圖如圖4.1所示。圖4.1軟件主程序架構圖超聲波測距子程序設計在超聲波測距程序設計之時,最先要做的是硬件初始化,也就是對超聲波模塊的引腳加以配置,借助voidHCSR0410Init(void)函數來初始化超聲波的觸發(fā)引腳以及接收引腳,以此保證超聲波模塊可正常運作,運用voidTIM3_Init(u16arr,u16psc)初始化定時器,為超聲波測距提供時間方面的基準。定時器3用于測量超聲波信號的傳輸時間,也就是從發(fā)送超聲波脈沖一直到接收回波所需要的時間,為防止超聲波脈沖從發(fā)射器直接回到接收器所產生的干擾,在程序設計里添加了大概0.1毫秒的延時,以此保證超聲波脈沖可傳播到目標物體并且反射回來,保證測量的準確性。當超聲波脈沖被發(fā)送出去后,程序借助定時器3來接收返回的超聲波信號。在這個時候,外部定時器會開始計時,一直到接收到回波信號,當主程序檢測到接收標志位被設置的時候,就說明回波信號成功接收,在這個時候程序會獲取定時器3的計數值,依據計數值和聲速公式,程序計算出超聲波從發(fā)射到接收所經歷的時間,確定目標物體與測距儀之間的距離。憑借這樣的設計,系統(tǒng)可較為精準地測量前方物體的距離,提供實時的障礙物信息,并且進行相應的告警和反饋,超聲波測距子程序設計流程圖如4.2所示。圖4.2超聲波測距程序子流程圖液晶顯示模塊子程序設計液晶顯示模塊程序設計流程自入口起始,最先要對STM32的相關引腳給予配置,液晶顯示模塊一般借助I2C接口與STM32單片機相連,要把SCL和SDA引腳配置成開漏輸出模式,以此來支持I2C通信,隨后程序會檢查液晶顯示模塊有沒有成功開啟,要是模塊處于開啟狀態(tài),程序便會接著開展液晶寄存器地址的設置工作。寄存器地址的設置能讓液晶模塊清楚數據將會存儲的地址或者控制寄存器的位置,以此保證數據可以準確無誤地傳送到液晶屏。設置好寄存器地址之后,程序就開始發(fā)送要顯示的數據,數據經由I2C接口傳輸至液晶顯示模塊,然后寫入液晶屏的內存區(qū)域,一旦數據寫入完畢,程序會確認數據傳輸已然成功結束,接著關閉I2C通信,避免出現(xiàn)數據沖突或者通信干擾。這時液晶顯示模塊開始顯示當前的數據,或許包含環(huán)境參數、狀態(tài)信息或者警告提示等,完成數據傳輸后,程序返回主循環(huán),繼續(xù)開展其他操作,保證液晶顯示模塊不斷更新并提供用戶所需的信息,液晶顯示模塊程序子流程圖如圖4.3所示。圖4.3液晶顯示模塊程序子流程圖聲音傳感器子流程圖首先要做的是,系統(tǒng)會對GPIO引腳進行初始化操作,以此來保證聲音傳感器可正常開展工作,緊接著,系統(tǒng)會去判斷是否接收到了聲音播放的指令,要是接收到了該指令,那么系統(tǒng)就會播放與之對應的聲音,要是沒有收到指令,便會進入結束狀態(tài),等待下一次指令的到來,整個過程有簡單、直接的特點,保證了聲音反饋功能可及時做出響應。聲音傳感器子流程圖如圖4.4所示。圖4.4聲音傳感器子流程圖GSM短信子流程圖系統(tǒng)啟動之際會開展串口初始化工作,緊接著,系統(tǒng)會判定是否接收到了AT指令,該指令乃是與GSM模塊進行通信的基礎命令,要是接收到了AT指令,系統(tǒng)便會執(zhí)行發(fā)送短信的操作,流程在發(fā)送完短信后宣告結束,此流程的最關鍵的是借助AT指令來操控GSM模塊實現(xiàn)短信的發(fā)送,以此保障智能導盲杖在有需求時可達成有效的通訊。GSM短信子流程圖呈現(xiàn)在圖4.5之中。圖4.5GSM短信子流程圖加速傳感器程序子流程圖DA213B加速傳感器程序子流程圖有一項關鍵功能,那就是憑借持續(xù)實時監(jiān)測盲人的運動狀態(tài),以此來保障盲人的安全,系統(tǒng)借助IIC總線開啟與加速傳感器的通信流程,并對傳感器展開初始化設置操作,緊接著,系統(tǒng)會去檢測是否出現(xiàn)長時間的靜止狀態(tài),一旦加速傳感器監(jiān)測到盲人處于長時間靜止不動的情形,便會觸發(fā)系統(tǒng)自動發(fā)送求救短信。以這樣的形式,系統(tǒng)在盲人遭遇突發(fā)狀況時,可及時向預先設定好的聯(lián)系人發(fā)送求救信息,保證盲人可以獲得及時的援助,DA213B子程序流程圖呈現(xiàn)在圖4.6之中,DA213B加速度傳感器子程序流程圖同樣展示于圖4.6。圖4.6DA213B加速度傳感器子程序流程圖蜂鳴器報警程序子流程圖蜂鳴器報警程序流程自入口起始,首先會對是否需要觸發(fā)報警條件展開檢查,該程序會判定系統(tǒng)里是否存在如障礙物檢測、摔倒檢測或者其他警告信號等報警觸發(fā)條件,一旦條件得以契合,程序便會向蜂鳴器發(fā)送信號,啟動蜂鳴器發(fā)出聲響,蜂鳴器的持續(xù)工作時長會依據報警的緊急程度來設定,要是需要持續(xù)報警,那么蜂鳴器會持續(xù)發(fā)聲,直至報警條件解除或者時間達到預定的限制。完成報警之后,程序返回,繼續(xù)監(jiān)測系統(tǒng)狀態(tài),等候下一次報警條件的觸發(fā),蜂鳴器報警子程序流程圖如圖4.7所示。圖4.7蜂鳴器報警子程序流程圖GPS定位程序子流程圖GPS定位程序流程自入口起始,最先開展系統(tǒng)初始化操作,其中涉及了對STM32引腳的設置以及串口配置工作,以此保證與GPS模塊之間的通信通道處于正常狀態(tài),緊接著,程序會發(fā)送AT指令或者相應的命令來啟動GPS模塊,同時請求獲取定位數據,程序借助串口接收來自GPS模塊的NMEA格式數據,對這些數據加以解析,從中提取出經度、緯度等定位信息。要是GPS數據可成功接收并解析,程序便會更新顯示設備上的位置信息,并且依據需求依靠蜂鳴器或者語音模塊給予實時反饋。如果GPS模塊未能成功接收到有效的數據,程序會進行錯誤處理或重試,直到獲得有效定位信息。獲取到有效GPS數據后,系統(tǒng)將持續(xù)監(jiān)控并更新位置信息,確保導盲杖能夠實時提供用戶的準確位置。在定位過程中,程序會不斷判斷GPS信號的質量,確保定位精度滿足要求。如果定位信息發(fā)生變化,系統(tǒng)會更新顯示,并根據需要發(fā)送求助短信等信息到預設聯(lián)系人,確保用戶在緊急情況下能夠得到及時幫助。GPS定位程序子流程圖如圖4.8所示。圖4.7GPS定位程序子流程圖

仿真與實物調試分析仿真調試分析本設計采用Keil5和AltiumDesigner軟件進行仿真驗證,下面將重點介紹Keil5和AltiumDesigner軟件的使用及調試方法,目的是創(chuàng)造出一個更完美的智能導盲系統(tǒng),為盲人的生活提供便利。KeiluVision5仿真功能仿真:利用Keil5的調試功能,對系統(tǒng)各模塊的驅動程序進行仿真測試,驗證其功能正確性。例如,通過模擬超聲波測距模塊的輸入信號,測試系統(tǒng)能否正確計算距離并觸發(fā)語音播報;通過模擬加速度傳感器的輸出信號,測試系統(tǒng)能否準確識別跌倒狀態(tài)并發(fā)送求救短信。性能仿真:利用KeiluVision5的性能分析工具,對系統(tǒng)程序的運行效率進行分析,優(yōu)化代碼結構,提高系統(tǒng)響應速度。下面介紹KeiluVision5軟件使用方法:1、新建工程:打開KeiluVision5軟件后依次點擊Project→NewμVisionProject,如圖5.1→選擇保存路徑→選擇目標芯片型號如圖5.2(本設計選擇STM32F103C8T6)→點擊OK。圖5.1新建工程圖5.2芯片的選擇2、添加文件到工程:右鍵ProjectWorkspace中的SourceGroup1→AddExistingFiles,如圖5.3。圖5.3添加文件到工程3、配置頭文件路徑:點擊魔術棒圖標(OptionsforTarget)→

C/C++標簽→

IncludePaths右側的...按鈕,會得到如圖5.4的結果。圖5.4路徑的選擇4、調試與驗證:編寫好程序后點擊Build進行編譯,編譯結果若顯示“0Error(s),0Warning(s)”則說明程序可以正常運行,如圖5.5。圖5.5編譯結果展示AltiumDesigner20仿真:電路仿真:利用AltiumDesigner的電路仿真功能,對系統(tǒng)硬件電路進行仿真測試,驗證其電氣特性是否符合設計要求。例如,測試電源電路的穩(wěn)定性、信號傳輸的完整性等。PCB仿真:利用AltiumDesigner的PCB仿真功能,對PCB布局布線進行仿真分析,優(yōu)化信號走線,降低電磁干擾,提高系統(tǒng)可靠性。如何用AltiumDesigner20進行電路設計和繪制PCB線路板步驟如下:1、打開AltiumDesigner20后,依次點擊文件→新的→項目→創(chuàng)建PCB項目,接著點擊點擊文件→新的,依次創(chuàng)建原理圖和PCB圖,操作界面如圖5.6。接著點擊文件,選擇全部保存,如圖5.7。圖5.6創(chuàng)建項目圖5.7保存文件2、在原理圖中安裝原理圖庫:點擊右下角的Panels,勾選Components,如圖5.8,此操作可以打開元件庫,方便我們設計原理圖,元件庫需要自己根據需求去安裝,本設計部分元件如圖5.8。圖5.8庫的選擇圖5.9元件庫3、當原理圖繪制完畢后依次點擊工程、ValidatePCBProjectPCB_Project.PrjPcb,進行編譯,如圖5.10。若原理圖中無標紅部分,則代表原理圖無誤。圖5.11為編譯后的原理圖,無標紅部分,代表原理圖無誤。圖5.10編譯原理圖圖5.11經編譯后的原理圖實物調試在完成仿真驗證后,進行實物調試,進一步驗證系統(tǒng)功能和性能。硬件調試系統(tǒng)硬件實現(xiàn)流程如下:在完成電路原理圖設計并驗證各功能模塊正確性后,進入PCB制作階段。選用通用型實驗板作為電路載體,采用手工焊接方式完成元器件裝配。首先焊接STM32微控制器及其最小系統(tǒng)電路,待確認焊接質量合格后,依次安裝各功能模塊。系統(tǒng)采用5VUSB電源供電,初次上電時需進行短路檢測:當電源指示燈正常點亮且OLED顯示屏完成初始化顯示,表明供電系統(tǒng)工作正常。隨后通過SWD接口將編譯好的固件程序燒錄至微控制器。若程序燒錄成功,OLED界面應顯示預設的系統(tǒng)參數,此現(xiàn)象可初步驗證硬件連接的正確性。最后進入系統(tǒng)功能調試階段,按照模塊化測試方案依次驗證:電源管理、傳感器數據采集、通信接口等功能單元。每個測試環(huán)節(jié)均需記錄關鍵參數,并與設計指標進行比對,確保系統(tǒng)達到預期的性能要求。將燒錄好的單片機重新打開,首先我們插好手機卡后GMS會初始化成功,并且超聲波可以采集到當前的距離,此時OLED液晶顯示器顯示信息,進入主頁面,主頁面分為四行,上面顯示距離、光照等信息。光線暗的時候光敏電阻根據光線強弱開啟LED燈進行照明。當DA213B發(fā)生傾倒時一段時間后,單片機通過GMS模塊發(fā)送短信到手機上,可以看到手機接收到短信。實物圖如圖5.12所示。圖5.12智能導盲杖系統(tǒng)實物圖軟件調試在開展基于STM32單片機的智能導盲系統(tǒng)實物焊接工作時,需要對下列功能進行調試:1、電路供電功能調試電壓穩(wěn)定性測試:采用萬用表測量電源輸出端的電壓,保證在接上各類負載時,輸出的5V電壓都可維持平穩(wěn),波動范圍處在允許的誤差界限內。電源極性檢查:核查電路中各元器件的電源引腳連接是否無誤,保證正負極性不存在錯誤,防止因極性反接引起元器件損壞。2、人機交互功能調試短信通信測試:依靠手機向SIM800模塊發(fā)送指令,檢查單片機是否能合理接收并解析指令,接著確認手機能否準確接收。信息準確性驗證:對實際采集的數據與手機所顯示的數據加以對比,讓信息的準確性和實時性得到保障。3、信號處理功能調試單片機初始化檢查:借助調試工具考察單片機的時鐘配置、引腳初始化等設置是否準確無誤,保證單片機在設定主頻下能正常開展工作,各引腳的功能配置契合設計要求。數據處理算法驗證:輸入差異化的模擬數據,檢驗單片機對采集到的數據做采樣、分析和運算得出的結果是否無誤,能通過跟理論值或者預期結果進行對照,以此判斷數據處理算法的正誤。4、數據采集功能調試超聲波傳感器調試:采用HC-SR04超聲波傳感器測量不同距離處的障礙物,檢查所采集的距離數據是否精準,與實際測量所得的距離對比,調試傳感器的參數或安裝位置,以達到提高測量精度的目的。跌倒檢測傳感器調試:采用DA213B傳感器開展跌倒檢測功能測試,經過模擬各種別樣的跌倒姿勢與動作,查看傳感器能否精準檢測到跌倒事件,并把對應的信號發(fā)送給單片機模塊。光敏傳感器調試:改變光線的強弱,檢驗光敏傳感器采集的光線數據是否能確切反映實際光線的變化,利用調整傳感器靈敏度參數這一操作,保證系統(tǒng)在不同光照環(huán)境里都能正常進行工作。GPS模塊調試:檢查GPS模塊是否可順利接收衛(wèi)星信號,并獲取無誤的經緯度數據,能通過把獲取的經緯度信息跟實際位置作比對,以此判斷GPS模塊是否正常工作。調試結果分析通過仿真和實物調試,系統(tǒng)基本實現(xiàn)了預期功能:語音模塊:當超聲波模塊檢測到當前距離小于設置閾值時會配合蜂鳴器發(fā)出的滴滴聲來提醒盲人,并伴隨“前方有障礙物,請注意繞行!”的語音提示;當光敏傳感器的值大于設置閾值時會開啟燈光,并發(fā)出“當前光照過暗,已為您開啟燈光!”的語音提示;當三軸加速度傳感器檢測到老人疑似摔倒時會發(fā)出“您疑似摔倒,已為您發(fā)送位置及求救短信至監(jiān)護人手機!”。語音模塊實物部分如圖5.13所示。圖5.13語音模塊實物展示超聲波測距:能夠準確檢測前方障礙物距離,并根據距離遠近觸發(fā)不同頻率的語音播報,引導盲人避開障礙物。超聲波模塊如圖5.14所示。圖5.14超聲波模塊實物展示光照檢測:能夠感知環(huán)境光強度,在光線不足時自動開啟照明燈并語音提醒路人注意避讓。如圖5.15,當光敏電阻被遮住時可以看到STM32單片機上藍光亮起,代表開啟照明,反之無遮擋則不亮。圖5.15光敏傳感器狀態(tài)對比跌倒檢測:當三軸加速度傳感器DA213B檢測到盲人靜止不動超過一分鐘時,系統(tǒng)會默認盲人摔倒,會自動向監(jiān)護人手機發(fā)送求救短信并顯示當事人的實時位置,如圖5.16。能夠準確識別跌倒狀態(tài),并觸發(fā)GPS定位和GSM短信求救功能。三軸加速度傳感器實物部分如圖5.17所示。圖5.16求救短信圖5.17三軸加速度傳感器實物展示GPS定位:能夠獲取當前位置信息,并在緊急情況下將位置信息發(fā)送至預設手機號。GPS模塊實物部分如圖5.18所示。圖5.18GPS實物展示GSM通信:能夠穩(wěn)定可靠地發(fā)送求救短信,確保信息及時傳達。GMS模塊實物部分如圖5.19所示。圖5.19GSM通信模塊實物展示以上為本系統(tǒng)的所有模塊介紹,本系統(tǒng)把STM32F103C8T6選作主控芯片,整合了障礙物距離檢測、環(huán)境光照感應、跌倒行為識別、實時定位以及遠程報警等多種功能,處于夜間外出這個場景的時候,光敏傳感模塊可依據環(huán)境光照強度自動調控LED補光裝置,為用戶構建清晰的視野空間;從人員安全保障的角度看,DA213B加速度傳感器與GPS定位模塊攜手合作,能及時察覺跌倒事件并明確位置,依靠SIM800通信模塊向預設聯(lián)系人發(fā)送報警的短信,大幅增進了用戶在不同場景下的安全保障水平。

結論在這篇論文里,做了基于STM32單片機的智能導盲杖系統(tǒng)的設計與實現(xiàn)工作,該系統(tǒng)把多種傳感器技術整合在一起,諸如超聲波測距、GPS定位、光照感應等,還依靠蜂鳴器、OLED顯示屏、語音提示等輸出手段,協(xié)助視力障礙者提高日?;顒拥陌踩耘c獨立水平,系統(tǒng)核心功能有障礙物檢測、環(huán)境光照監(jiān)測、摔倒檢測、實時定位以及緊急求助等項目,采用合理的硬件選定和軟件編排,系統(tǒng)不僅具備了不錯的實時響應能力,還能在復雜環(huán)境里給出精準的導航與反饋,切實為視力障礙群體提供幫扶。經實驗證實,本系統(tǒng)在不一樣的環(huán)境條件下體現(xiàn)出良好的穩(wěn)定性與準確性,超聲波測距模塊能高效檢測前方障礙物,及時發(fā)出警報,GPS定位模塊可精準獲取用戶位置的相關信息,并借助短信把位置發(fā)送給預設的聯(lián)系人,光照感應模塊可依照環(huán)境光強度自動改變工作模式,保障設備于不同光照條件下正常運轉。陀螺儀模塊借助實時監(jiān)測用戶運動狀態(tài),可有效判斷是否出現(xiàn)摔倒現(xiàn)象,而且作出語音提示,守護用戶安全,本智能導盲杖系統(tǒng)借助多種技術的融合,極大提升了視力障礙者在出行方面的安全性,為社會弱勢群體實現(xiàn)獨立生活給予了有力的技術支撐,有著廣闊的應用前景以及社會價值。參考文獻張仁朝,王高原,羅政杰.基于單片機控制的智能導盲杖設計[J].電子制作,2019,(21):31-33.王一帆,王曉鳳,辛凱軒,等.一種多功能智能導盲杖的設計思路[J].科技風,2023(32):1-3.薛毅,崔皓然,姚志強,等.基于STM32的多功能智能導盲杖設計[J].山西電子技術,2021(3):8-9.金佳鑫,鄭皓予,郭宇凡,等.智能導盲杖控制系統(tǒng)設計[J].自動化應用,2024,65(19):75-76+84.溫家煒,陳開潭,程思宇,等.基于51單片機的語音導盲助殘系統(tǒng)設計[J].電子元器件與信息技術,2024,8(01):38-41.宋玉娥,劉業(yè)輝,張小燕,等.基于STM32的智能導盲杖的設計[J].電子器件,2020,43(5):1180-1184.杜宇崧,袁嘯宇,馬雪嬌.基于多傳感器融合技術的智能導盲杖的設計[J].電子制作,2021(7):80-81,19.葛亮,甘芳吉.現(xiàn)代數據采集技術[M].化學工業(yè)出版社:202409.259.柏俊杰,李作進,黃靖,等.STM32單片機開發(fā)與智能系統(tǒng)應用案例[M].重慶大學出版社:202009.274.王柄云,王柄翔,謝印忠.多傳感器信息融合智能導盲手杖設計[J].日用電器,2024,(06):77-81.RUR,JanGG,PLWD.Userevaluationoftwoelectronicmobilityaidsforpersonswhoarevisuallyimpaired:aquasi-experimentalstudyusingastandardizedmobilitycourse.[J].Assistivetechnology:theofficialjournalofRESNA,2012,24(2):110-20;quiz121-2.MaximeB,SamuelP,Isma?lD,etal.BlindnessandtheReliabilityofDownwardsSensorstoAvoidObstacles:AStudywiththeEyeCane[J].Sensors,2021,21(8):2700-2700.Anonymous.SEEINGEYE...ROBOTS[J].ASEEPrism,2024,33(4):9.RenM,PanW,LiuT,etal.Multifunctional,UVRadiationShieldingandHighBacteriostaticEfficiency3DWearableSensorTriggeredbyZIF-67.[J].ACSappliedmaterials&interfaces,2025,17(2):3676-3685.YanS.AStudyonIntelligentGuideStickUsingYOLOv3Algorithm–ImprovingSpatialAwarenesswithSelf-madeDataSet[J].ProceedingsofBusinessandEconomicStudies,2021,4(3):76-87.

附錄原理圖如下:PCB圖如下:元件清單如下:代碼如下:#include"led.h"#include"delay.h"#include"usart.h"#include"gps.h"#include"usart2.h"#include"HCSR04.h"#include"usart3.h"#include"timer.h"#include"oled.h"#include"adc.h"#include"string.h"#include"Motion.h"#include"DA213B.h"externu8secondflag;externu8ACC_DET_Flag;u8send_msg_flag=0;u8Light_Alarm=0;u8Dis_Alarm=0;intDistance=0;intDistance_Threshold=5;intLight_Threshold=2500;intLight=0;intStep_cnt=0;intStep_cnt_last=0;intStep_Threshold=40;//GPS變量nmea_msggpsx; //GPS信息u8Parse_BUF[USART2_MAX_RECV_LEN];floatLatitude=0;//緯度floatLongitude=0;//經度u16j,rxlen;charsaveflag=0;intFalldown_Judge(){if(Step_cnt-Step_cnt_last>Step_Threshold)return0;//沒有摔倒elsereturn1;//摔倒了}voidUSART_SendString(USART_TypeDef*USARTx,char*DataString){inti=0;USART_ClearFlag(USARTx,USART_FLAG_TC);//發(fā)送字符前清空標志位(否則缺失字符串的第一個字符)while(DataString[i]!='\0') //字符串結束符{USART_SendData(USARTx,DataString[i]); //每次發(fā)送字符串的一個字符while(USART_GetFlagStatus(USARTx,USART_FLAG_TC)==0); //等待數據發(fā)送成功USART_ClearFlag(USARTx,USART_FLAG_TC); //發(fā)送字符后清空標志位i++;}}voidBeep_msg_alarm(intcnt){for(inti=0;i<cnt;i++){BEEP=0;delay_ms(300);BEEP=1;delay_ms(300);}}u8phonenumber[]=;//intSIM_Send_Msg(uint8_t*telePhone_number,uint8_t*dat){charsend_str[100]={0};memset(USART3_RX_BUF,0,sizeof(USART3_RX_BUF));delay_ms(1000);USART_SendString(USART3,"AT+CSCS=\"GSM\"\r\n");delay_ms(1000);if(strstr((constchar*)USART3_RX_BUF,"OK")!=0){Beep_msg_alarm(1);return-1;}memset(USART3_RX_BUF,0,sizeof(USART3_RX_BUF));USART_SendString(USART3,"AT+CMGF=1\r\n");delay_ms(1000);if(strstr((constchar*)USART3_RX_BUF,"OK")!=0){Beep_msg_alarm(2);return-1;}memset(USART3_RX_BUF,0,sizeof(USART3_RX_BUF));memset(send_str,0,sizeof(send_str));sprintf(send_str,"AT+CMGS=\"%s\"\r\n",telePhone_number);//發(fā)送目標手機號碼USART_SendString(USART3,send_str);delay_ms(1000);memset(send_str,0,sizeof(send_str));sprintf(send_str,"%s",dat);USART_SendString(USART3,send_str);delay_ms(1000);USART_SendData(USART3,0x1A);//發(fā)送操作delay_ms(1000);if(strstr((constchar*)USART3_RX_BUF,"OK")!=0){Beep_msg_alarm(3);return-1;}return0;}//顯示GPS定位信息voidGps_Msg_Show(void){Longitude=(float)gpsx.longitude/100000; //gpsx.ewhemi東經西經Latitude=(float)gpsx.latitude/100000; //gpsx.nshemi南北緯}voidSend_help_message(){charHelp_Info[200]={0};intret=0;if(gpsx.ewhemi=='\0')gpsx.ewhemi='E';//防止信息發(fā)不完整USART_SendString檢測'\0'字符if(gpsx.nshemi=='\0')gpsx.nshemi='N';sprintf(Help_Info,"Ifelldownandaskedforhelp.Mycurrentpositionis:Longitude=%0.6f%cLatitude=%0.6f%c",Longitude,gpsx.ewhemi,Latitude,gpsx.nshemi);ret=SIM_Send_Msg(phonenumber,(uint8_t*)Help_Info);if(ret==0){USART_SendString(USART1,"A7:00003\r\n");//摔倒提示音}}voidHCSR04_Read(){Distance=Hcsr04GetLength();}voidLightRead(){Light=Get_Adc_Average(ADC_Channel_0,ADC_SampleTime_7Cycles5,5);}voidAlarm_Judge(){staticintdis_play_cnt=0;staticintlight_play_cnt=0;if(Distance<Distance_Threshold)//報警{Dis_Alarm=1;if(dis_play_cnt==0){USART_SendString(USART1,"A7:00001\r\n");//前方有障礙物,請注意繞行}dis_play_cnt++;if(dis_play_cnt>=10)dis_play_cnt=0;//10S播放一次}else{dis_play_cnt=0;Dis_Alarm=0;}if(Light>Light_Threshold){Light_Alarm=1;LED0=0;if(light_play_cnt==0){USART_SendString(USART1,"A7:00002\r\n");//當前光線昏暗請注意慢行已為你開啟照明燈光}light_play_cnt++;if(light_play_cnt>=10)light_play_cnt=0;//10S播放一次}else{Light_Alarm=0;LED0=1;light_play_cnt=0;}if(Dis_Alarm||Light_Alarm){BEEP=0;delay_ms(300);BEEP=1;}}voidData_Display(){externu8threshold_type;OLED_ShowNum(120,0,threshol

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論