2018年2月6日 星期二

[Telemba] 遠端親臨機器人中橋接平板和掃地機器人的程式設計


打開firmware/application可以瞭解橋接平板和掃地機器人的程式設計,我們找到main.c程式,如上圖,可以看到LED燈初始化(led_init)、按鈕初始化(button_init)、掃地機器人初始化(roomba_init)、還有平板初始化(android_init),所有初始化工作結束後,就進入無窮迴圈for (;;),在這個迴圈中只做一件事android_update。
android_update()函式就在android.c程式中,一開始若dev_handle為0,表示跟平板間的連線有題題,此時會暫停掃地機器人的運作roomba_set_drive (0, 0),熄燈led_set(1, 0),接下來判斷和平板間的通訊是否完成AndroidAppIsReadComplete,若通訊結束,先判斷是否成功,若不成功則閃燦燈號led_set(1, !led_get(1));,接下來讀取資料AndroidAppRead。
接下來依照接收資料的第一個位元組來決定掃地機器人的動作,您可以參閱前一篇文章的說明遠端親臨機器人Android App程式設計,其他命令如下:

要查看如何與掃地機器人溝通可以打開roomba.c,以下是控制馬達部份,可以清楚地看到是採用UART的通訊來和掃地機器人溝通,前後把計時器關閉或啟用。

沒有留言:

張貼留言