#include "vs-wrc003.h"
void startInit(char* str); // プロトタイプ宣言
void main(void)
{
UINT left, right;
const int true = 1;
const int RightThreshold = 300;
const int LeftThreshold = 300;
const int SPEED = 70;
const int SLOW = 30;
const int LEFT = 1;
const int RIGHT = 2;
startInit("Line Trace test\n");
while(true){
left = AdRead(LEFT);
right = AdRead(RIGHT);
while(right<RightThreshold) { //左に寄って黒を検出したら
LED(1);
Mtr_Run(SLOW,SPEED,0,0); // 右のモーターを遅くする
Wait(50);
left = AdRead(LEFT);
right = AdRead(RIGHT);
}
while(left<LeftThreshold) { // 右に寄って黒を検出したら
LED(2);
Mtr_Run(SPEED,SLOW,0,0); // 左のモーターを遅くする
Wait(50);
left = AdRead(LEFT);
right = AdRead(RIGHT);
}
Mtr_Run(SPEED,SPEED,0,0); // スピードを元に戻す
LED(0);
Wait(50);
}
}
void startInit(char* str)
{
const BYTE MainCycle = 60;
Init((BYTE)MainCycle); //CPUの初期設定
InitSci3(CBR_9600,non,1); // シリアル転送設定(printf)
Mtr_Run(0, 0, 0, 0); // これをやらないと色々と動かない。モーター停止
LED(3); // 緑橙のLED点灯
while(!getSW()); // スイッチが押されるまで待つ
LED(0); // LED消灯
printf(str);
}
|
1 このロボット用ヘッダ
2
3
4
5
6
7 unsighed intと同じ
8 定数の設定
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|