基于arm2210開發(fā)板的移動機器人人機界面設(shè)計
圖標菜單選擇
界面中還需實現(xiàn)對圖標菜單的選擇操作。i2c器件zlg7290提供了i2c接口功能和鍵盤中斷信號。i2c總線是philips推出的芯片間串行傳輸總線,它以2根連線實現(xiàn)了完善的全雙工同步數(shù)據(jù)傳送,可以方便的構(gòu)成多機系統(tǒng)和外圍器件擴展系統(tǒng)。i2c總線采用了器件地址的硬件設(shè)置方法,通過軟件尋址完全避免了器件的片選線尋址方法,從而使硬件系統(tǒng)具有最簡單而靈活的擴展方法。i2c操作模式分為主模式i2c和從模式i2c,分別對應(yīng)lpc2210作為主機和從機。
本文采用主模式i2c發(fā)送接收數(shù)據(jù),從而控制三個按鍵s11、s12、s13的掃描并檢測其連擊次數(shù)。程序中先設(shè)置好默認菜單,再調(diào)用函數(shù)zlg7290_getkey()讀取被按下的鍵值。zlg7290_getkey()函數(shù)通過調(diào)用ircvstr (zlg7290,1,rece,1),直接讀取器件zlg7290上的按鍵值。若s11被按下,表示指向上一個圖標菜單;若s12被按下,表示選擇當前的圖標功能;若s13被按下,表示指向下一個圖標菜單。
key = zlg7290_getkey();
if(key==key_ok) break; // 點擊ok 鍵選擇
if(key==key_next)
{ mainmenu[select].state = 0; // 取消上一選擇
gui_menuicodraw(mainmenu [select]);
select++; // 指向下一菜單
if(select>2) select=0;
mainmenu[select].state = 1;
gui_menuicodraw(mainmenu [select]);
}
if(key==key_back)
{ mainmenu[select].state = 0; // 取消上一選擇
gui_menuicodraw(mainmenu [select]);
if(select==0) select=2;
else select--; // 指向下一菜單
mainmenu[select].state = 1;
gui_menuicodraw(mainmenu [select]);
移動機器人行使軌跡及相關(guān)參數(shù)顯示
為了能實時更新顯示數(shù)據(jù)及行使軌跡,pc104將移動機器人的速度,行駛方向,轉(zhuǎn)角等信息轉(zhuǎn)化為液晶屏上的坐標信息,并調(diào)用基本繪圖函數(shù)gui_line(uint32 x0, uint32 y0, uint32 x1, uint32 y1, tcolor color),畫出當前行駛軌跡;同時,將新的速度值及與前方障礙物的距離值更新到相應(yīng)位置。
人機界面顯示效果
圖3為人機界面實現(xiàn)效果圖,整個顯示窗口大小為240*128;圖標菜單大小為16*16,共有六個圖標;用戶可以根據(jù)自己需要添加圖標及對應(yīng)功能。移動機器人行駛軌跡顯示窗口大小為160*100;其他運動參數(shù)顯示窗口大小為80*100,可以顯示當前的速度、障礙物的距離和機器人旋轉(zhuǎn)角度。圖中小車位置表示軌跡的起點,左下角有坐標顯示和比例尺1:500。
圖3 人機界面實現(xiàn)效果圖
結(jié)語
隨著嵌入式系統(tǒng)應(yīng)用的飛速發(fā)展,人機交互系統(tǒng)的開發(fā)將更加廣泛。本文闡述的基于arm2210嵌入式系統(tǒng)的移動機器人人機界面的設(shè)計方法,這種方法設(shè)計簡單,成本低,使操作者與機器人的交互更加友好。
參考文獻:
[1].t6963cdatasheethttp://www.dzsc.com/datasheet/t6963c_635050.html.
[2].zlg7290datasheethttp://www.dzsc.com/datasheet/zlg7290_734333.html.
[3].lpc2210datasheethttp://www.dzsc.com/datasheet/lpc2210_454566.html.
[4].tms320f2812datasheethttp://www.dzsc.com/datasheet/tms320f2812_1116432.html.
[5].arm7tdmi-sdatasheethttp://www.dzsc.com/datasheet/arm7tdmi-s_1231795.html.
[6].rs232datasheethttp://www.dzsc.com/datasheet/rs232_585128.html.
[7].s11datasheethttp://www.dzsc.com/datasheet/s11_1617658.html.
[8].s12datasheethttp://www.dzsc.com/datasheet/s12_1619040.html.
評論