const byte RUN_4[] PROGMEM = {
// 0, 1, 2, 3, 4, 5, 6,
_TEMPO, 23, idl, idl, idl, idl, idl, // 23 x 10 ms
_FAST2, LMD, LSD, RMD, RD3, idl, idl, //
_FAST2, LMD, LSD, RMD, RSD, idl, idl, //
_JUMP, 1,
};
const byte RUN_5[] PROGMEM = { // 快腳 15"
// 0, 1, 2, 3, 4, 5, 6,
_GOTO, 18, idl, idl, idl, idl, idl,
_STOP,
};
const byte RUN_6[] PROGMEM = {
// 0, 1, 2, 3, 4, 5, 6,
_GOSUB, 3, idl, idl, idl, idl, idl, // 無限重複 極樂淨土
_LOOP, 58, idl, idl, idl, idl, idl,
_DANCE, LMD, LSD, RMD, RSD, idl, idl,
_DANCE, LMD, LSD, RMD, RSD, idl, idl,
_NEXT, 2, idl, idl, idl, idl, idl,
_JUMP, 0,
};
const byte RUN_8[] PROGMEM = { // OTTO speed normal
// 0, 1, 2, 3, 4, 5, 6,
_SPEED, 1, 1, 1, 1, 1, 1, //0
_RETURN, //1
};
_TEMPO, 23, idl, idl, idl, idl, idl, 一拍節奏 230 ms
_FAST2, k = 1/2
_DANCE, k = 1
_SLOW2, k = 2
_SLOW3, k = 3
_SLOW4, k = 4
_SLOW8, k = 8
使用 _FAST4, _FAST2, _DANCE, _SLOW2, _SLOW3, _SLOW4, _SLOW8 程序每行動作所花費的時間 Tempo time = _TEMPO 設定值 * 10 ms * k,因此使用 _DANCE 等指令可以很精準在固定時間 (Tempo time)內轉動到特定的角度。而 _SERVO 指令只控制馬達角度,沒有控制時間,時間是由 _SPEED 控制,-1 慢速,1 常速,2 快速。
_JUMP, 1, 跳到第 1 行程序
_STOP, 程序停止
_GOSUB, 3, 跳到第 3 號動作程序,程序結束後跳回來繼續執行
_RETURN, 執行完畢後,跳回原來呼叫的程序
沒有留言:
張貼留言