<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 使用Arduino的手勢控制機器人

使用Arduino的手勢控制機器人

作者: 時(shí)間:2023-04-26 來(lái)源:電子產(chǎn)品世界 收藏

在這個(gè)項目中,我們使用設計了一個(gè)簡(jiǎn)單的手勢控制的。這個(gè)手勢控制是基于 Nano、MPU6050、發(fā)射器-接收器對和L293D器。

本文引用地址:http://dyxdggzs.com/article/202304/445987.htm

盡管標題說(shuō)是手勢控制,但從技術(shù)上講,這個(gè)機器人是由手的傾斜度控制的。

前言

機器人是一個(gè)由計算機程序操作的電子機械系統。機器人可以是自主的或半自主的。自主的機器人不受人類(lèi)的控制,通過(guò)對環(huán)境的感知來(lái)決定自己的行為。

大多數工業(yè)機器人是自主的,因為它們需要以高速和高精確度進(jìn)行操作。但有些應用需要半自主或人類(lèi)控制的機器人。

一些最常用的控制系統是語(yǔ)音識別、觸覺(jué)或觸摸控制和運動(dòng)控制。

經(jīng)常實(shí)現的運動(dòng)控制機器人之一是手勢控制的機器人。在這個(gè)項目中,使用MPU6050開(kāi)發(fā)了一個(gè)手勢控制機器人,它是一個(gè)三軸加速器和三軸陀螺儀傳感器,控制器部分是 Nano。

沒(méi)有使用帶有按鈕或操縱桿的遙控器,而是使用手勢來(lái)控制機器人的運動(dòng)。

該項目基于無(wú)線(xiàn)通信,手勢的數據通過(guò)鏈接(發(fā)射器-接收器對)傳輸給機器人。

該項目分為發(fā)射器和接收器部分。發(fā)送器和接收器部分的電路圖和元件將分別解釋。

Hand Gesture Controlled Robot Image 1

Hand Gesture Controlled Robot Image 2

Hand Gesture Controlled Robot Image 3

手勢控制機器人的原理

為了理解手勢控制機器人的工作原理,讓我們把這個(gè)項目分為三個(gè)部分。

第一部分是通過(guò)Arduino從MPU6050加速器陀螺儀傳感器獲取數據。Arduino不斷從MPU6050獲取數據,并根據預定的參數,將數據發(fā)送到射頻發(fā)射器。

項目的第二部分是射頻發(fā)射器和射頻接收器之間的無(wú)線(xiàn)通信。射頻發(fā)射器在收到Arduino的數據后(通過(guò)編碼器IC),通過(guò)射頻通信將其傳送給射頻接收器。

最后,項目的第三部分是對射頻接收器收到的數據進(jìn)行解碼,并將適當的信號發(fā)送至IC,從而激活機器人的車(chē)輪電機。         

手勢控制機器人的方框圖

下面的圖片顯示了發(fā)射器和接收器部分的手勢控制機器人的簡(jiǎn)單框圖。

發(fā)射器方框圖

Hand Gesture Controlled Robot Image 4

接收器方框圖

Hand Gesture Controlled Robot Image 5

發(fā)射器部分的電路圖

下圖顯示了手勢控制機器人項目發(fā)射器部分的電路圖。

Hand Gesture Controlled Robot Image 11

發(fā)射器部分的元件

Arduino Nano

434MHz射頻發(fā)射器

HT-12E編碼器IC

MPU6050加速器/陀螺儀傳感器

750KΩ電阻

接收器部分的電路圖

Hand Gesture Controlled Robot Image 10

接收器部分的元件

L293DIC

HT-12D解碼器IC

434MHz射頻接收器

33KΩ電阻

330Ω電阻

LED

4個(gè)帶輪子的齒輪馬達

機器人底盤(pán)

部件描述

MPU6050

MPU6050是愛(ài)好者和發(fā)燒友最常使用的傳感器模塊之一。它由加速器和陀螺儀組成,并提供6個(gè)自由度(3軸加速器和3軸陀螺儀)。

Hand Gesture Controlled Robot Image 12

射頻發(fā)射器和接收器模塊

發(fā)射器和接收器之間的通信是使用射頻模塊。在這個(gè)項目中使用了一對434MHz的發(fā)射器和接收器。

HT-12E

它是一個(gè)編碼器集成電路,將4位并行數據轉換為串行數據,以便通過(guò)射頻鏈路進(jìn)行傳輸。

HT-12D

它是一個(gè)解碼器IC,將射頻接收器接收到的串行數據轉換成4位并行數據。這個(gè)并行數據可以用來(lái)驅動(dòng)電機。

RF Link with Encoder and Decoder

帶有編碼器和解碼器的射頻鏈接

手勢控制機器人的電路設計

發(fā)射器部分

機器人的發(fā)射器部分由Arduino Nano板、MPU6050傳感器、HT-12E編碼器IC和一個(gè)射頻發(fā)射器組成。Arduino和MPU6050傳感器之間的通信是通過(guò)I2C接口進(jìn)行的。因此,MPU6050傳感器的SCL和SDA引腳被連接到Arduino Nano的A5和A4引腳。

此外,我們將使用MPU6050的中斷引腳,因此,它被連接到Arduino Nano的D2。 

HT-12E是一個(gè)編碼器集成電路,通常與射頻發(fā)射器模塊有關(guān)。它將12位并行數據轉換為串行數據。12位數據被分為地址和數據位。A0到A7(針腳1到針腳8)是地址位,它們用于數據的安全傳輸。這些引腳可以保持開(kāi)放或連接到地(Vss)。在這個(gè)電路中,HT-12E的第1至第9針(A0 - A7和Vss)連接到地。

10-13腳(AD8、AD9、AD10和AD11)是HT-12E的數據引腳。它們接收來(lái)自外部的4個(gè)字的并行數據,如微控制器(本例中為Arduino Nano)。它們分別與Arduino Nano的D12、D11、D10、D9引腳相連。

TE'是傳輸使能引腳,它是一個(gè)低電平有效引腳。只要TE'為低電平,數據就會(huì )被傳輸。因此,第14針(TE')也被連接到地。

編碼器IC在16和15號引腳(OSC1和OSC2)之間有一個(gè)內部振蕩器電路。在這些引腳之間連接了一個(gè)750KΩ的電阻來(lái)啟用振蕩器。Dout(針腳17)是串行數據輸出針腳。它與射頻發(fā)射器的數據輸入引腳相連。

Arduino Nano和MPU6050都有3.3V穩壓器。因此,所有的VCC引腳都連接到一個(gè)穩定的5V電源。

Hand Gesture Controlled Robot Image 6

接收器部分

機器人的接收部分包括一個(gè)射頻接收器、HT-12D解碼器、L293D電機驅動(dòng)器和一個(gè)帶有四個(gè)輪子的電機的機器人底盤(pán)。

HT-12D是通常與射頻接收器相關(guān)的解碼器IC。它將射頻鏈路收到的串行數據轉換為并行數據。A0到A7(針腳1到針腳8)是地址針腳,必須與編碼器的地址針腳匹配。

由于編碼器(HT-12E)的地址引腳是接地的,所以解碼器的地址引腳也必須接地。因此,1-9號針腳(A0-A7和Vss)要接地。來(lái)自射頻接收器的串行數據被賦予解碼器IC的Din(針腳14)。

HT-12D有一個(gè)內部振蕩器,在OSC1和OSC2(16和15腳)之間連接一個(gè)33KΩ的外部電阻。17腳(VT)表示數據的有效傳輸,當數據引腳上出現有效數據時(shí),該腳將為高電平。一個(gè)與330Ω電阻串聯(lián)的LED被連接到這個(gè)引腳,以指示有效的數據傳輸。

HT-12D的10至13腳(D8、D9、D10和D11)是并行數據輸出腳。它們被連接到L293D電機驅動(dòng)IC的輸入引腳(分別為2、7、10和15腳)。

L293D電機驅動(dòng)芯片用于為電機提供必要的電流(用于正反方向)。引腳1和9是使能引腳,與引腳16(這是邏輯電源)一起連接到VCC(+5v)。引腳3-6和11-14是輸出,與四個(gè)電機相連。

第8針是電機電源針,連接到一個(gè)單獨的電源。因此,在接收器部分你需要兩個(gè)電池;一個(gè)用于電路,一個(gè)用于電機。

Hand Gesture Controlled Robot Image 7

手勢控制機器人的工作

在這個(gè)項目中,我們設計了一個(gè)由手勢控制的移動(dòng)機器人。這里解釋一下該機器人的工作。

如前所述,手勢控制機器人是一種無(wú)線(xiàn)操作的機器人,有兩個(gè)部分: 發(fā)射器和接收器。當機器人通電后,由Arduino、MPU6050、編碼器和射頻發(fā)射器組成的發(fā)射器部分將持續監測MPU6050傳感器。

這些數據被Arduino捕獲,然后根據MPU6050傳感器的方向,將相應的數據傳送給編碼器。編碼器收到的并行數據被轉換為串行數據,該串行數據由射頻發(fā)射器傳輸。

在接收部分,射頻接收器接收串行數據并將其傳送給解碼器IC。解碼器將串行數據轉換為并行數據,并將此并行數據提供給電機驅動(dòng)IC?;谶@些數據,電機的運動(dòng),以及機器人的運動(dòng)被定義。

應用

無(wú)線(xiàn)控制機器人在許多應用中非常有用,如遠程監控、軍事等。

手勢控制機器人可以被坐在輪椅上的殘疾人使用。

可以開(kāi)發(fā)手勢控制的工業(yè)級機器人手臂。

到目前為止,你已經(jīng)知道了手勢控制機器人,它完全根據你的手的時(shí)刻(對設備的輸入標志)來(lái)移動(dòng)。如果你正在尋找一個(gè)類(lèi)似的低預算設備,那么機器人吸塵器最適合你,因為它有更大的功能來(lái)清潔你的家。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>