使用Arduino的避障機器人(智能車)
這里設(shè)計了一個關(guān)于避障機器人的簡單項目。機器人學(xué)是一個有趣且快速發(fā)展的領(lǐng)域。作為工程的一個分支,機器人技術(shù)的應(yīng)用隨著技術(shù)的進步而不斷增加。
本文引用地址:http://butianyuan.cn/article/202304/446043.htm移動機器人的概念正在快速發(fā)展,移動機器人的數(shù)量和其復(fù)雜性隨著不同的應(yīng)用而增加。
有許多類型的移動機器人導(dǎo)航技術(shù),如路徑規(guī)劃、自我定位和地圖解釋。避障機器人是一種自主移動機器人,它可以避免與意外的障礙物發(fā)生碰撞。
在這個項目中,我們設(shè)計了一個避障機器人。它是一個基于Arduino的機器人,使用超聲波測距儀傳感器來避免碰撞。
電路圖
需要的硬件
Arduino Uno
超聲波測距儀傳感器 - HC - SR04
電機驅(qū)動IC - L293D
伺服電機 (Tower Pro SG90)
齒輪馬達 x 2
機器人底盤
電源供應(yīng)器
電池連接器
電池座
部件描述
Arduino Uno
Arduino Uno是一個基于ATmega 328p微控制器的原型開發(fā)板。它是一個開源的電子原型開發(fā)平臺,可用于各種傳感器和執(zhí)行器。
Arduino Uno有14個數(shù)字I/O引腳,其中6個引腳被用于本項目中。
Arduino Uno板
HC - SR04
它是一個超聲波測距儀傳感器。它是一個基于非接觸的距離測量系統(tǒng),可以測量2厘米到4米的距離。
超聲波傳感器
L293D
它是一個電機驅(qū)動器,可以為兩個電機提供雙向驅(qū)動電流。
伺服電機
Tower Pro SG90是一個簡單的伺服電機,可以在每個方向上旋轉(zhuǎn)90度(總共約180度)。
使用Arduino的避障機器人的設(shè)計
Arduino是該機器人的主要處理單元。在14個可用的數(shù)字I/O引腳中,有7個引腳被用于本項目設(shè)計。
超聲波傳感器有4個引腳: Vcc、Trig、Echo和Gnd。Vcc和Gnd連接到Arduino的+5v和GND針腳。Trig(觸發(fā)器)分別與Arduino UNO的第9針和第8針相連。
伺服電機用于旋轉(zhuǎn)超聲波傳感器以掃描障礙物。它有三個引腳,即控制、VCC和GND。伺服控制引腳連接到Arduino的11號引腳,而VCC和GND則連接到+5V和GND。
L293D是一個16針的集成電路。引腳1和9是啟用引腳。這些引腳連接到+5V。 引腳2和7是單片機對第一個電機的控制輸入。它們分別與Arduino的6和7號引腳相連。
同樣地,10號和15號引腳是微控制器對第二個電機的控制輸入。它們被連接到Arduino的5和4號引腳。L293D的4、5、12和13腳是接地引腳,與Gnd相連。
第一個電機(視為左輪的電機)連接在L293D的3和6號針腳上。第二個電機,作為右輪電機,連接到L293D的11和14針腳。
L293D的第16針是Vcc1。這是與+5V相連的。第8個引腳是Vcc2。這是電機的電源電壓。它可以連接到4.7V和36V之間的任何地方。在這個項目中,L293D的第8個引腳連接到+5V電源。
注意:電機驅(qū)動器的電源,即第1針(使能1)、第8針(VCC2)、第9針(使能2)和第16針(VCC1)應(yīng)該有單獨的電源供應(yīng)。
電機驅(qū)動板可以使用板上的5V電壓調(diào)節(jié)器。在本項目中也使用了一個類似的電源。
如果上述避障機器人的電路圖不清楚,下面的圖片可能會有幫助。
使用Arduino電路2的避障機器人
工作
在進行項目工作之前,重要的是要了解超聲波傳感器的工作原理。超聲波傳感器工作的基本原理如下:
使用一個外部觸發(fā)信號,超聲波傳感器的Trig引腳被設(shè)置為邏輯高電平,至少10μs。發(fā)送器模塊發(fā)出一個聲波脈沖。這包括8個40KHz的脈沖。
信號在撞擊到表面后返回,接收器檢測到這個信號。在發(fā)送信號和接收信號的過程中,回音針是高電平。這個時間可以通過適當?shù)挠嬎戕D(zhuǎn)換為距離。
這個項目的目的是使用超聲波傳感器和Arduino實現(xiàn)一個避障機器人。所有的連接都是按照電路圖進行的。本項目的工作原理解釋如下。
當機器人通電時,機器人的兩個馬達會正常運行,機器人會向前移動。在此期間,超聲波傳感器不斷計算機器人與反射面之間的距離。
這些信息由Arduino處理。如果機器人與障礙物之間的距離小于15厘米,機器人就會停下來,用伺服電機和超聲波傳感器向左右方向掃描新的距離。如果左邊的距離大于右邊的距離,機器人將準備左轉(zhuǎn)。但首先,它要退后一點,然后激活左輪電機,使其反轉(zhuǎn)。
同樣地,如果右邊的距離比左邊的距離大,機器人就準備向右旋轉(zhuǎn)。 這個過程一直持續(xù)下去,機器人一直在移動,不會撞到任何障礙物。
注意
由于該項目是基于Arduino的,編程非常簡單,可以很容易地修改。
不需要Arduino電機盾牌。
當使用9V電池時,至少需要2個這樣的電池為機器人供電。最好使用2個9V電池(一個用于Arduino、超聲波傳感器、伺服電機,另一個用于L293D和電機)。
超聲波傳感器不應(yīng)直接連接到電源上,因為它可能會影響正常的性能。
也可以使用一對紅外發(fā)射器-接收器來代替超聲波傳感器。
應(yīng)用
避障機器人可用于幾乎所有的移動機器人導(dǎo)航系統(tǒng)。
它們可以用于家庭工作,如自動真空清潔。
它們也可以用于危險的環(huán)境中,在那里人類的滲透可能是致命的。
評論