2017年10月12日 星期四

Decoding 6 servo channel inputs with an Arduino UNO

最近學生在玩 RC 遙控,本來這是用在四軸飛行器的接收器,拿下來當遙控車使用。

原本以為 Arduino 的 SDK 都寫得不錯,所有的功能都能輕易完成。
PS. 事實上也是這樣。很快就完成了。
可是,我們實際上線使用時,發現控制動作會有嚴重的延遲。經過反覆的分析測試,發現 Arduino 的 pulsein 函數在其內部會有 delay 的動作,造成了當我們的 signal input 有多腳時,就會造成控制動作的延遲。套一句敏哥上課說的話,這不符合 real time 的要求。所以,我們去找了幾個方法。最後,找到這個作者使用中斷計時法來解決 6 channel 的輸入計時。

http://ceptimus.co.uk/?p=66

特地記錄下來,讓開發 RC 控制的同好,可以更容易進行開發。

3 則留言: