基于A(yíng)VR和51單片機的機器魚(yú)語(yǔ)音控制系統設計與實(shí)現
AVR是魚(yú)體主控芯片,它的軟件主要包括主程序,串口初始化(波特率和串口模式需要同上一致,還設置接收中斷打開(kāi)狀態(tài)),產(chǎn)生使機器魚(yú)直游的PWM波,無(wú)論在什么狀態(tài),只要串口接收到命令就會(huì )產(chǎn)生中斷,就需要根據命令改變PWM波的占空比,從而改變機器魚(yú)的游動(dòng)方向,需要注意的是在改變PWM波占空比以后,只需要保持此占空比一段時(shí)間(該時(shí)間段內有可能有新的命令),在魚(yú)體改變方向以后就需要再次將占空比改為直游。AVR控制流程如圖7所示。本文引用地址:http://dyxdggzs.com/article/170958.htm
4 實(shí)驗結果
此語(yǔ)音控制系統在實(shí)驗中已經(jīng)得到實(shí)現。我們在51單片機中編輯了“zuo”、 “you”、 “qian”等命令:在AVR單片機的接受中斷編輯了相應命令的PWM波占空比;所有串口通訊參數設置為:波特率9600bps;串口模式為8個(gè)數據位,1個(gè)停止位,無(wú)校驗位;頻道設置為28;發(fā)射功率設為最大(FF)。使用了奧林巴斯ME52的麥克風(fēng)作為語(yǔ)音接收設備。
表1是魚(yú)在直游(前)的時(shí)候,三個(gè)舵機在十個(gè)離散周期各自的轉角。在轉向的時(shí)候,前兩個(gè)舵機偏轉,第三個(gè)舵機保持不變;在進(jìn)行“左”轉命令時(shí),舵機1和舵機2在直游基礎上加上負40°;“右”轉時(shí)加上正40°。由于舵機轉角與PWM波占空比是線(xiàn)性關(guān)系,在此基礎上,我們匹配了PWM波占空比與舵機轉角的數學(xué)關(guān)系式
jiaodu是定義的直游時(shí)各舵機的轉角數組,j是舵機號,i是周期,pianjiao是左轉右轉等附加給直游時(shí)的角度(正負40°);xiuzheng是實(shí)際中需要調試的補償角度。
實(shí)際操作中,當發(fā)出“左”、 “右”、 “前”等命令時(shí),機器魚(yú)會(huì )立即做出相應的動(dòng)作。
5 結束語(yǔ)
文中主要介紹了語(yǔ)音識別技術(shù)在機器魚(yú)上的應用以及魚(yú)體波的產(chǎn)生原理,實(shí)現了語(yǔ)音控制機器魚(yú)的游動(dòng)方向,相信隨著(zhù)機器魚(yú)的研究深入,可以在語(yǔ)音系統基礎上實(shí)現更多功能,使機器魚(yú)更加趨于智能化,最終可以為人類(lèi)探索海洋提供更多幫助和便利。
評論