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