目標

半径1m以内にある懐中電灯を探して、懐中電灯にピンポン玉を当てるロボットを製作。

ロボット本体

課題2とほぼ同じ。課題2ロボット

変更点はライントレーサーの向きを前向きにして、前方の明るさを認識できる様にした。

IMG_0607.JPG

プログラム

定義

旋回のみ。

#define turn_left OnFwd(OUT_C);OnRev(OUT_A)// 左旋回
#define turn_right OnFwd(OUT_A);OnRev(OUT_C)// 右旋回

プログラム

360度以上回転して明るさの最大値を探し、その方向を向く。そして、ボールをシュートする。

task main()

{
    SetSensor(SENSOR_3,SENSOR_LIGHT); 

	int lightsensor=0; // ライトセンサーの値を入力
	int d_max=0; // 最大値までの時間を入力

	ClearTimer(0); // タイマーをリセット
	turn_left; //旋回始め

	while (FastTimer(0) < 330) { // 設定した秒数旋回する

		if (SENSOR_3 > lightsensor){ // センサーの最大値を超えたら
			lightsensor=SENSOR_3; // 明るさの値を更新し
			d_max=FastTimer(0); // 時間も更新
			}
	}

	Off(OUT_AC);Wait(100);
	
        turn_right; // スタート位置に戻る
	Wait(330);
	Off(OUT_AC);
	
        turn_left;
	Wait(d_max); // スタート位置から最大値までの秒数分、旋回
	Off(OUT_AC);

	OnRev(OUT_B); Wait(90); // アームを開く
	Off(OUT_B);
	OnFwd(OUT_AC); Wait(50); // ボールをシュート
	OnRev(OUT_AC); Wait(50);
	Off(OUT_AC);
}

考察・感想

今回の課題は前回のロボットをほぼそのまま使えたので良かった。明るさの最大値を探すということはいいアイディアだと思った。


添付ファイル: fileIMG_0607.JPG 223件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-08-17 (月) 12:27:47