2018年4月24日 星期二

ROSA 系統開發 56 ─ ROSA_Define.h

http://4rdp.blogspot.com/2018/04/rosa-56-rosadefineh.html

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


IMAG0426.jpg

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

沒有留言:

張貼留言