赫玉瑩
摘 要:在飛思卡爾智能車競(jìng)賽的基礎(chǔ)上,設(shè)計(jì)了基于STM32和nrf24l01的智能車監(jiān)控平臺(tái),可實(shí)現(xiàn)無(wú)線數(shù)據(jù)接收、遠(yuǎn)程遙控,觸屏控制,具備可靠性、靈活性、便捷性,方便智能車的調(diào)試。該文針對(duì)其主要功能模塊詳細(xì)介紹了其實(shí)現(xiàn)方法和軟件設(shè)計(jì)流程。
關(guān)鍵詞:STM32 nRF24l01 無(wú)線通信 監(jiān)控
中圖分類號(hào):TN92 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2014)05(a)-0074-01
在進(jìn)行智能車的開(kāi)發(fā)和調(diào)試過(guò)程中,需要不斷地驗(yàn)證程序和算法的有效性,從而調(diào)節(jié)智能車的各項(xiàng)參數(shù)。大多數(shù)參賽隊(duì)員都是采用和電腦相連接的方法進(jìn)行調(diào)試,這種方法一是無(wú)法顯示車輛高速行駛過(guò)程中的實(shí)時(shí)狀況,二是調(diào)試監(jiān)控十分不便,因此,開(kāi)發(fā)一種上位機(jī)進(jìn)行無(wú)線監(jiān)視和控制成為一種必然趨勢(shì)和選擇。
目前比較成熟的短距離無(wú)線傳輸網(wǎng)絡(luò)的技術(shù)有:藍(lán)牙、wifi、超帶寬技術(shù)、Zigbee技術(shù)等,但是上述技術(shù)開(kāi)發(fā)起來(lái)較為復(fù)雜,開(kāi)發(fā)周期較長(zhǎng)、成本較高[1]。因此,本設(shè)計(jì)選用stm32和nRF24l01進(jìn)行模塊開(kāi)發(fā),并能很好地實(shí)現(xiàn)相應(yīng)功能。
1 系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)
本設(shè)計(jì)采用nRF24l01以無(wú)線通信方式與附近的其他模塊或系統(tǒng)進(jìn)行數(shù)據(jù)交換,其基本原理如圖1所示。
XS128單片機(jī)采集智能車參數(shù),如傳感器數(shù)據(jù)信息、舵機(jī)打角、行駛速度等。然后將信息傳輸?shù)杰囕dnrf24l01中,以人為設(shè)置的固定匹配波特率發(fā)送出去,在這一端,將以相同的波特率進(jìn)行接收。同時(shí),采用stm32上的配套觸摸液晶屏可進(jìn)行實(shí)時(shí)顯示。通過(guò)對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行分析,可根據(jù)預(yù)想情況進(jìn)行控制,通過(guò)觸摸屏和機(jī)械按鍵的結(jié)合,可更改設(shè)置參數(shù)并控制小車的啟動(dòng)和運(yùn)行狀況。
2 系統(tǒng)實(shí)現(xiàn)分析
STM32通過(guò)SPI與外部MCU通信,最大SPI速度可以達(dá)到10 MHz。又nRF24l01具有自動(dòng)應(yīng)答功能,能夠?qū)崿F(xiàn)可靠傳輸。
智能車主控芯片將采集到的數(shù)據(jù)以機(jī)器語(yǔ)言(即二進(jìn)制)的形式傳遞給車載nRF24l01發(fā)送端,然后以數(shù)據(jù)包的形式發(fā)送出去。接收端接收到數(shù)據(jù)后,將接收到的數(shù)據(jù)傳送給STM32進(jìn)行解碼,并檢測(cè)數(shù)據(jù)是否有效,若有效,則通過(guò)LCD顯示屏將數(shù)據(jù)以特定的形式顯示出來(lái)。與此同時(shí),接收端在收到數(shù)據(jù)之后,會(huì)返回一個(gè)反饋信號(hào)[2]。因此,通過(guò)設(shè)置發(fā)送緩沖區(qū)中的數(shù)值,可改變反饋信號(hào),即改變車載主控芯片的接收數(shù)據(jù),實(shí)現(xiàn)控制。
對(duì)于無(wú)線模塊的詳細(xì)接收過(guò)程,首先配置nRF24L01為接收模式,延遲130 μs后進(jìn)入接收狀態(tài),等待數(shù)據(jù)的到來(lái)。當(dāng)檢測(cè)到有效的地址和CRC時(shí),就將數(shù)據(jù)包存儲(chǔ)在接收緩沖區(qū)RXFIFO中,同時(shí)將中斷標(biāo)志位RX_DR置高,IRQ變低,產(chǎn)生中斷,通知MCU去取數(shù)據(jù)。開(kāi)啟自動(dòng)應(yīng)答,接收方同時(shí)進(jìn)入發(fā)射狀態(tài)回傳應(yīng)答信號(hào)。最后接收成功時(shí),若CE變低,則nRF24L01進(jìn)入空閑模式。
3 軟件設(shè)計(jì)流程
(1)根據(jù)24l01的技術(shù)手冊(cè),寫(xiě)其驅(qū)動(dòng)函數(shù),設(shè)計(jì)應(yīng)用程序?qū)崿F(xiàn)收發(fā)功能[3]。設(shè)置nRF24l01的數(shù)據(jù)包處理方式為增強(qiáng)型ShockBurst模式,該模式要求接收方在接收到數(shù)據(jù)之后進(jìn)行自動(dòng)應(yīng)答,以便于發(fā)送方檢測(cè)是否丟失了數(shù)據(jù)。如果數(shù)據(jù)丟失,則自動(dòng)重新發(fā)射,當(dāng)重發(fā)次數(shù)達(dá)到上限之后,產(chǎn)生中斷通知MCU。
(2)液晶屏顯示。設(shè)置STM32與TFTLCD模塊相連接的IO口,初始化LCD模塊,書(shū)寫(xiě)相關(guān)的描點(diǎn)、顯示數(shù)字、字符、字符串等函數(shù),設(shè)計(jì)顯示界面。然后通過(guò)函數(shù)將字符和數(shù)字顯示到TFTLCD上。
(3)觸摸切換界面。要通過(guò)液晶屏顯示足夠的信息,單個(gè)界面顯然是不夠的。我們一般液晶所用的觸摸屏,最多的是電阻式觸摸屏,通過(guò)壓力感應(yīng)進(jìn)行控制。本設(shè)計(jì)采用XPT2046控制芯片。首先要進(jìn)行屏幕校準(zhǔn),因?yàn)橛捎诩夹g(shù)原理的原因,并不能保證同一點(diǎn)觸摸每一次采樣數(shù)據(jù)相同,不能保證絕對(duì)坐標(biāo)定位,因此需要將物理坐標(biāo)轉(zhuǎn)換為像素坐標(biāo),再賦給POS結(jié)構(gòu)[4]。然后再主函數(shù)中可書(shū)寫(xiě)touch()函數(shù),檢測(cè)觸摸屏是否按下,若有,則關(guān)閉中斷,讀取像素坐標(biāo),執(zhí)行相應(yīng)操作,再開(kāi)啟中斷。
(4)數(shù)據(jù)處理顯示,由于接收到的數(shù)據(jù)是機(jī)器語(yǔ)言即二進(jìn)制數(shù),所以需要將接收到的數(shù)據(jù)進(jìn)行處理,如轉(zhuǎn)換為浮點(diǎn)數(shù)等。本設(shè)計(jì)將得到的舵機(jī)打角、PWM波占空比、車輛速度變化以及傳感器信息在坐標(biāo)系中實(shí)時(shí)顯示,通過(guò)波形的上升或下降將能夠更加清晰直觀地觀測(cè)出車輛行駛狀況,方便調(diào)試。
4 實(shí)驗(yàn)效果圖
該上位機(jī)模塊外觀圖設(shè)計(jì),其將數(shù)據(jù)信息快速、準(zhǔn)確、直觀地顯示出來(lái),大大加快了智能車的調(diào)試進(jìn)度。不足之處在于,由于液晶顯示屏大小限制,繪制的坐標(biāo)系橫坐標(biāo)受到一定限制。若將分度值加大,則影響觀測(cè)的數(shù)據(jù)精度,若將分度值減小,則觀測(cè)范圍受到影響。但總體來(lái)說(shuō),已可以滿足需求。
參考文獻(xiàn)
[1] 程良明.ZIGBEE無(wú)線串口通信設(shè)備在高速公路站級(jí)電子顯示屏上的應(yīng)用[J].中國(guó)交通信息化,2012(2):109-111.
[2] 張偉.基于GSM的設(shè)備檢測(cè)數(shù)據(jù)無(wú)線傳輸系統(tǒng)的設(shè)計(jì)[J].信息通道,2011(6):61-62.
[3] 李輝,宋詩(shī),周健江.基于ARM和nRF24l01的無(wú)線數(shù)據(jù)傳輸系統(tǒng)[J].電子設(shè)計(jì)工程,2008(12):44-46.
[4] 侯殿有.嵌入式控制系統(tǒng)人機(jī)界面設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2011.endprint
摘 要:在飛思卡爾智能車競(jìng)賽的基礎(chǔ)上,設(shè)計(jì)了基于STM32和nrf24l01的智能車監(jiān)控平臺(tái),可實(shí)現(xiàn)無(wú)線數(shù)據(jù)接收、遠(yuǎn)程遙控,觸屏控制,具備可靠性、靈活性、便捷性,方便智能車的調(diào)試。該文針對(duì)其主要功能模塊詳細(xì)介紹了其實(shí)現(xiàn)方法和軟件設(shè)計(jì)流程。
關(guān)鍵詞:STM32 nRF24l01 無(wú)線通信 監(jiān)控
中圖分類號(hào):TN92 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2014)05(a)-0074-01
在進(jìn)行智能車的開(kāi)發(fā)和調(diào)試過(guò)程中,需要不斷地驗(yàn)證程序和算法的有效性,從而調(diào)節(jié)智能車的各項(xiàng)參數(shù)。大多數(shù)參賽隊(duì)員都是采用和電腦相連接的方法進(jìn)行調(diào)試,這種方法一是無(wú)法顯示車輛高速行駛過(guò)程中的實(shí)時(shí)狀況,二是調(diào)試監(jiān)控十分不便,因此,開(kāi)發(fā)一種上位機(jī)進(jìn)行無(wú)線監(jiān)視和控制成為一種必然趨勢(shì)和選擇。
目前比較成熟的短距離無(wú)線傳輸網(wǎng)絡(luò)的技術(shù)有:藍(lán)牙、wifi、超帶寬技術(shù)、Zigbee技術(shù)等,但是上述技術(shù)開(kāi)發(fā)起來(lái)較為復(fù)雜,開(kāi)發(fā)周期較長(zhǎng)、成本較高[1]。因此,本設(shè)計(jì)選用stm32和nRF24l01進(jìn)行模塊開(kāi)發(fā),并能很好地實(shí)現(xiàn)相應(yīng)功能。
1 系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)
本設(shè)計(jì)采用nRF24l01以無(wú)線通信方式與附近的其他模塊或系統(tǒng)進(jìn)行數(shù)據(jù)交換,其基本原理如圖1所示。
XS128單片機(jī)采集智能車參數(shù),如傳感器數(shù)據(jù)信息、舵機(jī)打角、行駛速度等。然后將信息傳輸?shù)杰囕dnrf24l01中,以人為設(shè)置的固定匹配波特率發(fā)送出去,在這一端,將以相同的波特率進(jìn)行接收。同時(shí),采用stm32上的配套觸摸液晶屏可進(jìn)行實(shí)時(shí)顯示。通過(guò)對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行分析,可根據(jù)預(yù)想情況進(jìn)行控制,通過(guò)觸摸屏和機(jī)械按鍵的結(jié)合,可更改設(shè)置參數(shù)并控制小車的啟動(dòng)和運(yùn)行狀況。
2 系統(tǒng)實(shí)現(xiàn)分析
STM32通過(guò)SPI與外部MCU通信,最大SPI速度可以達(dá)到10 MHz。又nRF24l01具有自動(dòng)應(yīng)答功能,能夠?qū)崿F(xiàn)可靠傳輸。
智能車主控芯片將采集到的數(shù)據(jù)以機(jī)器語(yǔ)言(即二進(jìn)制)的形式傳遞給車載nRF24l01發(fā)送端,然后以數(shù)據(jù)包的形式發(fā)送出去。接收端接收到數(shù)據(jù)后,將接收到的數(shù)據(jù)傳送給STM32進(jìn)行解碼,并檢測(cè)數(shù)據(jù)是否有效,若有效,則通過(guò)LCD顯示屏將數(shù)據(jù)以特定的形式顯示出來(lái)。與此同時(shí),接收端在收到數(shù)據(jù)之后,會(huì)返回一個(gè)反饋信號(hào)[2]。因此,通過(guò)設(shè)置發(fā)送緩沖區(qū)中的數(shù)值,可改變反饋信號(hào),即改變車載主控芯片的接收數(shù)據(jù),實(shí)現(xiàn)控制。
對(duì)于無(wú)線模塊的詳細(xì)接收過(guò)程,首先配置nRF24L01為接收模式,延遲130 μs后進(jìn)入接收狀態(tài),等待數(shù)據(jù)的到來(lái)。當(dāng)檢測(cè)到有效的地址和CRC時(shí),就將數(shù)據(jù)包存儲(chǔ)在接收緩沖區(qū)RXFIFO中,同時(shí)將中斷標(biāo)志位RX_DR置高,IRQ變低,產(chǎn)生中斷,通知MCU去取數(shù)據(jù)。開(kāi)啟自動(dòng)應(yīng)答,接收方同時(shí)進(jìn)入發(fā)射狀態(tài)回傳應(yīng)答信號(hào)。最后接收成功時(shí),若CE變低,則nRF24L01進(jìn)入空閑模式。
3 軟件設(shè)計(jì)流程
(1)根據(jù)24l01的技術(shù)手冊(cè),寫(xiě)其驅(qū)動(dòng)函數(shù),設(shè)計(jì)應(yīng)用程序?qū)崿F(xiàn)收發(fā)功能[3]。設(shè)置nRF24l01的數(shù)據(jù)包處理方式為增強(qiáng)型ShockBurst模式,該模式要求接收方在接收到數(shù)據(jù)之后進(jìn)行自動(dòng)應(yīng)答,以便于發(fā)送方檢測(cè)是否丟失了數(shù)據(jù)。如果數(shù)據(jù)丟失,則自動(dòng)重新發(fā)射,當(dāng)重發(fā)次數(shù)達(dá)到上限之后,產(chǎn)生中斷通知MCU。
(2)液晶屏顯示。設(shè)置STM32與TFTLCD模塊相連接的IO口,初始化LCD模塊,書(shū)寫(xiě)相關(guān)的描點(diǎn)、顯示數(shù)字、字符、字符串等函數(shù),設(shè)計(jì)顯示界面。然后通過(guò)函數(shù)將字符和數(shù)字顯示到TFTLCD上。
(3)觸摸切換界面。要通過(guò)液晶屏顯示足夠的信息,單個(gè)界面顯然是不夠的。我們一般液晶所用的觸摸屏,最多的是電阻式觸摸屏,通過(guò)壓力感應(yīng)進(jìn)行控制。本設(shè)計(jì)采用XPT2046控制芯片。首先要進(jìn)行屏幕校準(zhǔn),因?yàn)橛捎诩夹g(shù)原理的原因,并不能保證同一點(diǎn)觸摸每一次采樣數(shù)據(jù)相同,不能保證絕對(duì)坐標(biāo)定位,因此需要將物理坐標(biāo)轉(zhuǎn)換為像素坐標(biāo),再賦給POS結(jié)構(gòu)[4]。然后再主函數(shù)中可書(shū)寫(xiě)touch()函數(shù),檢測(cè)觸摸屏是否按下,若有,則關(guān)閉中斷,讀取像素坐標(biāo),執(zhí)行相應(yīng)操作,再開(kāi)啟中斷。
(4)數(shù)據(jù)處理顯示,由于接收到的數(shù)據(jù)是機(jī)器語(yǔ)言即二進(jìn)制數(shù),所以需要將接收到的數(shù)據(jù)進(jìn)行處理,如轉(zhuǎn)換為浮點(diǎn)數(shù)等。本設(shè)計(jì)將得到的舵機(jī)打角、PWM波占空比、車輛速度變化以及傳感器信息在坐標(biāo)系中實(shí)時(shí)顯示,通過(guò)波形的上升或下降將能夠更加清晰直觀地觀測(cè)出車輛行駛狀況,方便調(diào)試。
4 實(shí)驗(yàn)效果圖
該上位機(jī)模塊外觀圖設(shè)計(jì),其將數(shù)據(jù)信息快速、準(zhǔn)確、直觀地顯示出來(lái),大大加快了智能車的調(diào)試進(jìn)度。不足之處在于,由于液晶顯示屏大小限制,繪制的坐標(biāo)系橫坐標(biāo)受到一定限制。若將分度值加大,則影響觀測(cè)的數(shù)據(jù)精度,若將分度值減小,則觀測(cè)范圍受到影響。但總體來(lái)說(shuō),已可以滿足需求。
參考文獻(xiàn)
[1] 程良明.ZIGBEE無(wú)線串口通信設(shè)備在高速公路站級(jí)電子顯示屏上的應(yīng)用[J].中國(guó)交通信息化,2012(2):109-111.
[2] 張偉.基于GSM的設(shè)備檢測(cè)數(shù)據(jù)無(wú)線傳輸系統(tǒng)的設(shè)計(jì)[J].信息通道,2011(6):61-62.
[3] 李輝,宋詩(shī),周健江.基于ARM和nRF24l01的無(wú)線數(shù)據(jù)傳輸系統(tǒng)[J].電子設(shè)計(jì)工程,2008(12):44-46.
[4] 侯殿有.嵌入式控制系統(tǒng)人機(jī)界面設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2011.endprint
摘 要:在飛思卡爾智能車競(jìng)賽的基礎(chǔ)上,設(shè)計(jì)了基于STM32和nrf24l01的智能車監(jiān)控平臺(tái),可實(shí)現(xiàn)無(wú)線數(shù)據(jù)接收、遠(yuǎn)程遙控,觸屏控制,具備可靠性、靈活性、便捷性,方便智能車的調(diào)試。該文針對(duì)其主要功能模塊詳細(xì)介紹了其實(shí)現(xiàn)方法和軟件設(shè)計(jì)流程。
關(guān)鍵詞:STM32 nRF24l01 無(wú)線通信 監(jiān)控
中圖分類號(hào):TN92 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2014)05(a)-0074-01
在進(jìn)行智能車的開(kāi)發(fā)和調(diào)試過(guò)程中,需要不斷地驗(yàn)證程序和算法的有效性,從而調(diào)節(jié)智能車的各項(xiàng)參數(shù)。大多數(shù)參賽隊(duì)員都是采用和電腦相連接的方法進(jìn)行調(diào)試,這種方法一是無(wú)法顯示車輛高速行駛過(guò)程中的實(shí)時(shí)狀況,二是調(diào)試監(jiān)控十分不便,因此,開(kāi)發(fā)一種上位機(jī)進(jìn)行無(wú)線監(jiān)視和控制成為一種必然趨勢(shì)和選擇。
目前比較成熟的短距離無(wú)線傳輸網(wǎng)絡(luò)的技術(shù)有:藍(lán)牙、wifi、超帶寬技術(shù)、Zigbee技術(shù)等,但是上述技術(shù)開(kāi)發(fā)起來(lái)較為復(fù)雜,開(kāi)發(fā)周期較長(zhǎng)、成本較高[1]。因此,本設(shè)計(jì)選用stm32和nRF24l01進(jìn)行模塊開(kāi)發(fā),并能很好地實(shí)現(xiàn)相應(yīng)功能。
1 系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)
本設(shè)計(jì)采用nRF24l01以無(wú)線通信方式與附近的其他模塊或系統(tǒng)進(jìn)行數(shù)據(jù)交換,其基本原理如圖1所示。
XS128單片機(jī)采集智能車參數(shù),如傳感器數(shù)據(jù)信息、舵機(jī)打角、行駛速度等。然后將信息傳輸?shù)杰囕dnrf24l01中,以人為設(shè)置的固定匹配波特率發(fā)送出去,在這一端,將以相同的波特率進(jìn)行接收。同時(shí),采用stm32上的配套觸摸液晶屏可進(jìn)行實(shí)時(shí)顯示。通過(guò)對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行分析,可根據(jù)預(yù)想情況進(jìn)行控制,通過(guò)觸摸屏和機(jī)械按鍵的結(jié)合,可更改設(shè)置參數(shù)并控制小車的啟動(dòng)和運(yùn)行狀況。
2 系統(tǒng)實(shí)現(xiàn)分析
STM32通過(guò)SPI與外部MCU通信,最大SPI速度可以達(dá)到10 MHz。又nRF24l01具有自動(dòng)應(yīng)答功能,能夠?qū)崿F(xiàn)可靠傳輸。
智能車主控芯片將采集到的數(shù)據(jù)以機(jī)器語(yǔ)言(即二進(jìn)制)的形式傳遞給車載nRF24l01發(fā)送端,然后以數(shù)據(jù)包的形式發(fā)送出去。接收端接收到數(shù)據(jù)后,將接收到的數(shù)據(jù)傳送給STM32進(jìn)行解碼,并檢測(cè)數(shù)據(jù)是否有效,若有效,則通過(guò)LCD顯示屏將數(shù)據(jù)以特定的形式顯示出來(lái)。與此同時(shí),接收端在收到數(shù)據(jù)之后,會(huì)返回一個(gè)反饋信號(hào)[2]。因此,通過(guò)設(shè)置發(fā)送緩沖區(qū)中的數(shù)值,可改變反饋信號(hào),即改變車載主控芯片的接收數(shù)據(jù),實(shí)現(xiàn)控制。
對(duì)于無(wú)線模塊的詳細(xì)接收過(guò)程,首先配置nRF24L01為接收模式,延遲130 μs后進(jìn)入接收狀態(tài),等待數(shù)據(jù)的到來(lái)。當(dāng)檢測(cè)到有效的地址和CRC時(shí),就將數(shù)據(jù)包存儲(chǔ)在接收緩沖區(qū)RXFIFO中,同時(shí)將中斷標(biāo)志位RX_DR置高,IRQ變低,產(chǎn)生中斷,通知MCU去取數(shù)據(jù)。開(kāi)啟自動(dòng)應(yīng)答,接收方同時(shí)進(jìn)入發(fā)射狀態(tài)回傳應(yīng)答信號(hào)。最后接收成功時(shí),若CE變低,則nRF24L01進(jìn)入空閑模式。
3 軟件設(shè)計(jì)流程
(1)根據(jù)24l01的技術(shù)手冊(cè),寫(xiě)其驅(qū)動(dòng)函數(shù),設(shè)計(jì)應(yīng)用程序?qū)崿F(xiàn)收發(fā)功能[3]。設(shè)置nRF24l01的數(shù)據(jù)包處理方式為增強(qiáng)型ShockBurst模式,該模式要求接收方在接收到數(shù)據(jù)之后進(jìn)行自動(dòng)應(yīng)答,以便于發(fā)送方檢測(cè)是否丟失了數(shù)據(jù)。如果數(shù)據(jù)丟失,則自動(dòng)重新發(fā)射,當(dāng)重發(fā)次數(shù)達(dá)到上限之后,產(chǎn)生中斷通知MCU。
(2)液晶屏顯示。設(shè)置STM32與TFTLCD模塊相連接的IO口,初始化LCD模塊,書(shū)寫(xiě)相關(guān)的描點(diǎn)、顯示數(shù)字、字符、字符串等函數(shù),設(shè)計(jì)顯示界面。然后通過(guò)函數(shù)將字符和數(shù)字顯示到TFTLCD上。
(3)觸摸切換界面。要通過(guò)液晶屏顯示足夠的信息,單個(gè)界面顯然是不夠的。我們一般液晶所用的觸摸屏,最多的是電阻式觸摸屏,通過(guò)壓力感應(yīng)進(jìn)行控制。本設(shè)計(jì)采用XPT2046控制芯片。首先要進(jìn)行屏幕校準(zhǔn),因?yàn)橛捎诩夹g(shù)原理的原因,并不能保證同一點(diǎn)觸摸每一次采樣數(shù)據(jù)相同,不能保證絕對(duì)坐標(biāo)定位,因此需要將物理坐標(biāo)轉(zhuǎn)換為像素坐標(biāo),再賦給POS結(jié)構(gòu)[4]。然后再主函數(shù)中可書(shū)寫(xiě)touch()函數(shù),檢測(cè)觸摸屏是否按下,若有,則關(guān)閉中斷,讀取像素坐標(biāo),執(zhí)行相應(yīng)操作,再開(kāi)啟中斷。
(4)數(shù)據(jù)處理顯示,由于接收到的數(shù)據(jù)是機(jī)器語(yǔ)言即二進(jìn)制數(shù),所以需要將接收到的數(shù)據(jù)進(jìn)行處理,如轉(zhuǎn)換為浮點(diǎn)數(shù)等。本設(shè)計(jì)將得到的舵機(jī)打角、PWM波占空比、車輛速度變化以及傳感器信息在坐標(biāo)系中實(shí)時(shí)顯示,通過(guò)波形的上升或下降將能夠更加清晰直觀地觀測(cè)出車輛行駛狀況,方便調(diào)試。
4 實(shí)驗(yàn)效果圖
該上位機(jī)模塊外觀圖設(shè)計(jì),其將數(shù)據(jù)信息快速、準(zhǔn)確、直觀地顯示出來(lái),大大加快了智能車的調(diào)試進(jìn)度。不足之處在于,由于液晶顯示屏大小限制,繪制的坐標(biāo)系橫坐標(biāo)受到一定限制。若將分度值加大,則影響觀測(cè)的數(shù)據(jù)精度,若將分度值減小,則觀測(cè)范圍受到影響。但總體來(lái)說(shuō),已可以滿足需求。
參考文獻(xiàn)
[1] 程良明.ZIGBEE無(wú)線串口通信設(shè)備在高速公路站級(jí)電子顯示屏上的應(yīng)用[J].中國(guó)交通信息化,2012(2):109-111.
[2] 張偉.基于GSM的設(shè)備檢測(cè)數(shù)據(jù)無(wú)線傳輸系統(tǒng)的設(shè)計(jì)[J].信息通道,2011(6):61-62.
[3] 李輝,宋詩(shī),周健江.基于ARM和nRF24l01的無(wú)線數(shù)據(jù)傳輸系統(tǒng)[J].電子設(shè)計(jì)工程,2008(12):44-46.
[4] 侯殿有.嵌入式控制系統(tǒng)人機(jī)界面設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2011.endprint