2007a/MemberOnly/進行状況A



Counter: 1412, today: 1, yesterday: 0


今回の課題

懐中電灯に向かってブロックを投げるロボットを作成

モータ、光センサ、タッチセンサはそれぞれ2個まで使用可。懐中電灯の代わりに携帯のライトなどを利用してもよい。

創り主

アンゼリカ 

ロボットキット

制作 過程

次は完成したロボットの上、正面、左側、右側で撮影した写真です。

S3700187.JPG
S3700189.JPG
S3700188.JPG
S3700190.JPG

最初の考え方とその順番

モータ1(足)

S3700196.JPG
S3700197.JPG

タッチセンサ

S3700187-TOUCH.JPG

光センサ

S3700195.JPG

モータ2(アーム)

S3700198_cut.JPG
S3700199_cut.JPG

プログラム

その1;懐中電灯が動かない時ブロックを投げる

#define THRESHOLD 70       //投げる時の値
task main()
{
  SetSensor(SENSOR_1,SENSOR_LIGHT);    //センサ−1を光センサーに定義
  SetSensor(SENSOR_3,SENSOR_LIGHT);    //センサ−3を光センサーに定義
  while((SENSOR_1 < THRESHOLD) || (SENSOR_3 < THRESHOLD)) {  //センサー1or3で受ける光が値より小さい時
      OnFwd(OUT_C);         //回転
      Off(OUT_A);
}
      Off(OUT_C); 
      OnFwd(OUT_A); Wait(50);    //強い時ブロックを投げる
      OnRev(OUT_A); Wait(50);
      Off(OUT_A);
}

その2;懐中電灯をゆっくり動かす時光に向かって進む

#define THRESHOLD 70       //値    
task main()
{
  SetSensor(SENSOR_1,SENSOR_LIGHT);    //センサ−1を光センサーに定義
  SetSensor(SENSOR_3,SENSOR_LIGHT);    //センサ−3を光センサーに定義
  while(true) {
      if ((SENSOR_1 > THRESHOLD) && (SENSOR_3 > THRESHOLD)) {  //センサー1と3が受ける光が値より大きければ進む
      OnRev(OUT_C); Wait(20);
      OnFwd(OUT_C); Wait(20);
      }
      if ((SENSOR_1 > THRESHOLD) && (SENSOR_3 < THRESHOLD)) {  //センサ−3が受ける光が小さかったら左周り
      OnRev(OUT_C);Off(OUT_A); 
      }
      if ((SENSOR_1 < THRESHOLD) && (SENSOR_3 > THRESHOLD)) {  //センサ−1が受ける光が小さかったら右周り
      OnFwd(OUT_C);Off(OUT_A);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
      }
      if ((SENSOR_1 < THRESHOLD) && (SENSOR_3 < THRESHOLD)) {  //光を見つけられなかったら回転
      OnFwd(OUT_C);Off(OUT_A); 
      }
      }
Off(OUT_A+OUT_C);
}

その3;懐中電灯をゆっくり動かす時光に向かって進み、光の動きを止めればブロックを投げる

#define THRESHOLD 70       //値
#define RUN_TIME 25        //時間定義
task main()
{
 SetSensor(SENSOR_1,SENSOR_LIGHT);    //センサ−1を光センサーに定義
 SetSensor(SENSOR_3,SENSOR_LIGHT);    //センサ−3を光センサーに定義
 SetPower(OUT_A+OUT_C,7);        //AとCのモーターの出力を7
 ClearTimer(0);              
  while((SENSOR_1 < THRESHOLD) || (SENSOR_3 < THRESHOLD) || (Timer(0) <= RUN_TIME)) {//光が閾値より弱くタイマーが2,5秒以下ならば実行
      if ((SENSOR_1 > THRESHOLD) && (SENSOR_3 > THRESHOLD)) {  //センサー1と3が受ける光が値より大きかったら前
      OnRev(OUT_C); Wait(20);
      OnFwd(OUT_C); Wait(20);
      }
      if ((SENSOR_1 > THRESHOLD) && (SENSOR_3 < THRESHOLD)) {  //センサ−3が受ける光が小さかったら左
      ClearTimer(0);OnRev(OUT_C);Off(OUT_A); 
      }
      if ((SENSOR_1 < THRESHOLD) && (SENSOR_3 > THRESHOLD)) {  //センサ−1が受ける光が小さかったら右
      ClearTimer(0); OnFwd(OUT_C);Off(OUT_A);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
      }
      if ((SENSOR_1 < THRESHOLD) && (SENSOR_3 < THRESHOLD)) {  //光がなければ回転
      ClearTimer(0);OnFwd(OUT_C);Off(OUT_A); 
      }
      }
Off(OUT_C);OnRev(OUT_A); Wait(50);      //投げる 
OnFwd(OUT_A); Wait(50); Off(OUT_A);
}

制作の後

ロボットキットの工夫点および苦労

S3700192_paint.JPG
S3700193_paint.JPG

感想および発展したい所

コメントお願いします!



添付ファイル: fileS3700199_cut.JPG 295件 [詳細] fileS3700198_cut.JPG 297件 [詳細] fileS3700193_paint.JPG 287件 [詳細] fileS3700192_paint.JPG 289件 [詳細] fileS3700191_cut.JPG 148件 [詳細] fileS3700187-TOUCH.JPG 290件 [詳細] fileS3700199.JPG 146件 [詳細] fileS3700198.JPG 148件 [詳細] fileS3700197.JPG 320件 [詳細] fileS3700196.JPG 293件 [詳細] fileS3700195.JPG 304件 [詳細] fileS3700193.JPG 205件 [詳細] fileS3700192.JPG 166件 [詳細] fileS3700191.JPG 142件 [詳細] fileS3700190.JPG 278件 [詳細] fileS3700189.JPG 267件 [詳細] fileS3700188.JPG 258件 [詳細] fileS3700187.JPG 269件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-07-10 (火) 23:59:06