2017-04-14 205 views
0

我試圖使用Android應用做了路徑搜索算法的處理使用藍牙的機器人。但是目前,完成傳輸需要1或2秒,以便Arduino中有輸出。有沒有辦法將這種情況降至最低限度以使傳輸輸出即時?如何提高藍牙從android到arduino的數據傳輸速度?

這種延遲是造成問題,如檢測到障礙物時,立即停止。有沒有更好的方法來做到這一點? 在此先感謝!

回答

0

兩個簡單的解決方案,爲我工作: -

  1. 增加延遲到50 - 100毫秒。

  2. Serial.begin(9600)setup()後添加這一點;

    Serial.setTimeout(50); 
    

第二步是最重要的。它只有在我添加上面的代碼後才適用於我。當我遇到完全相同的問題時,我在很多其他論壇中都沒有經常提及這一點。

0

答案很簡單:你不能,藍牙是laggy這樣。如果你在arduino板上使用了路徑查找算法,你可以避免這個問題。你也可以嘗試在你的arduino代碼中添加延遲,因爲arduino可能會重複發送消息,而不考慮藍牙的延遲。

+0

從藍牙3.0到藍牙的速度是25Mbps。我不認爲這對微控制器是有影響的。 –

+0

滯後是關於延遲,而不是數據量。由於高延遲,藍牙總是有延遲。 –

+0

儘管一些藍牙,BLE,聲稱只有6毫秒的延遲。我確信大多數藍牙的延遲要高得多。 –

1

您沒有提及您使用的是哪種設備。我假設你將藍牙芯片集連接到UART端口(如在Arduino Uno中),在這種情況下,整個通信中最慢的部分是Arduino和藍牙芯片組之間的串行接口。檢查你正在使用的波特率,它可以進一步增加。我認爲默認值是9600,每秒只有960字節。設置設備和藍牙芯片支持的最大波特率。