2016年1月9日 星期六

ROSA 系統開發 20 ─ 另一個 Arduino 紅外線遙控器

https://4rdp.blogspot.com/2016/01/rosa-20-arduino.html

最近在整理 P&B Spider 材料清單,紅外線遙控器是現階段機器蜘蛛重要的控制器,不過玩家不一定可以買到 KEYES 廠牌的遙控器,也可能會買到 Arduino 音響控制型態的紅外線控制器,那也沒關係,反正發揮 Maker 精神,把程式改一改可以用最重要。



















// (C) 2015-2016, Bridan Wang, CC BY-NC-SA 3.0 TW
// http://4rdp.blogspot.tw/search/label/ROSA%20(Arduino)


const byte IR_CODE[][22] PROGMEM = {
// X,  1,  2,  3,  4,  5,  6,  7,  8,  9,  0, <<, >>, EQ, V-, V+, RP, C-, C+, PW, MU, >|
  255, 16, 17, 18, 20, 21, 22, 24, 25, 26, 12, 13, 14,  8,  9, 10,  4,  5,  6,  0,  1,  2,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
};

void (*FUNC_JUMP[])(void) = {
  FUNC_N,  // none
  FUNC_1,  // 1
  FUNC_2,  // 2
  FUNC_3,  // 3
  FUNC_4,  // 4
  FUNC_5,  // 5
  FUNC_6,  // 6
  FUNC_N,  // 7
  FUNC_N,  // 8
  FUNC_N,  // 9   
  FUNC_0,  // 0
  FUNC_L,  // <<     left 
  FUNC_R,  // >>     right
  FUNC_8,  // EQ
  FUNC_7,  // V-
  FUNC_9,  // V+
  FUNC_P,  // RP
  FUNC_D,  // C-     down
  FUNC_U,  // C+     up
  FUNC_S,  // Power
  FUNC_N,  // MU
  FUNC_K,  // >|     OK
};

void IR_CHECK() {   // for Audio IR
  byte i;
  byte j;
  j = ir.key();
  // Serial.print("IR - ");
  // Serial.println(j);
  for (i = 21; i != 0; i--) {
    if (j == pgm_read_byte(&IR_CODE[0][i])) {
      if (pgm_read_byte(&IR_CODE[1][i])==0 || pre_ir!=j) {
        pre_ir = ir_code;
        ir_code = i;
        step_no = 0;
        (*FUNC_JUMP[i])();
break;
      }
    }
  }
  ir.loop();
}

這支遙控器比 KEYES 遙控器多四個按鍵,可以再追加四個動作,ROSA 系統程式主要修改對應的 IR_CODE 及 FUNC_JUMP。


KEYES IR
Audio IR
ACTION
KEY
CODE
KEY
CODE
Initial
0
82
0
12
Sweep
1
22
1
16
Hello
2
25
2
17
Dance-1
3
13
3
18
Dance-2
4
12
4
20
for meArm clip 
5
24
5
21
for meArm base right + clip open
6
94
6
22
Speed slow
7
8
VOL-
9
Speed normal
8
28
EQ
8
Speed fast
9
90
VOL+
10
Sit
*
66
POWER
0
Stand
#
74
RPT
4
Forward-1
UP
70
CH+
6
Backward
DOWN
21
CH-
5
Forward-2
OK
64
>||
2
Right
RIGHT
67
>>|
14
Left
LEFT
68
|<<
13



7
24



8
25



9
26



MENU
1

Maker 的精神就是遇山開路,遇水架橋,充分運用身邊可用材料,雖然現在機器蜘蛛從外觀來看,不及正式商品外觀的精美,但是該有的功能絕不比他人遜色,另外這機器蜘蛛是以木板為主體,所以想塗色彩繪是 OK 的。

沒有留言:

張貼留言