手勢控制機械臂項目概述:
本系統(tǒng)是采用CC3220s與LPC54608制作的手勢控制的機械臂系統(tǒng)??梢酝瓿赏ㄟ^簡單的手勢對機械臂的控制。手勢識別指令采用的是MPU6050以及CC3220S自帶的BMA222加速度計組合采集的。CC3220S作為手勢端,將采集到的角度值進行分析、濾波、修正之后通過藍牙發(fā)送給LPC54608,其中LPC54608作為控制端,與舵機相連,接收手勢命令,通過濾波、限幅與消抖之后控制舵機,進而完成機械臂的運動。通信采用藍牙進行,CC3220S將需要傳輸?shù)臄?shù)據(jù)進行處理封裝、打包,通過串口進行發(fā)送,LPC54608將接收到的數(shù)據(jù)進行解析,防止出錯。近實物驗證,功能能夠?qū)崿F(xiàn)。
作品實物圖:
1. 整體系統(tǒng)圖
在這些行圖中,包含了整個系統(tǒng)的組成圖片(4自由度機械臂,LPC54608,CC3220S,MPU6050,藍牙模塊等)
2. CC3220S
CC3220S采集MPU6050與BMA222的數(shù)據(jù),進行轉(zhuǎn)換,封裝。然后通過藍牙模塊發(fā)送出去,其中用到的模塊都有標注,LED燈組用來顯示連接狀態(tài),綠燈與黃燈表明IIC通信是都正常,在正常情況之下常亮,當IIC攔截不正常時會熄滅。紅色的LED用來標志狀態(tài)(LED說明:此LED有三種閃爍狀態(tài),機械臂動作時閃爍周期是1秒,機械手動作時閃爍周期是2秒,空閑階段閃爍周期是3秒),開關(guān)用來進行不同功能的控制轉(zhuǎn)換(開關(guān)用途:本來機械臂的機械手是想通過彎曲度傳感器來進行識別的,彎曲傳感器實際上是一種可變電阻,不同的彎曲度的電阻值不一樣,通過采集AD值既可以進行彎曲度的識別了,但是目前在實習,彎曲傳感器放在了學校忘帶,所以在這里我就采用了mpu6050來才做,然后用圖中所示的開關(guān)進行模式切換,區(qū)別是控制機械臂還是控制機械手)。
3. LPC54608
LPC54608接受來自CC3220S的數(shù)據(jù),結(jié)果解析出具體角度數(shù)據(jù),然后通過各種數(shù)據(jù)處理將數(shù)值轉(zhuǎn)換成舵機控制數(shù)據(jù),控制舵機的轉(zhuǎn)動。同時液晶屏會實時顯示接收到的數(shù)據(jù),方便調(diào)試工作。
4. 機械臂
機械臂采用了4自由度的小型機械臂,控制舵機的型號是MG90S(控制力度太小,靈敏度太低,別問我為什么選擇這個機械臂,因為no money,想著下學期就要畢業(yè)了,提前到公司實習一下,結(jié)果這一實習,直接就要吃土了,省吃儉用,靠著螞蟻花唄才買了一個這個機械臂,沒辦法呀,自己挖的坑,怎么也得跳進去呀,只能將就著用這個機械臂了。這里還要吐槽一下,組裝機械臂花了半天也就算了,調(diào)試的時候花了n天,都不好意思說了,力度還小的不行,靈敏度也特差,小范圍的值變動根本就不動作)
5. 調(diào)試過程圖
放上一些在軟件調(diào)試過程中的一些圖片
演示視頻:
1. 手勢控制端CC3220S組成及介紹
說明:本來這個系統(tǒng)是應該直接待在手上的,但是由于體積有點大,帶上之后不好操作,而且我也沒有手套。所以我就直接拿著拿著演示了。
2. 機械臂控制端LPC54608組成及介紹
說明:這是LPC54608的控制演示,圖中可以看到屏幕顯示接收到的數(shù)據(jù),只有成功接收后才會顯示數(shù)據(jù),數(shù)據(jù)不正確的話是不會讀取的,會直接跑跑去不解析。
3. 系統(tǒng)工作演示
說明:這是系統(tǒng)工作時的演示視頻。從視頻中可以看出機械臂運動的不是很流暢,其實硬件原因占很大一部分,前面已經(jīng)說過了,買的這個機械臂我也很后悔,但是沒辦法,這能將就著調(diào)試。這個械臂的最大的缺點就是靈敏度太差,所以會出現(xiàn)運動不流暢的現(xiàn)象,其次就是力度太小,稍微受電力就會出現(xiàn)不能運動的現(xiàn)象。當然,說了這么多,具體的原因還是在我自己。
3. 系統(tǒng)工作演示
說明:這個視頻看看就行
附件資料截圖: