使用Arduino的手勢控制機(jī)器人
在這個(gè)項(xiàng)目中,我們使用Arduino設(shè)計(jì)了一個(gè)簡單的手勢控制的機(jī)器人。這個(gè)手勢控制機(jī)器人是基于Arduino Nano、MPU6050、射頻發(fā)射器-接收器對和L293D電機(jī)驅(qū)動(dòng)器。
本文引用地址:http://2s4d.com/article/202304/445987.htm盡管標(biāo)題說是手勢控制機(jī)器人,但從技術(shù)上講,這個(gè)機(jī)器人是由手的傾斜度控制的。
前言
機(jī)器人是一個(gè)由計(jì)算機(jī)程序操作的電子機(jī)械系統(tǒng)。機(jī)器人可以是自主的或半自主的。自主的機(jī)器人不受人類的控制,通過對環(huán)境的感知來決定自己的行為。
大多數(shù)工業(yè)機(jī)器人是自主的,因?yàn)樗鼈冃枰愿咚俸透呔_度進(jìn)行操作。但有些應(yīng)用需要半自主或人類控制的機(jī)器人。
一些最常用的控制系統(tǒng)是語音識(shí)別、觸覺或觸摸控制和運(yùn)動(dòng)控制。
經(jīng)常實(shí)現(xiàn)的運(yùn)動(dòng)控制機(jī)器人之一是手勢控制的機(jī)器人。在這個(gè)項(xiàng)目中,使用MPU6050開發(fā)了一個(gè)手勢控制機(jī)器人,它是一個(gè)三軸加速器和三軸陀螺儀傳感器,控制器部分是Arduino Nano。
沒有使用帶有按鈕或操縱桿的遙控器,而是使用手勢來控制機(jī)器人的運(yùn)動(dòng)。
該項(xiàng)目基于無線通信,手勢的數(shù)據(jù)通過射頻鏈接(射頻發(fā)射器-接收器對)傳輸給機(jī)器人。
該項(xiàng)目分為發(fā)射器和接收器部分。發(fā)送器和接收器部分的電路圖和元件將分別解釋。
手勢控制機(jī)器人的原理
為了理解手勢控制機(jī)器人的工作原理,讓我們把這個(gè)項(xiàng)目分為三個(gè)部分。
第一部分是通過Arduino從MPU6050加速器陀螺儀傳感器獲取數(shù)據(jù)。Arduino不斷從MPU6050獲取數(shù)據(jù),并根據(jù)預(yù)定的參數(shù),將數(shù)據(jù)發(fā)送到射頻發(fā)射器。
項(xiàng)目的第二部分是射頻發(fā)射器和射頻接收器之間的無線通信。射頻發(fā)射器在收到Arduino的數(shù)據(jù)后(通過編碼器IC),通過射頻通信將其傳送給射頻接收器。
最后,項(xiàng)目的第三部分是對射頻接收器收到的數(shù)據(jù)進(jìn)行解碼,并將適當(dāng)?shù)男盘?hào)發(fā)送至電機(jī)驅(qū)動(dòng)IC,從而激活機(jī)器人的車輪電機(jī)。
手勢控制機(jī)器人的方框圖
下面的圖片顯示了發(fā)射器和接收器部分的手勢控制機(jī)器人的簡單框圖。
發(fā)射器方框圖
接收器方框圖
發(fā)射器部分的電路圖
下圖顯示了手勢控制機(jī)器人項(xiàng)目發(fā)射器部分的電路圖。
發(fā)射器部分的元件
Arduino Nano
434MHz射頻發(fā)射器
HT-12E編碼器IC
MPU6050加速器/陀螺儀傳感器
750KΩ電阻
接收器部分的電路圖
接收器部分的元件
L293D電機(jī)驅(qū)動(dòng)IC
HT-12D解碼器IC
434MHz射頻接收器
33KΩ電阻
330Ω電阻
LED
4個(gè)帶輪子的齒輪馬達(dá)
機(jī)器人底盤
部件描述
MPU6050
MPU6050是愛好者和發(fā)燒友最常使用的傳感器模塊之一。它由加速器和陀螺儀組成,并提供6個(gè)自由度(3軸加速器和3軸陀螺儀)。
射頻發(fā)射器和接收器模塊
發(fā)射器和接收器之間的通信是使用射頻模塊。在這個(gè)項(xiàng)目中使用了一對434MHz的發(fā)射器和接收器。
HT-12E
它是一個(gè)編碼器集成電路,將4位并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),以便通過射頻鏈路進(jìn)行傳輸。
HT-12D
它是一個(gè)解碼器IC,將射頻接收器接收到的串行數(shù)據(jù)轉(zhuǎn)換成4位并行數(shù)據(jù)。這個(gè)并行數(shù)據(jù)可以用來驅(qū)動(dòng)電機(jī)。
帶有編碼器和解碼器的射頻鏈接
手勢控制機(jī)器人的電路設(shè)計(jì)
發(fā)射器部分
機(jī)器人的發(fā)射器部分由Arduino Nano板、MPU6050傳感器、HT-12E編碼器IC和一個(gè)射頻發(fā)射器組成。Arduino和MPU6050傳感器之間的通信是通過I2C接口進(jìn)行的。因此,MPU6050傳感器的SCL和SDA引腳被連接到Arduino Nano的A5和A4引腳。
此外,我們將使用MPU6050的中斷引腳,因此,它被連接到Arduino Nano的D2。
HT-12E是一個(gè)編碼器集成電路,通常與射頻發(fā)射器模塊有關(guān)。它將12位并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)。12位數(shù)據(jù)被分為地址和數(shù)據(jù)位。A0到A7(針腳1到針腳8)是地址位,它們用于數(shù)據(jù)的安全傳輸。這些引腳可以保持開放或連接到地(Vss)。在這個(gè)電路中,HT-12E的第1至第9針(A0 - A7和Vss)連接到地。
10-13腳(AD8、AD9、AD10和AD11)是HT-12E的數(shù)據(jù)引腳。它們接收來自外部的4個(gè)字的并行數(shù)據(jù),如微控制器(本例中為Arduino Nano)。它們分別與Arduino Nano的D12、D11、D10、D9引腳相連。
TE'是傳輸使能引腳,它是一個(gè)低電平有效引腳。只要TE'為低電平,數(shù)據(jù)就會(huì)被傳輸。因此,第14針(TE')也被連接到地。
編碼器IC在16和15號(hào)引腳(OSC1和OSC2)之間有一個(gè)內(nèi)部振蕩器電路。在這些引腳之間連接了一個(gè)750KΩ的電阻來啟用振蕩器。Dout(針腳17)是串行數(shù)據(jù)輸出針腳。它與射頻發(fā)射器的數(shù)據(jù)輸入引腳相連。
Arduino Nano和MPU6050都有3.3V穩(wěn)壓器。因此,所有的VCC引腳都連接到一個(gè)穩(wěn)定的5V電源。
接收器部分
機(jī)器人的接收部分包括一個(gè)射頻接收器、HT-12D解碼器、L293D電機(jī)驅(qū)動(dòng)器和一個(gè)帶有四個(gè)輪子的電機(jī)的機(jī)器人底盤。
HT-12D是通常與射頻接收器相關(guān)的解碼器IC。它將射頻鏈路收到的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)。A0到A7(針腳1到針腳8)是地址針腳,必須與編碼器的地址針腳匹配。
由于編碼器(HT-12E)的地址引腳是接地的,所以解碼器的地址引腳也必須接地。因此,1-9號(hào)針腳(A0-A7和Vss)要接地。來自射頻接收器的串行數(shù)據(jù)被賦予解碼器IC的Din(針腳14)。
HT-12D有一個(gè)內(nèi)部振蕩器,在OSC1和OSC2(16和15腳)之間連接一個(gè)33KΩ的外部電阻。17腳(VT)表示數(shù)據(jù)的有效傳輸,當(dāng)數(shù)據(jù)引腳上出現(xiàn)有效數(shù)據(jù)時(shí),該腳將為高電平。一個(gè)與330Ω電阻串聯(lián)的LED被連接到這個(gè)引腳,以指示有效的數(shù)據(jù)傳輸。
HT-12D的10至13腳(D8、D9、D10和D11)是并行數(shù)據(jù)輸出腳。它們被連接到L293D電機(jī)驅(qū)動(dòng)IC的輸入引腳(分別為2、7、10和15腳)。
L293D電機(jī)驅(qū)動(dòng)芯片用于為電機(jī)提供必要的電流(用于正反方向)。引腳1和9是使能引腳,與引腳16(這是邏輯電源)一起連接到VCC(+5v)。引腳3-6和11-14是輸出,與四個(gè)電機(jī)相連。
第8針是電機(jī)電源針,連接到一個(gè)單獨(dú)的電源。因此,在接收器部分你需要兩個(gè)電池;一個(gè)用于電路,一個(gè)用于電機(jī)。
手勢控制機(jī)器人的工作
在這個(gè)項(xiàng)目中,我們設(shè)計(jì)了一個(gè)由手勢控制的移動(dòng)機(jī)器人。這里解釋一下該機(jī)器人的工作。
如前所述,手勢控制機(jī)器人是一種無線操作的機(jī)器人,有兩個(gè)部分: 發(fā)射器和接收器。當(dāng)機(jī)器人通電后,由Arduino、MPU6050、編碼器和射頻發(fā)射器組成的發(fā)射器部分將持續(xù)監(jiān)測MPU6050傳感器。
這些數(shù)據(jù)被Arduino捕獲,然后根據(jù)MPU6050傳感器的方向,將相應(yīng)的數(shù)據(jù)傳送給編碼器。編碼器收到的并行數(shù)據(jù)被轉(zhuǎn)換為串行數(shù)據(jù),該串行數(shù)據(jù)由射頻發(fā)射器傳輸。
在接收部分,射頻接收器接收串行數(shù)據(jù)并將其傳送給解碼器IC。解碼器將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù),并將此并行數(shù)據(jù)提供給電機(jī)驅(qū)動(dòng)IC?;谶@些數(shù)據(jù),電機(jī)的運(yùn)動(dòng),以及機(jī)器人的運(yùn)動(dòng)被定義。
應(yīng)用
無線控制機(jī)器人在許多應(yīng)用中非常有用,如遠(yuǎn)程監(jiān)控、軍事等。
手勢控制機(jī)器人可以被坐在輪椅上的殘疾人使用。
可以開發(fā)手勢控制的工業(yè)級(jí)機(jī)器人手臂。
到目前為止,你已經(jīng)知道了手勢控制機(jī)器人,它完全根據(jù)你的手的時(shí)刻(對設(shè)備的輸入標(biāo)志)來移動(dòng)。如果你正在尋找一個(gè)類似的低預(yù)算設(shè)備,那么機(jī)器人吸塵器最適合你,因?yàn)樗懈蟮墓δ軄砬鍧嵞愕募摇?/p>
評論