[[2006a/B2]]
#contents
*ロボットの構造☆ [#w027d20f]
**製作過程 [#d8f58e4d]
 ・今回は、タッチセンサーはシングルバンパーで、光センサーは二つ使うというアイデアはすんなりまとまった。
 ・しかし、これらふたつのセンサーをどのようにつけるかで時間を食ってしまう・・・(泣)
 ・結局ロボット製作に二時間ほどかかってしまった。
**出来上がったロボット[#d52be7a1]
&ref(kadai2.1.jpg);  
&ref(kadai2.3.jpg);  

 ↑↑バンパーのついている方が前です。
**タッチセンサーの装着 [#i64439f4]
&ref(kadai2.9.jpg); ←斜めから見た様子

&ref(kadai2.8.jpg); ←真横から見た様子

 何かにぶつかったら、センサーのスイッチが入りタッチセンサーが作動する仕組みになってます。

**光センサーの装着 [#ad9f5061]
&ref(kadai2.6.jpg);  ←右側の光センサー

&ref(kadai2.7.jpg);  ←左側の光センサー

&ref(kadai2.5.jpg);  ←車体の裏から見た光センサー

 二つの光センサーで、黒い線を挟み込むようにして黒い線の上を走行します。
 

*試作プログラム達♪♪[#f6858232]
**障害物にぶつかったら反転するプログラム [#xe917385]
 シングルバンパーでの反転するプログラムです。
 
 製作日//:06-6-14
 製作者//:Blue
 task main()
 
 SetSensor(SENSOR_2,SENSOR_TOUCH); //センサー2がタッチセンサーと宣言
 while(true)             
 {
 OnFwd(OUT_A+OUT_C);        
 until(SENSOR_2==1);        //タッチセンサーが押されるまで直進
 OnRev(OUT_A+OUT_C);         //タッチセンサーが押された後、後退 
 Wait(20);
 OnRev(OUT_A);           //モーターAを逆回転
 Wait(200);
 OnFwd(OUT_C);           //モーターCを正回転
 Wait(190);
 OnFwd(OUT_A+OUT_C);        //反転して直進
 }
 } 

 床の摩擦によって多少動きにブレはあるが、ちゃんと反転してくれた↑↑
**黒い線の上を走行するライン・トレースのプログラム [#b9bd5fa9] 
 光センサー二つをつけたときのライン・トレースのプログラムです。

 製作日//:06-6-14
 製作者//:Blue
 task main()
 {
 SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1が光センサーと宣言
 SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3が光センサーと宣言
 while(true)
 {
 if (SENSOR_1> 40)         //光センサー1が黒い線まで来ていないとき
 {
 OnFwd(OUT_A);            //モーターAを正回転
 Off(OUT_C);            //モーターCを静止
 }
 else                //光センサー2が黒い線に来たとき
 {
 OnFwd(OUT_C);           //モーターCを正回転
 Off(OUT_A);            //モーターAを静止
 } 
 if (SENSOR_3>40)          //光センサー3が黒い線まで来ていないとき
 {
 OnFwd(OUT_C);           //モーターCを正回転
 Off(OUT_A);            //モーターAを静止
 }
 else                //光センサー3が黒い線まで来たとき
 {
 OnFwd(OUT_A);           //モーターAを正回転
 Off(OUT_C);            //モーターCを静止
 }
 }
 }
 }
 
 動きはたどたどしいけれど、ちゃんと黒い線の上を走ってます!

**追い越しのプログラム [#l2215d6f]
 障害物にぶつかってから、追い越しをして黒い線上に戻るプログラムです。

 製作日//:06-6-14
 製作者//:Blue
 task main()
 {
 #define go_A(t) OnFwd(OUT_A);Wait(t);Off(OUT_A);//右旋回
 #define go_C(t) OnFwd(OUT_C);Wait(t);Off(OUT_C);//左旋回
 #define go_straight(t) OnFwd(OUT_A+OUT_C);Wait(t);Off (OUT_A+OUT_C);//まっすぐ直進
 #define go_back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);//まっすぐ後退
 SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1が光センサーと宣言
 SetSensor(SENSOR_3,SENSOR_LIGHT);//センサー3が光センサーと宣言
 SetSensor(SENSOR_2,SENSOR_TOUCH);//センサー2がタッチセンサーと宣言
 while(true)
 { 
 OnFwd(OUT_A+OUT_C);
 until(SENSOR_2==1); //タッチセンサーが押されるまでまっすぐ前進
 go_back(80);         //まっすぐ後退
 go_A(80);      //左旋回
 go_straight(80);   //まっすぐ前進
 go_C(80);      //右旋回
 go_straight(150);  //まっすぐ前進
 go_C(80);      //右旋回
 OnFwd(OUT_A+OUT_C); //タッチセンサー3が黒い線に来るまでまっすぐ前進
 until(SENSOR_3<45);
 OnFwd(OUT_A);    //左旋回
 OnRev(OUT_C);   
 until(SENSOR_1<40); //タッチセンサー1が黒い線を認識するまで左旋回
 OnFwd(OUT_A+OUT_C); //まっすぐ前進
 } 
 }

*いよいよ本プログラム・・・ [#a92562f1]
**反転プログラム [#f8f7ab32]
 task main()
 {
 SetSensor(SENSOR_1,SENSOR_LIGHT);
 SetSensor(SENSOR_3,SENSOR_LIGHT);
 SetSensor(SENSOR_2,SENSOR_TOUCH);
 while(true)
 {
 while(SENSOR_2==0)
 {
 if(SENSOR_1>40)
 {
 OnFwd(OUT_A);
 Off(OUT_C);
 }
 else
 {
 OnFwd(OUT_C);
 Off(OUT_A);
 }
 if(SENSOR_3>40)
 {
 OnFwd(OUT_C);
 Off(OUT_A);
 }
 else
 {
 OnFwd(OUT_A);
 Off(OUT_C);
 }
 } 
 if(SENSOR_2==1);
 {
 OnFwd(OUT_A);
 OnRev(OUT_C);
 until(SENSOR_1<40);
 }
 }
 } 

**追い越しプログラム [#j5191e0d]

 task main()
 {
 #define go_A(t) OnFwd(OUT_A);Wait(t);Off(OUT_A);
 #define go_C(t) OnFwd(OUT_C);Wait(t);Off(OUT_C);
 #define go_straight(t) OnFwd(OUT_A+OUT_C);Wait(t);Off (OUT_A+OUT_C);
 #define go_back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);
 SetSensor(SENSOR_1,SENSOR_LIGHT);
 SetSensor(SENSOR_3,SENSOR_LIGHT);
 SetSensor(SENSOR_2,SENSOR_TOUCH);
 while(true)
 {
 while(SENSOR_2==0)
 {
 if(SENSOR_1>40)
 {
 OnFwd(OUT_A);
 Off(OUT_C);
 }
 else
 {
 OnFwd(OUT_C);
 Off(OUT_A);
 }
 if(SENSOR_3>40)
 {
 OnFwd(OUT_C);
 Off(OUT_A);
 }
 else
 {
 OnFwd(OUT_A);
 Off(OUT_C);
 }
 }  
 if(SENSOR_2==1);
 {
 go_back(80);
 go_A(90);
 go_straight(100);
 go_C(90);
 go_straight(180);
 go_C(90);
 OnFwd(OUT_A+OUT_C);
 until(SENSOR_3<45);
 OnFwd(OUT_A);
 Off(OUT_C);
 until(SENSOR_1<40);
 }
 }
 }
*考察 [#cd9a4178]
**工夫した点 [#f6861995]
 -ji

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS