• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Arduino的無(wú)線遙控小車的設(shè)計(jì)與實(shí)現(xiàn)

      2022-03-16 07:16:28王飛飛郭寧峰
      物聯(lián)網(wǎng)技術(shù) 2022年3期
      關(guān)鍵詞:開(kāi)發(fā)板路由器小車

      趙 琦,王飛飛,郭寧峰

      (平頂山學(xué)院 信息工程學(xué)院,河南 平頂山 467000)

      0 引 言

      近年來(lái),隨著經(jīng)濟(jì)水平和科學(xué)技術(shù)的快速發(fā)展,人們對(duì)大自然的探索和改造也逐漸進(jìn)入了更深的層次。無(wú)線遙控探測(cè)器作為一種環(huán)境探測(cè)的重要工具,為自然環(huán)境以及災(zāi)后環(huán)境的探測(cè)工作做出了巨大的貢獻(xiàn)。但是,因?yàn)槁窙r等不確定因素的影響,部分探測(cè)器難以對(duì)不同的環(huán)境進(jìn)行有效的探測(cè)?;诖?,本文設(shè)計(jì)了一款基于Arduino的無(wú)線遙控視頻小車系統(tǒng),以實(shí)現(xiàn)對(duì)危險(xiǎn)或者不易到達(dá)地區(qū)的環(huán)境監(jiān)控和信息采集。

      1 系統(tǒng)整體設(shè)計(jì)

      本系統(tǒng)主要分為上位機(jī)軟件模塊和下位機(jī)硬件模塊兩個(gè)部分。軟件模塊主要包括基于Android智能終端的應(yīng)用控制程序及電機(jī)驅(qū)動(dòng)和舵機(jī)驅(qū)動(dòng)程序。硬件模塊以Arduino為控制核心進(jìn)行設(shè)計(jì),主要分為無(wú)線控制模塊和視頻監(jiān)控模塊兩部分。通過(guò)將所有的軟件模塊與硬件模塊相結(jié)合,最終構(gòu)成一個(gè)完整的系統(tǒng)。該系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。

      圖1 總體設(shè)計(jì)框圖

      根據(jù)對(duì)功能的分析,本系統(tǒng)主要包括小車的無(wú)線遙控和視頻監(jiān)控兩大功能。通過(guò)對(duì)不同的控制指令進(jìn)行判斷,進(jìn)而實(shí)現(xiàn)對(duì)無(wú)線遙控小車的運(yùn)動(dòng)控制;通過(guò)車載攝像頭實(shí)現(xiàn)對(duì)小車周圍情況的視頻采集功能。系統(tǒng)功能如圖2所示。

      圖2 系統(tǒng)功能

      2 各模塊詳細(xì)設(shè)計(jì)

      2.1 無(wú)線控制模塊設(shè)計(jì)

      Arduino UNO REV3開(kāi)發(fā)板(以下簡(jiǎn)稱“R3開(kāi)發(fā)板”)是本系統(tǒng)的核心控制單元。作為Arduino平臺(tái)最為通用的一款開(kāi)源硬件產(chǎn)品,R3開(kāi)發(fā)板采用ATMEGA328P單片機(jī)作為核心處理器,它擁有14個(gè)數(shù)字I/O引腳,其中可用于PWM輸出的有6個(gè),同時(shí)R3開(kāi)發(fā)板還擁有6個(gè)模擬I/O口、一個(gè)頻率為16 MHz的晶體振蕩器、一個(gè)可用于程序燒錄和供電的USB口、一個(gè)電源插座和復(fù)位按鈕,具有功耗低、成本低、接口豐富的特點(diǎn),完全能夠滿足該系統(tǒng)的設(shè)計(jì)需求。該系統(tǒng)通過(guò)對(duì)4個(gè)數(shù)字I/O引腳輸出的控制來(lái)實(shí)現(xiàn)小車的控制功能。在實(shí)現(xiàn)對(duì)小車控制的四個(gè)引腳中,該系統(tǒng)使用兩個(gè)PWM輸出引腳(D5和D6),通過(guò)設(shè)置占空比來(lái)調(diào)節(jié)驅(qū)動(dòng)電機(jī)的轉(zhuǎn)動(dòng)速率;使用兩個(gè)數(shù)字引腳(D4和D7)作為電機(jī)的驅(qū)動(dòng)引腳,通過(guò)為D4和D7輸入高低電平來(lái)控制驅(qū)動(dòng)電機(jī)的轉(zhuǎn)動(dòng)方向。

      本系統(tǒng)中采用R3-L293D作為小車的驅(qū)動(dòng)擴(kuò)展板,R3-L293D驅(qū)動(dòng)擴(kuò)展板是一款為智能小車機(jī)器人開(kāi)發(fā)而打造的多功能擴(kuò)展板,采用排針式的對(duì)插結(jié)構(gòu)設(shè)計(jì),更全面地提升了Arduino開(kāi)發(fā)板的適用性。它集成了電源開(kāi)關(guān)、電機(jī)驅(qū)動(dòng)、WiFi接口等功能接口,并且將Arduino UNO開(kāi)發(fā)板的14個(gè)數(shù)字I/O口全部引出,多顏色的排針?lè)绞娇梢愿?jiǎn)單地區(qū)分不同功能的引腳。R3-L293D的部分功能引腳如圖3所示。

      圖3 R3-L293D的功能引腳

      在無(wú)線路由的設(shè)計(jì)方面,TL-WR702是一種專為移動(dòng)設(shè)備WiFi無(wú)線上網(wǎng)而設(shè)計(jì)的迷你無(wú)線路由器,利用其攜帶的內(nèi)置天線,可有效擴(kuò)展數(shù)據(jù)傳輸?shù)木嚯x,使數(shù)據(jù)有效傳輸距離達(dá)到最大300 m左右。TL-WR702的8 MB FLASH、64 MB RAM的內(nèi)存也能夠滿足視頻傳輸不卡頓的需求;它不需要單獨(dú)電源,支持多種供電方式,并具有低壓驅(qū)動(dòng)的特點(diǎn)。通過(guò)TTL串口通信實(shí)現(xiàn)與Arduino UNO R3開(kāi)發(fā)板的數(shù)據(jù)交互。

      在電機(jī)控制方面,該系統(tǒng)采用L293D驅(qū)動(dòng)芯片,通過(guò)H橋電路和控制器輸出的PWM信號(hào)來(lái)實(shí)現(xiàn)對(duì)電機(jī)的控制,采用Micro USB接口的方式為其提供5 V穩(wěn)壓。將無(wú)線路由器模塊的TTL線連接到R3-L293D擴(kuò)展板的WiFi TTL接口上。通過(guò)將UVC攝像頭驅(qū)動(dòng)加載到OpenWrt系統(tǒng)上實(shí)現(xiàn)視頻數(shù)據(jù)的實(shí)時(shí)無(wú)線傳輸。利用Socket模式進(jìn)行指令信息和視頻數(shù)據(jù)的傳輸。通過(guò)連接云服務(wù)器,控制端的虛擬按鍵值就可以被轉(zhuǎn)換成相應(yīng)的控制指令,然后通過(guò)無(wú)線路由器的串口進(jìn)行控制指令數(shù)據(jù)的接收工作,最后將接收到的數(shù)據(jù)通過(guò)TTL串口通信發(fā)送給R3開(kāi)發(fā)板,并由其進(jìn)行相應(yīng)的處理。

      在本系統(tǒng)程序設(shè)計(jì)中,采用函數(shù)式開(kāi)發(fā)的思想,根據(jù)小車不同的運(yùn)動(dòng)狀態(tài),利用analogWrite()方法和digitalWrite()方法進(jìn)一步封裝了 goAhead()、Left()、goBack()、Right()和Stop()方法。在實(shí)際程序中,使用digitalWrite()方法控制引腳的高低電平輸出,通過(guò)調(diào)用goAhead()、goBack()、Left()、Right()和 Stop()方法分別實(shí)現(xiàn)小車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)和停止功能。小車無(wú)線控制模塊流程如圖4所示。

      圖4 小車無(wú)線控制模塊流程

      2.2 視頻監(jiān)控模塊設(shè)計(jì)

      作為本系統(tǒng)的核心功能之一,視頻監(jiān)控模塊根據(jù)其特點(diǎn)可以劃分為視頻信號(hào)的采集、處理和傳輸三個(gè)模塊。系統(tǒng)視頻采集模塊采用的硬件為USB免驅(qū)動(dòng)攝像頭。該USB攝像頭擁有兩個(gè)Interface,分別是Video Control Interface和Video Stream Interface。攝像頭中的圖像處理芯片會(huì)將其收集到的視頻信號(hào)編碼為固定的格式,然后通過(guò)FIFO緩沖將各個(gè)單元發(fā)送到USB總線上。路由器模塊上的驅(qū)動(dòng)程序會(huì)接收每一個(gè)數(shù)據(jù)單元,并將其組成一個(gè)完整的圖像幀,然后由圖像處理軟件將圖像幀編碼成固定格式的圖像數(shù)據(jù)。其工作流程如圖5所示。

      圖5 視頻處理流程

      視頻數(shù)據(jù)傳輸功能由無(wú)線路由器模塊來(lái)實(shí)現(xiàn)。通過(guò)將UVC攝像頭驅(qū)動(dòng)加載到無(wú)線路由器模塊的OpenWrt系統(tǒng)上,可以實(shí)現(xiàn)視頻數(shù)據(jù)的實(shí)時(shí)無(wú)線傳輸。該系統(tǒng)的設(shè)計(jì)中所有的指令信息和視頻數(shù)據(jù)都是通過(guò)Socket的模式傳輸,無(wú)線路由器模塊在啟動(dòng)后會(huì)自動(dòng)創(chuàng)建UDP連接,并連接云服務(wù)器,將采集到的數(shù)據(jù)以Socket的模式發(fā)送到指定端口的地址,以供客戶端取用視頻。

      2.3 控制端軟件模塊設(shè)計(jì)

      控制端軟件模塊主要工作是實(shí)現(xiàn)對(duì)硬件的遠(yuǎn)程控制、接收硬件設(shè)備傳遞來(lái)的視頻信息,并將視頻信息實(shí)時(shí)地顯示在控制頁(yè)面上。

      本系統(tǒng)的控制端軟件主要由兩個(gè)頁(yè)面組成:第一個(gè)頁(yè)面為APP的主頁(yè)面;通過(guò)點(diǎn)擊其上的控制按鈕可以進(jìn)入到第二個(gè)頁(yè)面,即控制頁(yè)面。在控制頁(yè)面使用digitalWrite()方法控制引腳的高低電平輸出。通過(guò)將Servo.h庫(kù)中Servo類型的變量附加到引腳上,實(shí)現(xiàn)對(duì)舵機(jī)的控制。通過(guò)點(diǎn)擊不同的控制按鈕對(duì)小車進(jìn)行不同的控制操作,控制頁(yè)面的背景為硬件設(shè)備所采集視頻信息的展示窗口,通過(guò)myServo.attach(9)語(yǔ)句將舵機(jī)附加到9號(hào)引腳上,并通過(guò)write()方法將其默認(rèn)狀態(tài)下(即小車直行狀態(tài)下)的舵機(jī)角度設(shè)置為90°。當(dāng)控制芯片接收到使車載攝像頭左擺的指令時(shí),就通過(guò)myServo.write(60)語(yǔ)句將舵機(jī)角度設(shè)置為60°;而接收到右擺的指令時(shí),就通過(guò)myServo.write(120)語(yǔ)句將舵機(jī)角度設(shè)置為120°。通過(guò)該窗口,用戶可以實(shí)時(shí)看到小車前方的事物??刂栖浖木唧w流程如圖6所示。

      圖6 控制端軟件流程

      3 結(jié) 語(yǔ)

      本設(shè)計(jì)采用控制端和數(shù)據(jù)采集端相結(jié)合的方式,可以很好地實(shí)現(xiàn)小車的遠(yuǎn)程控制以及視頻信息的采集和傳輸、控制端的信息展示等功能,能在不同的條件下完成環(huán)境信息采集工作。該設(shè)計(jì)能夠較好地協(xié)助甚至替代人們完成惡劣條件下的環(huán)境探測(cè)工作,在完成基本功能的基礎(chǔ)上達(dá)到了比較理想的效果,具有較好的實(shí)用價(jià)值。

      猜你喜歡
      開(kāi)發(fā)板路由器小車
      買千兆路由器看接口參數(shù)
      快樂(lè)語(yǔ)文(2020年36期)2021-01-14 01:10:32
      自制小車來(lái)比賽
      劉老師想開(kāi)小車
      文苑(2018年22期)2018-11-19 02:54:18
      兩輪自平衡小車的設(shè)計(jì)與實(shí)現(xiàn)
      電子制作(2018年8期)2018-06-26 06:43:02
      Microchip最新推出兩款PIC32 Curiosity開(kāi)發(fā)板
      淺析單片機(jī)開(kāi)發(fā)板的設(shè)計(jì)與制作
      電子制作(2017年22期)2017-02-02 07:10:14
      你所不知道的WIFI路由器使用方法?
      Mouser為您呈上開(kāi)發(fā)關(guān)鍵之STMicroelectronics Nucleo開(kāi)發(fā)板
      Arduino和Atmel發(fā)布Arduino Zero開(kāi)發(fā)板
      永济市| 监利县| 阜城县| 东阳市| 梨树县| 镇康县| 惠来县| 毕节市| 读书| 客服| 衢州市| 康马县| 吐鲁番市| 靖远县| 绵阳市| 民县| 泉州市| 宣化县| 奉化市| 丹凤县| 时尚| 米易县| 平阴县| 修水县| 彭泽县| 衡东县| 慈溪市| 盐亭县| 怀宁县| 二连浩特市| 清丰县| 凌源市| 芜湖县| 龙陵县| 舟曲县| 合肥市| 镇安县| 镇安县| 定兴县| 衡南县| 隆回县|