- 追加された行はこの色です。
- 削除された行はこの色です。
[[戻る>2005/A6/課題3]]
// センサー2つ モーター2つ用プログラム
// 12月2日
// コンド・AI・やまぐぐ
// コンド・AI・やまぐぐ
// 軽量化によってある程度スピードが出るようになってしまい、強度面の問題もあって少々苦労した。
#define line 47 // 明暗のおよその境界値
task main() // ライトセンサーを使ったプログラム
{
SetSensor(SENSOR_1, SENSOR_LIGHT); // 左側のライトセンサー
SetSensor(SENSOR_3, SENSOR_LIGHT); // 右側のライトセンサー
OnFwd(OUT_A + OUT_C); // 前進する
while(true)
{
if((SENSOR_1 < line) && (SENSOR_3 > line)) // 左センサーがライン上のとき
{
OnFwd(OUT_C); // 右タイヤが正転
Off(OUT_A); // 左タイヤが停止
until(SENSOR_1 > line); // 両センサーがライン外に出るまで
}
if((SENSOR_1 > line) && (SENSOR_3 < line)) // 右センサーがライン上のとき
{
OnFwd(OUT_A); // 左タイヤが正転
Off(OUT_C); // 右タイヤが停止
until(SENSOR_3 > line); // 両センサーがライン外に出るまで
}
else // 特に問題が無い場合
{
OnFwd(OUT_A + OUT_C); // 前進する
}
}
}
#comment
// センサー1つ モーター1つのプログラム
// 12月2日
// コンド・AI・やまぐぐ
// トップシークレットのギアの組み方をもとに、ギアの大きさを統一しました
#define line 47 // 明暗のおよその境界値
task main() // ライトセンサーを使ったプログラム
{
SetSensor(SENSOR_2, SENSOR_LIGHT); // 真ん中のライトセンサー
OnFwd(OUT_B); // 前進する
while(true)
{
if(SENSOR_2 < line) // 真ん中センサーがライン上のとき
{
OnFwd(OUT_B); // タイヤが正転
until(SENSOR_2 > line); // センサーがライン外に出るまで
}
else // その他の場合
{
OnRev(OUT_B); // 右に回る
until(SENSOR_2 < line); // ライン内に入るまで
}
}
}
#comment