ROSA 的原始程式碼中,預留許多程式選項,玩家可因應需求調整參數,適合進階玩家修改。
因為 ROSA 是以 C/C++ 程式語言設計,所以看到 #define 關鍵字就有可調參數,開啟 ROSA_Define.h 可以看到:
//1. 選擇那一類 Arduino 板
#define Nano // UNO // motoduino // Mega // mBot //
ROSA 實際試過這些 Arduino 板都可以控制,目前 OTTO like 選用 Nano,比較經濟小巧,
淺綠色文字為備註,必要時可以選用。
//2. 選擇甲蟲
//#define BEETLE6x2
//2. 選擇蜘蛛幾隻腳,那一種組裝法?
//#define SPIDER6x2_UP // SPIDER4x2_DOWN // SPIDER4x2_UP // SPIDER6x2_DOWN //
//2. 選擇 OTTO like 幾隻腳,那一種組裝法?
#define OTTOx4 // OTTOx6 //
ROSA 可以搭配許多不同仿生機器人,現在用於 OTTO like。
//3. 選擇 BT 高低速通訊
#define BT_57600 // BT_9600 // SoftwareSerial 不支援 BT_115200 //
若有加裝藍牙模組 (Bluetooth),例如 HC-05 或 HC-06,ROSA 可以選擇通訊速度。
//4. 選擇那一類紅外線遙控
#define IR_KEYES // IR_AUDIO // IR_CARMP3 // // IR_MBOT
| ||||||||
KEYES
|
AUDIO
|
CARMP3
|
mBot
| |||||
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
|
因為同款紅外線遙控器碼相同,會互相干擾,如果想 OTTO like 對戰,必須挑選不同款遙控器搭配,KEYES 這隻可以跟 AUDIO 和 CARMP3 對戰,若用 mBot 這隻只適合與 AUDIO 對戰。
//5. 紅外線遙控可否處理 #13## 之類指令
#define ENABLE_IR_COMMAND
預設遙控器可以數字程序碼操控,請參考 USB 和 BT 文字指令操控章節。
//6. 選擇 debug 訊息傳送至何處
enum{USB = 1, BT, IR};
#define DEBUG_INTERFACE USB // BT //
開發 ROSA 過程為了程式偵錯,須藉由序列埠監控視窗觀察狀態,預設訊息傳送到 USB。
沒有使用的訊息,在該行程式起頭加 // 。
//#define DEBUG_PS2 // 檢查PS2
//#define DEBUG_IR // 檢查紅外線遙控器原始碼
//#define DEBUG_IRKEY // 檢查紅外線遙控執行程序碼(內碼)
//#define DEBUG_IRWORD // 檢查紅外線文字碼
#define DEBUG_ACTION // 檢查動作執行程序
//#define DEBUG_STACK // 檢查 STACK
//#define DEBUG_PIPE // 檢查 PIPE
//#define DEBUG_SERVO // 檢查 SERVO 狀態
#define DEBUG_US // 檢查超音波狀態
//#define DEBUG_SPEED // 檢查速度狀態
//#define DEBUG_MUSIC
#define DEBUG_COMMAND // 檢查指令狀態
//#define DEBUG_NOW // 檢查系統時間
//#define DEBUG_FLOW // 檢查程式流程
//#define DEBUG_ID // 檢查 actionId
沒有留言:
張貼留言