自從 Daniel 加入後,給了 Pizg 和我許多好點子,其中一項就是 Spider 對戰,但是目前使用紅外線遙控器,最大的問題就是控制碼衝突,剛好最近在網路上看到另一支遙控器 CARMP3 有跟 Arduino 周邊搭售,從外觀來看,它主要應用於汽車 MP3 音響遙控,因此買來試看看。
// (C) 2015-2016, Bridan Wang, CC BY-NC-SA 3.0 TW
// Revised by Daniel Lu 2016/3/5
// ROSA_Spider 6 X 2 Servo Spider
// http://4rdp.blogspot.tw/search/label/ROSA%20(Arduino)
#define IR_KEYES // IR_MBOT // IR_AUDIO // IR_CARMP3 //
#ifdef IR_KEYES
const byte cIR_Code[] PROGMEM = {
// X, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, *, #, up, dn, rt, lf, ok
255, 22, 25, 13, 12, 24, 94, 8, 28, 90, 82, 66, 74, 70, 21, 67, 68, 64
};
const byte *cActions[] = {
RUN_N, // none,
RUN_1, // 1
RUN_2, // 2
RUN_3, // 3
RUN_4, // 4
RUN_5, // 5
RUN_6, // 6
RUN_7, // 7
RUN_8, // 8
RUN_9, // 9
RUN_0, // 0
RUN_S, // *
RUN_P, // #
RUN_U, // up
RUN_D, // down
RUN_R, // right
RUN_L, // left
RUN_K // ok
};
#endif
#ifdef IR_CARMP3
const byte cIR_Code[] PROGMEM = {
// X, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, F+, CH, C+, C-, >>, <<, >|, EQ, V-, V+, F-
255, 12, 24, 94, 8, 28, 90, 66, 82, 74, 22, 25, 70, 71, 69, 64, 68, 67, 9, 7, 21, 13,
};
const byte *cActions[] = {
RUN_N, // none
RUN_1, // 1
RUN_2, // 2
RUN_3, // 3
RUN_4, // 4
RUN_5, // 5
RUN_6, // 6
RUN_7, // 7
RUN_8, // 8
RUN_9, // 9
RUN_0, // 0
RUN_S, // FL+
RUN_P, // CH
RUN_U, // CH+ up
RUN_D, // CH- down
RUN_R, // >> right
RUN_L, // << left
RUN_K, // >| OK
RUN_8, // EQ
RUN_7, // V-
RUN_9, // V+
RUN_N, // FL-
};
#endif
#ifdef IR_AUDIO
const byte cIR_Code[] PROGMEM = {
// X, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, PW, RP, C+, C-, >>, <<, >|, EQ, V-, V+, MU
255, 16, 17, 18, 20, 21, 22, 24, 25, 26, 12, 0, 4, 6, 5, 14, 13, 2, 8, 9, 10, 1,
};
const byte *cActions[] = {
RUN_N, // none
RUN_1, // 1
RUN_2, // 2
RUN_3, // 3
RUN_4, // 4
RUN_5, // 5
RUN_6, // 6
RUN_7, // 7
RUN_8, // 8
RUN_9, // 9
RUN_0, // 0
RUN_S, // Power
RUN_P, // RP
RUN_U, // C+ up
RUN_D, // C- down
RUN_R, // >> right
RUN_L, // << left
RUN_K, // >| OK
RUN_8, // EQ
RUN_7, // V-
RUN_9, // V+
RUN_N, // MU
};
#endif
#ifdef IR_MBOT
const byte cIR_Code[] PROGMEM = {
// X, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, F, A, up, dn, rt, lf, *, B, C, D, E
255, 12, 24, 94, 8, 28, 90, 66, 82, 74, 22, 13, 69, 64, 25, 9, 7, 21, 70, 71, 68, 67,
};
const byte *cActions[] = {
RUN_N, // none,
RUN_1, // 1
RUN_2, // 2
RUN_3, // 3
RUN_4, // 4
RUN_5, // 5
RUN_6, // 6
RUN_7, // 7
RUN_8, // 8
RUN_9, // 9
RUN_0, // 0
RUN_S, // F
RUN_P, // A
RUN_U, // up
RUN_D, // down
RUN_R, // right
RUN_L, // left
RUN_K, // *
RUN_N, // B
RUN_N, // C
RUN_N, // D
RUN_N, // E
};
#endif
未來如果要蜘蛛對戰,以下是對四支紅外線遙控器按鍵安排的建議,盡量避免控制碼衝突:
|
|
CARMP3
|
| |||||
Action
|
key
|
code
|
key
|
code
|
key
|
code
|
key
|
code
|
前進
|
▲
|
70
|
⊙
|
0
|
EQ
|
9
|
▲
|
64
|
後退
|
▼
|
21
|
EQ
|
8
|
FL-
|
13
|
▼
|
25
|
停止
|
OK
|
64
|
RPT
|
4
|
FL+
|
25
|
*
|
21
|
偏左
|
<
|
68
|
CH-
|
5
|
CH-
|
69
|
<
|
7
|
偏右
|
>
|
67
|
CH+
|
6
|
CH+
|
71
|
>
|
9
|
攻擊
|
#
|
74
|
MENU
|
1
|
-
|
7
|
F
|
13
|
*
|
66
|
>||
|
2
|
+
|
21
|
A
|
69
| |
0
|
82
|
0
|
12
|
0
|
22
|
0
|
22
| |
1
|
22
|
1
|
16
|
1
|
12
|
1
|
12
| |
2
|
25
|
2
|
17
|
2
|
24
|
2
|
24
| |
3
|
13
|
3
|
18
|
3
|
94
|
3
|
94
| |
4
|
12
|
4
|
20
|
4
|
8
|
4
|
8
| |
5
|
24
|
5
|
21
|
5
|
28
|
5
|
28
| |
6
|
94
|
6
|
22
|
6
|
90
|
6
|
90
| |
7
|
8
|
7
|
24
|
7
|
66
|
7
|
66
| |
8
|
28
|
8
|
25
|
8
|
82
|
8
|
82
| |
9
|
90
|
9
|
26
|
9
|
74
|
9
|
74
| |
<<
|
13
|
<<
|
68
|
B
|
70
| |||
>>
|
14
|
>>
|
64
|
C
|
71
| |||
V-
|
9
|
>||
|
67
|
D
|
68
| |||
V+
|
10
|
CH
|
70
|
E
|
67
|
沒有留言:
張貼留言