2018a/Member/Bassd/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2018a/Member]]
[[2018a/Member]]
#define set_power_low SetPower(OUT_A,3);SetPower(OUT_B,1);SetPower(OUT_C,3);
#define BLACK 40
#define WHITE 50
#define go_f set_power_low; OnFwd(OUT_AC);
#define turn_left set_power_low; Off(OUT_A); OnFwd(OUT_C);
#define turn_right set_power_low; OnFwd(OUT_A); Off(OUT_C);
task main()
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
turn_right;
ClearTimer(0);
}
}
Off(OUT_AC);Wait(100); set_power_low; OnRev(OUT_C); Wait(20);
go_f; Wait(40);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=25) {
if (SENSOR_2 < BLACK){
turn_left;
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
ClearTimer(0);
}
}
Off(OUT_AC);Wait(100);go_f; Wait(30);set_power_low;
OnRev(OUT_A);Wait(50);OnFwd(OUT_C);Wait(50);go_f; Wait(40);
Off(OUT_AC);Wait(100);OnFwd(OUT_AC);Wait(30);
set_power_low; OnRev(OUT_B);Wait(100);Off(OUT_AC);Wait(500);
OnRev(OUT_A);Wait(50);OnFwd(OUT_C);Wait(50);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
ClearTimer(0);
}
}
set_power_low; OnRev(OUT_C); Wait(20);
go_f; Wait(20);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
ClearTimer(0);
}
}
Off(OUT_AC);Wait(100);go_f; Wait(30);set_power_low;
OnRev(OUT_A);Wait(55);OnFwd(OUT_C);Wait(55);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
ClearTimer(0);
}
}
Off(OUT_AC);Wait(100);go_f; Wait(30);set_power_low;
OnRev(OUT_A);Wait(55);OnFwd(OUT_C);Wait(55);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
OnRev(OUT_C);Wait(55);OnFwd(OUT_A);Wait(55);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
Off(OUT_AC);Wait(100); set_power_low; OnRev(OUT_C); Wait(20);
OnRev(OUT_C);Wait(50);OnFwd(OUT_A);Wait(50);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
Off(OUT_AC);Wait(100); set_power_low; OnRev(OUT_C); Wait(20);
OnRev(OUT_C);Wait(40);OnFwd(OUT_A);Wait(40); go_f; Wait(20);
repeat(2){
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
set_power_low; OnRev(OUT_C); Wait(20);
go_f; Wait(20);
}
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
Off(OUT_AC);Wait(100); set_power_low; OnRev(OUT_C); Wait(20);OnRev(OUT_C);Wait(55);OnFwd(OUT_A);Wait(55);
go_f; Wait(30);set_power_low; OnFwd(OUT_B);Wait(100);Off(OUT_AC);Wait(500);
set_power_low; OnRev(OUT_C); Wait(30);OnRev(OUT_A);Wait(30);
OnRev(OUT_C);Wait(100);OnFwd(OUT_A);Wait(100);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
Off(OUT_AC);Wait(100);set_power_low;
OnRev(OUT_A);Wait(45);OnFwd(OUT_C);Wait(45);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
set_power_low; OnRev(OUT_C); Wait(20);
go_f; Wait(70);
Off(OUT_AC);Wait(100000);
}
机上では書けても、実際はうまく行かないことが多かった。
すべてのライントレースを一つのプログラムで行った。
終了行:
[[2018a/Member]]
[[2018a/Member]]
#define set_power_low SetPower(OUT_A,3);SetPower(OUT_B,1);SetPower(OUT_C,3);
#define BLACK 40
#define WHITE 50
#define go_f set_power_low; OnFwd(OUT_AC);
#define turn_left set_power_low; Off(OUT_A); OnFwd(OUT_C);
#define turn_right set_power_low; OnFwd(OUT_A); Off(OUT_C);
task main()
{
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
turn_right;
ClearTimer(0);
}
}
Off(OUT_AC);Wait(100); set_power_low; OnRev(OUT_C); Wait(20);
go_f; Wait(40);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=25) {
if (SENSOR_2 < BLACK){
turn_left;
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
ClearTimer(0);
}
}
Off(OUT_AC);Wait(100);go_f; Wait(30);set_power_low;
OnRev(OUT_A);Wait(50);OnFwd(OUT_C);Wait(50);go_f; Wait(40);
Off(OUT_AC);Wait(100);OnFwd(OUT_AC);Wait(30);
set_power_low; OnRev(OUT_B);Wait(100);Off(OUT_AC);Wait(500);
OnRev(OUT_A);Wait(50);OnFwd(OUT_C);Wait(50);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
ClearTimer(0);
}
}
set_power_low; OnRev(OUT_C); Wait(20);
go_f; Wait(20);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
ClearTimer(0);
}
}
Off(OUT_AC);Wait(100);go_f; Wait(30);set_power_low;
OnRev(OUT_A);Wait(55);OnFwd(OUT_C);Wait(55);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
ClearTimer(0);
}
}
Off(OUT_AC);Wait(100);go_f; Wait(30);set_power_low;
OnRev(OUT_A);Wait(55);OnFwd(OUT_C);Wait(55);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
OnRev(OUT_C);Wait(55);OnFwd(OUT_A);Wait(55);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
Off(OUT_AC);Wait(100); set_power_low; OnRev(OUT_C); Wait(20);
OnRev(OUT_C);Wait(50);OnFwd(OUT_A);Wait(50);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
Off(OUT_AC);Wait(100); set_power_low; OnRev(OUT_C); Wait(20);
OnRev(OUT_C);Wait(40);OnFwd(OUT_A);Wait(40); go_f; Wait(20);
repeat(2){
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
set_power_low; OnRev(OUT_C); Wait(20);
go_f; Wait(20);
}
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
Off(OUT_AC);Wait(100); set_power_low; OnRev(OUT_C); Wait(20);OnRev(OUT_C);Wait(55);OnFwd(OUT_A);Wait(55);
go_f; Wait(30);set_power_low; OnFwd(OUT_B);Wait(100);Off(OUT_AC);Wait(500);
set_power_low; OnRev(OUT_C); Wait(30);OnRev(OUT_A);Wait(30);
OnRev(OUT_C);Wait(100);OnFwd(OUT_A);Wait(100);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
Off(OUT_AC);Wait(100);set_power_low;
OnRev(OUT_A);Wait(45);OnFwd(OUT_C);Wait(45);
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=20) {
if (SENSOR_2 < BLACK){
turn_left;
ClearTimer(0);
} else if (SENSOR_2 < WHITE){
go_f;
ClearTimer(0);
} else {
OnRev(OUT_C);OnFwd(OUT_A);
}
}
set_power_low; OnRev(OUT_C); Wait(20);
go_f; Wait(70);
Off(OUT_AC);Wait(100000);
}
机上では書けても、実際はうまく行かないことが多かった。
すべてのライントレースを一つのプログラムで行った。
ページ名: