




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
摘要隨著計算機技術的發展,人們對青少年編程更加重視,但是我國的青少年編程處在發展階段,針對這一現象,這次論文設計出了一款關于stm32的智能小車教學輔助系統。它主要以stm32單片機為主控芯片,使用紅外傳感器、超聲波傳感器等硬件模塊,并且使用藍牙進行手機APP與小車的通信,從而達到小車智能避障、紅外循跡和左轉右轉的功能。關鍵詞:循跡避障;紅外傳感器;超聲波傳感器;STM32;藍牙目錄1.緒論 .緒論1.1選題背景近年來,計算機編程成為一個重要的發展趨勢,目前市面上有很多成熟的編程產品,例如,樂高機器人和scratch(全球少兒圖形化編程)平臺等等,根據國內物聯網技術的發展現狀,一個完整青少年編程需要考察近幾年的編程開發環境及國內外相關成熟產品的運行模式。在2009年8月份溫家寶總理提出“感知中國”概念,從這個時候開始,物聯網就列入國家五大新興戰略性產業,后來各大高校開始開展物聯網這門課程,物聯網教育還沒有普及到中國教育行業的其他階段。青少年不能近距離接觸物聯網,接觸編程,針對這一問題,我國教育部分采取措施,在2017年正好趕上,從此將少兒編程列入到發展規劃中,作為國家級戰略推進,成為本設計國“科技興國”的基礎。各個省份都非常積極的迎接這項任務,早在重慶前面,南京、天津等城市,已經很早之前把它列入到中考招生項目中,在升學加分的這個重要的問題上,編程的趨勢非常猛烈。青少年編程在中國范圍內的得到廣泛應用,并且國務院對中小學編程教育的重視,越來越多的家長開始讓孩子學習計算機編程。1.2國內外現狀1.2.1國外現狀從早些年開始,國外一些國家開始發展他們的計算機代碼編寫教程。例如,2000年以色列國家編程事業興起;2013年奧巴馬號召大家學習編程;2014年英國把編程納入必修課;2018年韓國全面推廣中小學編程;在2020年日本新出的教科書在算術與理科的層面上發展教育,并且使編程成為新的編程教育方式納入課本里面。經過這些歷程,青少年編程逐漸成為國外多數學校的一門必修課。Scratch編程軟件是國外麻省理工學院研發的一款簡單易學的圖形化編程軟件,它不用復雜的函數代碼,只需要認識文字,了解一些簡單的C語言。它的教學過程大致如下:第一,建立一個程序,并且這個過程中用到了涂鴉,錄入錄音和找圖片等一些非常有趣的操作;第二,發布已經完成的作品,孩子們將自己做的作品使用scratch直接上傳到網絡,自己的父母可以快速的看到作品,還可以與其他使用該軟件的小伙伴進行探討、學習;第三,后期維護,建立程序是在軟件的編譯環境下進行的,而后期的程序的發布是在網頁內運行的,這樣一來可以做到知識共享,還能結交朋友。1.2.2國內現狀國家對青少年編程非常重視,教育和技術研發部門采取科教強國戰略,在國家的號召下,國內市場上也有一些成熟的編程產品,例如樂高機器人。不過,現在的青少年編程還有很大的發展空間,市面上現存的編程軟件較少,針對上述情況,設計一款簡單的編程教學軟件是必要的。1.3研究內容本論文的研究內容是stm32單片機的選型,小車循跡,超聲波避障和小車前進后退,左轉等,在此基礎上實現小車循跡中交叉線處的自動判別和避障中距離和角度的判別。藍牙通信模塊研究通信距離和小車和手機間的通信方式。1.4技術路線技術路線分為以下幾個部分,第一,硬件部分stm32主控模塊,紅外傳感器和超聲波傳感器以及藍牙模塊的研究使用,第二,小車的循跡方式和原理,超聲波傳感器的識別障礙物的角度和距離以及藍牙通信的原理研究。技術路線圖如圖1-1所示。圖1-1技術路線圖1.5論文結構本文分為六章:第一章:本文首先介紹了選題背景和國內外發展現狀,接著描述了研究內容、技術路線。第二章:通過系統的總體設計,本章對論文的框架進行描述,以及對客戶目標、需求分析以及產品設計進行介紹。第三章:本章節對系統硬件設計分析,描述了功能使用過程中需要的硬件以及功能,還有講解功能實現過程中需要的原理。第四章:本章節對系統軟件設計精選詳細概括,介紹了系統的軟件功能,描述每個設計模塊的開發流程。第五章:系統功能測試。本章對本論文進行了詳細概括,分成四部分對每個功能進行測試,從而確保工作的正常進行。第六章:通過對論文進行簡單的概述,總結本設計的優點和不足之處,對產品以后的發展前進進行分析。2.系統總體設計2.1客戶目標本次論文的適用客戶群體是青少年,他們對編程的學習有一定的基礎,他們可以通過編程實現怎樣的操作,選擇青少年的原因是他們符合學習的條件。本次課題的適合人群是青少年,為什么沒有選擇幼兒和大一點的其他年齡段的人是有原因的。其一是因為雖然現在大多數父母從幼兒園開始就讓自家孩子學習英語,跆拳道、鋼琴等一些技能,但是本設計覺得還是不讓小朋友過早的接觸編程,因為他們的童年不僅僅有學習,他們還有其他的東西需要培養,比如和同齡小朋友一起玩抓小雞的游戲,最重要的一點是幼兒園的小朋友對代碼的理解上可能會存在一些困難。同樣,比青少年還大的人,比如中年婦女,他們雖然有一定的學習能力,但他們被身邊其他瑣事圍繞,從而不能靜下心來學習。對比來講,與其他年齡段的人相比,青少年是非常適合學習這款編程的,他們既有自本設計學習的能力,又有對事物充滿好奇心的動力,而且他們有一定的知識儲備,比如,如何求一個三角形的面積,如何判斷一件事物的對錯等等,這些都跟編程上的邏輯相關的。而且,本次小車的案例都是一些簡單的函數封裝,并且是半透明的,他們學習起來也不會太困難。客戶群體分析如圖2-1所示。圖2-1客戶群體分析圖2.2需求分析2.2.1可行性分析(1)用戶量一個項目的好壞,一個很重要的評判標準就是使用量,也就是它是否得到大多數人的認可。智能育學小車面向的人群是中小學生,本設計國人口數量大,中小學生的數量很多,而且現在家長對孩子的全面發展非常重視,電腦已經非常普遍。根據以上理由,本設計預判該項目上市之后用戶量這一塊是不用擔心的。(2)市場上生存優勢現在市面上有很多的教學APP開發軟件,例如,智慧樹、騰訊課堂、超星等等。他們之所以能夠在市面上存活,肯定有他們存在的必要性。像超星一樣,它能夠生存很大一方面因素是大學生的校公選課必須通過該平臺才能完成·。那么,智能育學小車存在的優勢是什么呢?本設計認為它有以優點。第一,她是免費供用戶使用的,不需要會員等一些額外的東西;第二,它占內存小,只有十幾兆;第三,下載它的時候不會綁定小軟件。2.2.2經濟可行性分析經濟可行性這方面的要求也是達標的,這有以下三個方面的因素,第一,開發本項目不需要后臺存入太多的數據,數據維護方面所需要的開銷較小;第二,軟件的使用量將會很多,這會帶來一筆收益來抵消花銷;第三,如果軟件被市面上較成熟的公司看重,可以將該產品賣給他們,讓他們更好的開發這個項目。2.2.3應用前景分析該項目的應用前進是非常好的,因為它具有在市面上存貨的價值。第一,現在家長非常重視孩子的教育,特別是在編程這一塊,現在家長都給孩子報各種編程輔導班,在網上現在各種編程軟件,例如,scratch就是一個被廣泛使用的幼兒編程軟件。這個項目和scratch相比還不成熟,但是它的理念和它是非常相識的。第二,該軟件的可發展性較強,里面可以添加接口增加一些新的功能。根據以上兩個方面因素,本設計覺得該項目的發展前景是可以的。2.3產品設計2.3.1教學理念本次課題主要分為三大部分,第一部分是介紹小車的基本構成,讓青少年認識單片機,傳感器、LED燈等一些硬件,知道他們的使用場景和具體的一些參數;第二部分是介紹開發工具keil,告訴他們如何利用該軟件新建一個項目,如何編譯和運行;第三部分是講解C語言的一些基礎語法,例如:什么是變量,什么是空函數,還有if是選擇語句等等。通過以上三個過程的講解,等他們掌握之后就可以告訴他們一些案例,如小車進行前進、后退。如何測試他們的掌握情況,可以用前進這個案例來驗證。首先,先讓他們看一下小車前進的這個過程,然后告訴他們小車因為被寫入了一些c語言,然后他們就走了,接著讓他們自己操作,讓小車運動起來。這樣就可以讓他們在玩的工程中學習。開發工具流程如下圖2-2所示。圖2-2工具開發流程2.3.2教學目標如何實施教學、培養學生的邏輯思維能力以及教學的流程。展示實物代碼的詳細講解用生活中常見的實物類比代碼的功能,幫助學生理解在課后提出一些問題,鞏固學習的知識點,發散思維。案例一:(1)voidturn_right(){};//右轉自定義一個函數名,它由函數名,參數,返回值構成。需要注意的是,定義函數名的時候要因名知意,這樣可以清楚的辨別。left_motor1();//1為高電平right_motor0();//0為低電平說明:這樣可以實現右轉,可以實現這一效果的原因是數字電路中的高低電平的知識點。理解:轉彎就像石頭、剪刀,布一樣,如果“1”是里面的石頭,那么“0”就是里面剪刀,這樣就可以方便理解了。(2)voidturn_left()//左轉{ right_motor1(); left_motor0();} 說明:與右轉相反,“0”是里面的石頭,那么“1”就是里面剪刀,那么這樣就可以實現左轉了。(3)voidstright()//直走{ left_motor1();//左邊前轉 right_motor1();//右邊前轉}說明:函數體里面函數實現的功能是前輪、后輪都往前走。就好比兩個人一起商量好,共同完成一件事情。(4)voidback()//倒退{right_motor2();//后轉 left_motor2();//左邊后轉}說明:這就好比,現在老師問班里兩個學生要不要留作業,那兩個學生的回答都是不,這樣他們都一起退步了。案例二:避障功能需要介紹。intgetDistance(){ floatbuff; buff=Get_OscVal()/260.0f; return(int)buff;}這個是定義獲得小車與障礙物間距離的函數,函數里面定義了一個float類型的變量,然后調用Get_OscVal(),執行小車避障的操作,并且這個函數具有返回值。例外,補充一下,return返回值里面有類型轉換,它將一個浮點型變量轉化為整形,這也是一個需要掌握的知識點。案例三:本案例屬于較難的,將它是為了讓聽課的學生都能得到發展,因為每個學生的學習能力不一樣,有的學習能力比其他人強,他們想要掌握更多的知識來提升自己。然而對于那些想打好堅實基礎的同學則可以自學習前兩個案例,有時間再學習這個較難的案例。如圖所示2-3所示。圖2-3工具開發流程3.系統硬件設計3.1系統硬件總體設計本論文設計的智能小車是由STM32單片機主控模塊,傳感器避障模塊、紅外線循跡模塊和藍牙模塊構成。小車遙控通過藍牙模塊JDY-31和手機APP進行通信。手機端設置鏈接匹配信號,發送匹配指令,小車打開電源模塊進行配對,配對后進行通信,通過超控手機APP和TB6712電機驅動單元實現驅動實現避障功能,智能循跡功能和前進后退功能。系統硬件總體設計圖如下圖3-1所示。圖3-1系統硬件總體設計圖3.2STM32主控設計Stm32是芯片的主控制單元部分。這個小車使用的是stm32F103z型號,并且單片機用的時鐘頻率是72MHz,并且以IN1、IN2、IN3、IN4端口作為輸入引腳,PWMA、PWMB端口作為舵機控制端口,單片機的BIN1、BIN2是超聲波傳感器的端口,AO1、AO2、AO3和AO4端口是藍牙通信端口。紅外傳感器圖如3-2所示。主控設計圖如圖3-2所示。圖3-2紅外傳感器
圖3-3主控設計圖3.3紅外循跡模塊紅外循跡模塊是智能小車非常重要的一部分,并且傳感器的種類有很多種,本論文使用的是光傳感器器件,它有兩個探頭,分別是紅外傳感器發射管與接收管。它使用的主要工作原理是黑色循跡,主要操作過程大致如下,發射管發出紅外光線,然后傳感器通過這種辦法來判斷,首先,接收紅外線的多少來判斷循跡黑線的位置,結果有以下兩種情況,第一,當是黑線時,由紅外線發射器發出的光反射回來較少,第二,當為白色區域時,接收管收到的光線就較多,這個時候三極管亮。并且,小車上的芯片是根據紅外線對管傳感器輸出信號的多少來判斷來小車輪子的轉動方向達到循跡的效果。循跡原理圖如下圖3-4所示。圖3-4循跡原理圖紅外傳感器如下圖3-5所示。圖3-5紅外傳感器3.4超聲波避障模塊超聲波測距模塊。本論文采用的是超聲波避障原理,他是使用舵機組合的傳感器系統,將超聲波的引起觸發的端口TRGO鏈接到單片機的TRG端口,超聲波測距的距離是3-200cm,測量的精度是4mm,并且可以將舵機的限號給ACHO端口。超聲波傳感器如下圖3-6所示。圖3-6超聲波傳感器超聲波使用的工作原理如下首先給TRGO管腳8us的高電平脈沖信號,使它產生超聲波信號,然后超聲波波的模塊產生并發出方波,并且自動檢測是否有信號看是否返回過來,接著如果檢測到信號回來,那么檢測信號則經過ACHO引腳輸出一個高電平。超聲波工作原理如下圖3-7所示。圖3-7超聲波原理3.5藍牙模塊本論文采用的藍牙模塊是在CC2541系統上的。它是低功耗的,傳說的范圍是2.4HZ,并且支持的傳輸速率是支持250kbps和500kbps,有出色的鏈路預算,并且主要應用于醫療、智能家居領域。此外,與CC2540相比,它的功耗更低,價格也便宜。藍牙模塊如下圖3-8所示。圖3-8藍牙模塊藍牙模塊的設計原理。首先,藍牙通信包含主從關系,對于通信一個是發送方,一個是接收方。這里,手機APP是發送方,小車是接收方,通過OSART1_TX引腳發出信號,電腦接收到信號后進行匹配,然后通信。藍牙電路設計圖如下圖3-9所示。圖3-9藍牙電路設計 4.系統軟件設計4.1電機驅動模塊設計L9110S是通過使用控制與驅動電機進行設計的兩個通道進行推免式功率放大專用集成電路器件,它有一個特點是在IC中存放電路中,這樣以來用來設計的費用將降低很多,并且這個芯片有兩個TTL/CMOS兩個器件,兼容電平輸入,有很強的抗干擾能力,驅動電動機的前轉和后轉。此外,電壓的飽和性較高,電流的峰值是1.5A,并且內置的二極管可以釋放反方向進來的電流。電機驅動模塊如下圖4-1所示。圖4-1電機驅動模塊4.2循跡模塊程序設計該程序是基于IRS-B210ST01-R1紅外傳感器實現循跡的程序設計,將紅外傳感器安裝在小車的前方,用它采集前面路上的信息,STM32處理器接收采集好的信息,此外,該處理器根據先前設置好的程序進行調整小車的轉速和方向,從而實現小車循跡的功能。循跡模塊如下圖4-2所示。 圖4-2循跡模塊打開電源開關,紅外傳感器開始工作,首先紅外傳感器的IN1引腳發射光,通過IN2引腳接收光,如果遇到黑線則反射回來較少的光,小車按著黑線循跡,如果沒有遇到黑線則反射回來較多的光,小車沖出賽道。如果遇到黑色的交叉線寫入測序進行判斷執行操作。4.3超聲波避障模塊程序設計該程序是基于超聲波避障的程序設計,開始時初始化函數,左紅外對管進行判斷,左紅外對管是1且右紅外對管是1則執行前進操作;左紅外對管是1且右紅外對管是0則執行右轉操作;左紅外對管是0且右紅外對管是1則執行左轉操作;左紅外對管是0且右紅外對管是0則執行停止操作。超聲波避障模塊如下圖4-3所示。圖4-3超聲波避障模塊4.4CC2541程序設計該程序是基于CC2541的藍牙控制程序設計,首先是手機端和小車端進行藍牙配對,手機端進行請求認證,根據R1、R2生成認證密鑰key,然后進行驗證確認信息,如果驗證信息都正確則驗證通過,如果驗證信息有誤,則認證失敗。藍牙認知如下圖4-4所示。 圖4-4程序設計藍牙通信模塊的程序設計本章的重要部分,首先,需要了解藍牙的通信原理,打開手機APP點擊鏈接,此時接通小車電源進行信號匹配。通信時,手機與APP不要離得太遠,這樣可以保證通信準確率。4.5手機端程序設計該程序設計是基于Android系統的。它是是谷歌公司研發的,與Eclipse軟件相比,它構建程序界面更方便,輸入信息更加詳細,Eclipse是集成開發環境剛開始是以java進行開發的。但是后來因為應用的復雜度變得越來越高,使用的場景變得很靈活。手機APP里面需要設計一些界面,首先是登錄界面,里面是鏈接藍牙的登錄界面,第二個是循跡、避障和左轉右轉的登陸界面,第三個是具體的功能界面。功能界面如4-5所示。圖4-5手機界面
5.系統測試5.1測試方案測試將從藍牙、智能循跡、超聲波避障和紅外遙控功能四個部分進行測試。經過對循跡功能的測試,會顯示小車操作界面,將會得到小車沿線循跡、小車沖出軌道和小車行駛八字記者功能。經過對超聲波避障的測試,會顯示小車的操作界面,將會實現避障功能,有障礙物角度,障礙物距離功能,還會有跟著障礙物行走功能。經過對紅外遙控功能的測試,會顯示小車的操作界面,將實現小車的前進、后退、左轉和右轉的功能。經過對藍牙的測試,可以實現藍牙型號的匹配,還有藍牙通信距離測試功能,還有原先的匹配密碼。5.2測試結果5.2.1循跡控制測試對循跡功能測試會顯示功能操作界面,操作界面如圖5-1所示。圖5-1循跡操作界面圖點擊手機APP開始循跡按鈕,實現小車循跡功能,當出現交叉線的時候,會做出判斷實現行走八字的功能。循跡和行走八字的功能展示如圖5-2、5-3所示。 圖5-2循跡 圖5-3行走八字循跡測試的具體細節如表5-1所示。表1-1小車循跡情況執行動作循跡脫離循跡偏轉角度運行狀態1直線偏離30°60°直行2轉彎偏離60°90°遇見障礙物停止3交叉線偏離90°120°停止5.2.2避障控制測試避障控制的測試結果分為從角度和距離兩個方面,檢測是否會遇到障礙物。以及遇到障礙物執行的操作,測試結果如圖5-2所示。 避障功能的測試細節如表5-2所示。5.2.3遙控控制測試點擊手機APP操作界面,會出現前進、后退、左轉和右轉的功能,顯示結果如圖5-3所示。圖5-3遙控功能界面前進后退等功能實現的具體細節如表5-4所示。表1-2紅外遙控小車執行情況傳感器信號小車運行形式00前進01右轉10左轉11停止圖5-4前進后退功能界面5.2.4藍牙控制測試打開手機APP鏈接藍牙,會有許多藍牙選項,選擇小車藍牙名字JDY-31-SPP進行配對,功能實現如圖5-5所示。圖5-5藍牙鏈接圖6.總結6.1總結本次論文收獲頗多,智能小車利用藍牙通信技術,在stm32主控模塊下,使用紅外傳感器實現循跡功能,超聲波傳感器實現避障功能,紅外遙控實現前進、后退左轉和右轉。硬件方面掌握傳感器的各種功能特性,以及每個管腳的功能,掌握了黑線循跡原理,掌握程序設計流程。此外,本次論文設計實現了小車教學的功能,而且使用封裝函數的方法。這款教學小車的優點是它是免費的,而且所占內存教學,里面的操作簡單易學。不足之處是小車的靈敏度不是太高,比如紅外線傳感器吸收和反射光的能力不是很強導致小車可能會跑出黑膠帶。這些問題需要改善,實現更加完整的功能。6.2展望據現在的產品來看,目前的這幾個功能市面上已經有很多,需要完善的功能也很多,如果在做這次項目,可以將小車進行改進,例如實現兩個小車間的通信,還可以美化小車外觀,讓小車的使用量更多,項目推廣更廣。此外,本論文們可以購買一些靈敏度更高的芯片優化代碼小車達到更快執行效率。參考文獻[1]張強.基于全向移動底盤的移動機器人定位與建圖研究[D].深圳大學,2019.劉斌.[2]劉斌.兩輪自平衡小車軟硬件研發與基于模糊線性化模型的變結構控制研究[D].西安
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政組織理論對經濟發展的促進作用試題及答案
- 速凍面食制作技術考核試卷
- 電氣機械控制系統故障診斷與維修考核試卷
- 道路運輸企業物流成本分析與控制考核試卷
- 高速公路施工規劃試題及答案
- 公路工程優化設計試題及答案
- 公路工程施工實例分析試題及答案
- 全面備考2025年信息系統監理師試題及答案
- 屠宰生產安全管理制度
- 地產交叉檢查管理制度
- 2024年遼寧阜新市事業單位招聘普通高校退伍大學生(高頻重點復習提升訓練)共500題附帶答案詳解
- 22G101三維彩色立體圖集
- 《計算機網絡實驗教程》全套教學課件
- DL∕T 904-2015 火力發電廠技術經濟指標計算方法
- DL∕T 552-2015 火力發電廠空冷凝汽器傳熱元件性能試驗規程
- 數字化設計與制造課程教學大綱
- 四川省自貢市2023-2024學年八年級下學期期末歷史試題 (無答案)
- php校友管理系統論文
- TD/T 1040-2013 土地整治項目制圖規范(正式版)
- 2023北京朝陽區高二下學期期末英語試題及答案
- 《鐵路路基施工與維護》課件-7 基床以下路堤施工
評論
0/150
提交評論