a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

博客專欄

EEPW首頁 > 博客 > 使用Arduino開發板設計的智能小車

使用Arduino開發板設計的智能小車

發布人:utmel 時間:2023-06-02 來源:工程師 發布文章

  芯片是從很早的六七十年代簡單的單片機,發展到現在先進的處理器,已經變得越來越強大。它給人們的生活帶來了不少的便利,不管是電腦,電視,空調,手機還是相機,都離不開芯片技術的發展和進步。但是隨著人們的要求越來越高,對芯片的性能要求也不斷提高,51單片機陳舊的結構和落后的性能已經越來越不能滿足人們對知識的渴望,所以一種嶄新的硬件平臺應運而生——Arduino開發板。本文將介紹Arduino開發板的一些知識以及利用其各種便利特性設計的一款智能小車。


  1.Arduino開發板

  Arduino開發板(如圖1所示)是一個開源平臺,適合沒有基礎的學生學習和使用。Arduino是一塊基于開放源代碼的USB接口Simple LO接口板(包括12通道數字GPIO,4通道PWM輸出,6-8通道10bit ADC輸入通道),該系統的硬件主要由Arduino UNO主控板、Arduino Xbee傳感器擴展板、藍牙串口模塊和數字溫度傳感器組成。它構建于開放原始碼simple I/O介面版,并且具有使用類似Java、C語言的Processing/Wiring開發環境。主要包含兩個的部分:硬件部分是可以用來做電路連接的Arduino開發板;另外一個則是Arduino IDE,你的計算機中的程序開發環境。你只要在IDE中編寫程序代碼,將程序上傳到Arduino開發板后,程序便會告訴Arduino開發板要做些什么了。


  Arduino能通過各種各樣的傳感器來感知環境,通過控制燈光、馬達和其他的裝置來反饋、影響環境。板子上的微控制器可以通過Arduino的編程語言來編寫程序,編譯成二進制文件,燒錄進微控制器。對Arduino的編程是通過Arduino編程語言 (基于Wiring)和Arduino開發環境(基于Processing)來實現的。基于Arduino的項目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運行的軟件,它們之間進行通信(比如Flash, Processing, MaxMSP)來實現。

20230602Arduino開發板.jpg

圖1 Arduino開發板

  2.系統硬件設計

  2.1尋線功能的實現

  小車想要完成尋線功能,希望它能夠跟著黑線走,那么它首先也要能夠“看見”那些黑線,因此需要用到傳感器。傳感器,簡單的說就是一種檢測裝置,能夠感受到被測量的信息,并將檢測到的信息,按一定規律變換成為電信號或者是其他所需形式的信息輸出,以滿足信息的傳輸,處理,存儲,顯示,記錄,控制等要求。這里選擇一個紅外巡線傳感器,而這個紅外傳感器就將充當智能小車的眼睛來檢測黑線。紅外巡線傳感器模塊的原理是利用紅外對管檢測自己發出的紅外線反射光(深色反射弱,淺色反射強)。尋線傳感器可以幫助機器人進行白線或者黑線跟蹤,可以檢測白底中的黑線,也可以檢測黑底中的白線,檢測到黑線返回低電平。

  設計的小車采用前置驅動,由兩個電機分別控制左右兩個前輪,后面是個萬向輪,可以自由轉動。當確定了小車模型之后,如果小車的兩個前輪同時以相同的速度向前轉的話那么小車就往前走。當小車右輪向前轉左輪不動那么小車就會向左轉,同理小車左輪向前轉右輪不動那么小車就向右轉,兩個輪子同時以相同的速度向后轉那么小車就會倒車。接下來就是由傳感器控制小車運行了,在這里設置三個尋線傳感器,三個傳感器也就有三種情況,分別是每個傳感器遇到黑線而兩外兩個沒有遇到黑線時的三種情況。中間一個用于檢測黑線,當中間的一個檢測到黑線時就返回低電平,此時小車直走;當黑線向左邊轉彎,此時小車若直走則左邊的傳感器則會檢測到黑線,此時返回低電平,此時就要右輪轉,左輪停,小車就會向左轉彎;當轉過彎后左邊的傳感器已經檢測不到黑線,中間的又能檢測到黑線了,那么就繼續向前直走。同理,當黑線向右轉彎時右邊的傳感器也會檢測到黑線,返回低電平,此時小車左輪轉,右輪停止,那么小車就會像右轉,直到中間的傳感器檢測到黑線為止。

  2.2避障功能的實現

  至于小車的避障功能,首先要選用傳感器,在這里選用紅外避障傳感器,由一個紅外****管和一個  紅外接收管構成。工作原理是:傳感器****紅外線,根據反射紅外光探測前方障礙物,無障礙物時輸出高電平,有障礙時輸出低電平。這樣看來其實這個傳感器的原理和之前的尋線傳感器是差不多的,因此可以如法炮制,先將傳感器裝在小車的前端來感受環境變化,在這里一樣使用三個傳感器,分別放在正前方,左前方,右前方。這里情況會比前面的尋線功能要稍微復雜一點,因為尋線只有一條,但是這里有可能是只有一個傳感器被遮擋,也有可能有兩個傳感器被遮擋,也有可能是三個傳感器都被遮擋,因此就需要把這幾種情況都要考慮進去。

  2.3超聲波測距功能的實現

  對于超聲波測距功能,使用的是HC-SRO4,它是最常見的超聲波傳感器之一,價格便宜,好用;如圖2所示。超聲波的****和接收采用HC-SR04模塊,模塊包括超聲波****、接收器和控制電路3。超聲波的原理是非常簡單的,想要在Arduino平臺中實現也是—件非常方便的事情,不過因為要顯示到電腦上,所以別忘了串口的波特率設置。

20230602HC-SR04模塊.jpg

  2.4 溫度傳感功能的實現

  溫度傳感功能,在這里選用的是DS18B20數字溫度傳感器。DS18B20是美國DALLAS半導體公司繼DS1820之后最新推出的一種改進型智能溫度傳感器,具有測溫系統簡單、測溫精度高、連接方便、占用接口線少等優點。從主機CPU到DSI820僅需一條線(和地線),DS1820的電源可以由數據線提供而不需要外部電源。因為每一個DS1820在出廠時已經給定了唯一的序號,因此任意多個DS1820可以連接在同一條單線總線上。DS1820的測量范圍從- 55℃到+125℃增量值為0.5℃,可在ls(典型值)內把溫度變換成數字。簡單的理解DS18B20測溫原理就是芯片把感知到的溫度換成數值放在數據寄存器里面,要想得到寄存器里面的數據,只有按照DALLAS規定的一種時序才能正確傳出數據,這種時序被稱為單總線,CPU就可通過單總線協議,取得DS18B20里面的溫度值。圖3是DS18B20引腳排列。

20230602DS18B20引腳圖.jpg

圖3 DS18B20引腳圖

  2.5紅外控制功能的實現

  為了實現紅外控制功能,所選擇的是38K紅外接收模塊,并且還帶有一個小遙控器以方便控制。這里要實現的目標是對小車行走進行控制,也就是控制小車前進,后退,左轉,右轉。前面的尋線也好,紅外避障也好,都提供了一個對小車行走的控制函數,在這里進行調用就好了,這不是問題。限于紅外****的本質,也就是紅外線本身的限制,所以在控制范圍上是有限制的,就好比家里的電視遙控器,必須對準了才能遙控,所以把紅外接收頭裝在小車后面,在后面進行控制。

  2.6智能小車系統結構

  圖4是小車被三個傳感器控制的運行狀態,另外還有兩個傳感器的結果是要輸出到電腦用專用軟件的監視窗口去進行監視的,如圖5所示。

20230602小車控制框圖.jpg

圖4 小車控制框圖

智能小車控制框圖5.jpg

 圖5 智能小車控制框圖

  3.系統軟件設計

  3.1超聲波傳感器程序設計

  超聲波傳感器測距是通過先****超聲波然后檢測傳回的超聲波所耗費的時間從而計算距離,圖6是其流程圖。

20230602超聲波測距流程圖.jpg

圖6 超聲波測距流程圖

  3.2紅外遙控程序設計

  紅外模塊,因為配備了一個遙控器,所以先讀取出每個遙控中按鈕的值,然后將每個按鈕的值記錄下來,將每個值作為一個操作命令。當遙控器中的某個按鈕按下時,就會****出那個對應的值,然后當紅外接收頭接收到信號時,處理器就會讀取到那個值并按照程序做出相應的反應,圖7是紅外控制邏輯框圖。

20230602紅外控制邏輯框圖.jpg

 圖7 紅外控制邏輯框圖

  結束語

  以上就是使用Arduino開發板設計的智能小車介紹了,該設計實現了小車的自動循跡、避障、超聲波測距等功能,在設計中軟件采用模塊化設計思想。實驗結果表明,利用傳感器自動采集環境數據從而按照程序自動運行。設計的智能小車操作簡單,穩定可靠,該系統具有寬廣潛力和應用價值。

關注公眾號“優特美爾商城”,獲取更多電子元器件知識、電路講解、型號資料、電子資訊,歡迎留言討論。

*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。




相關推薦

技術專區

關閉