2006a/A3/課題2左
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2006a/MemberOnly/進行状況A]]
*課題2反転するロボ [#z725d9ef]
**制作者 Fuji.SHU[#i01f7031]
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH); //センサー1はタッチセンサー
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー2・3は光センサー
while(true)
{
OnFwd(OUT_A+OUT_C);
if(SENSOR_1==1) //何かに当ったら・・・
{
OnRev(OUT_A+OUT_C); Wait(50);
OnFwd(OUT_A); Wait(150);
OnFwd(OUT_C); //後退して旋回する
{
//ライントレース部
if(SENSOR_2<40) //右にずれたとき
{ OnFwd(OUT_C);Off(OUT_A);}
else{OnFwd(OUT_A+OUT_C);}
if(SENSOR_3<40) //左にずれたとき
{ OnFwd(OUT_C);Off(OUT_A);}
else{OnFwd(OUT_A+OUT_C); }
}
}
**制作者 カミー [#l5e17cd6]
#define THRESHOLD 48
task main ()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1は光センサー
SetSensor(SENSOR_2,SENSOR_TOUCH);//センサー2はタッチセンサー
while(true){
if(SENSOR_1<THRESHOLD) { //光センサー1個で進む
Off(OUT_A);
OnFwd(OUT_C);
}
if(SENSOR_2==1){ //ぶつかると反転
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(150);
}else{
OnFwd(OUT_A);
Off(OUT_C);
}.
}
}
*課題2前のロボに当たると追い抜く [#f253c515]
**制作者:Fuji .SHU[#eced6868]
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH); //センサー1はタッチセンサー
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー2・3は光センサー
OnFwd(OUT_A+OUT_C);
while(true){
if(SENSOR_1==1){
OnRev(OUT_A+OUT_C);Wait(50); //後退
OnFwd(OUT_A);Wait(40);
OnFwd(OUT_A+OUT_C);Wait(50);
OnFwd(OUT_C);Wait(40);
OnFwd(OUT_A+OUT_C);Wait(250); //前のロボットを追い越す
OnFwd(OUT_C);Wait(40);
OnFwd(OUT_A+OUT_C);Wait(50); //コースに戻る
OnFwd(OUT_A);Wait(40); }
else{
if(SENSOR_2<40)
{OnFwd(OUT_C);}
if(SENSOR_3<40)
{OnFwd(OUT_A);} } } } //ライントレース部
**制作者 カミー [#e5be88b3]
#difine THRESHOLD 45
task main ()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_LIGHT);//センサー1、2は光センサー
SetSensor(SENSOR_3,SENSOR_TOUCH);//センサー3はタッチセンサー
while(true){
if(SENSOR_1<THRESHOLD){ //左にずれたら右に修正
OnFwd(OUT_A);
Off(OUT_C);
}
if(SENSOR_2<THRESHOLD){ //右にずれたら左に修正
OnFwd(OUT_C);
Off(OUT_A);
}
if((SENSOR_1>THRESHOLD)&&(SENSOR_2>THRESHOLD)){
OnFwd(OUT_A+OUT_C); //直進
}
if(SENSOR_3==1){
OnRev(OUT_A+OUT_C);//後退
Wait(90);
OnFwd(OUT_A);//追い越し
Off(OUT_C);
Wait(120);
OnFwd(OUT_A+OUT_C);
Wait(90);
Off(OUT_A);
OnFwd(OUT_C);
Wait(120);
OnFwd(OUT_A+OUT_C);
Wait(150);
Off(OUT_A);
OnFwd(OUT_C);
Wait(120);
OnFwd(OUT_A+OUT_C);
Wait(90);
OnFwd(OUT_A);//コースに戻る
Off(OUT_C);
Wait(120);
OnFwd(OUT_A+OUT_C);
Wait(20);
}
}
}
*苦労した所 [#sc0092ea]
タッチセンサーと光センサー2個をロボに取り付けなくてはいけなかったところ。前にタッチセンサーを付けるので光センサーをつけるのが苦労した。
タッチセンサーの付け方に苦労しました。最初に作った物は前のロボットにぶつかってもうまくセンサーが押されなかったので、どうしたら押されるかを工夫したのと同時に苦労しました。
追い越すときのモーターの回転時間をどのぐらいにすればいいのかがいまいちわからなかったので、何回も実際に動かしてちょうどいい時間を探すのに苦労しました。
*工夫した所 [#e64a3fb4]
タッチセンサーのバンパーを少し短くして反転するときや曲がるときに邪魔にならないようにした。
前のロボットを追い越すときに、少し大きく動くことによってだいたいの物はよけられるようにしました。
*感想 [#v14baf6b]
今回はメンバー同士の連携がとれて、計画的に作業ができた。
メンバーの結束も強まってきたので、次回から更に良いものができそうだ。
*コメントをどうぞ [#z51143dd]
#coment
終了行:
[[2006a/MemberOnly/進行状況A]]
*課題2反転するロボ [#z725d9ef]
**制作者 Fuji.SHU[#i01f7031]
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH); //センサー1はタッチセンサー
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー2・3は光センサー
while(true)
{
OnFwd(OUT_A+OUT_C);
if(SENSOR_1==1) //何かに当ったら・・・
{
OnRev(OUT_A+OUT_C); Wait(50);
OnFwd(OUT_A); Wait(150);
OnFwd(OUT_C); //後退して旋回する
{
//ライントレース部
if(SENSOR_2<40) //右にずれたとき
{ OnFwd(OUT_C);Off(OUT_A);}
else{OnFwd(OUT_A+OUT_C);}
if(SENSOR_3<40) //左にずれたとき
{ OnFwd(OUT_C);Off(OUT_A);}
else{OnFwd(OUT_A+OUT_C); }
}
}
**制作者 カミー [#l5e17cd6]
#define THRESHOLD 48
task main ()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1は光センサー
SetSensor(SENSOR_2,SENSOR_TOUCH);//センサー2はタッチセンサー
while(true){
if(SENSOR_1<THRESHOLD) { //光センサー1個で進む
Off(OUT_A);
OnFwd(OUT_C);
}
if(SENSOR_2==1){ //ぶつかると反転
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(150);
}else{
OnFwd(OUT_A);
Off(OUT_C);
}.
}
}
*課題2前のロボに当たると追い抜く [#f253c515]
**制作者:Fuji .SHU[#eced6868]
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH); //センサー1はタッチセンサー
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー2・3は光センサー
OnFwd(OUT_A+OUT_C);
while(true){
if(SENSOR_1==1){
OnRev(OUT_A+OUT_C);Wait(50); //後退
OnFwd(OUT_A);Wait(40);
OnFwd(OUT_A+OUT_C);Wait(50);
OnFwd(OUT_C);Wait(40);
OnFwd(OUT_A+OUT_C);Wait(250); //前のロボットを追い越す
OnFwd(OUT_C);Wait(40);
OnFwd(OUT_A+OUT_C);Wait(50); //コースに戻る
OnFwd(OUT_A);Wait(40); }
else{
if(SENSOR_2<40)
{OnFwd(OUT_C);}
if(SENSOR_3<40)
{OnFwd(OUT_A);} } } } //ライントレース部
**制作者 カミー [#e5be88b3]
#difine THRESHOLD 45
task main ()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_LIGHT);//センサー1、2は光センサー
SetSensor(SENSOR_3,SENSOR_TOUCH);//センサー3はタッチセンサー
while(true){
if(SENSOR_1<THRESHOLD){ //左にずれたら右に修正
OnFwd(OUT_A);
Off(OUT_C);
}
if(SENSOR_2<THRESHOLD){ //右にずれたら左に修正
OnFwd(OUT_C);
Off(OUT_A);
}
if((SENSOR_1>THRESHOLD)&&(SENSOR_2>THRESHOLD)){
OnFwd(OUT_A+OUT_C); //直進
}
if(SENSOR_3==1){
OnRev(OUT_A+OUT_C);//後退
Wait(90);
OnFwd(OUT_A);//追い越し
Off(OUT_C);
Wait(120);
OnFwd(OUT_A+OUT_C);
Wait(90);
Off(OUT_A);
OnFwd(OUT_C);
Wait(120);
OnFwd(OUT_A+OUT_C);
Wait(150);
Off(OUT_A);
OnFwd(OUT_C);
Wait(120);
OnFwd(OUT_A+OUT_C);
Wait(90);
OnFwd(OUT_A);//コースに戻る
Off(OUT_C);
Wait(120);
OnFwd(OUT_A+OUT_C);
Wait(20);
}
}
}
*苦労した所 [#sc0092ea]
タッチセンサーと光センサー2個をロボに取り付けなくてはいけなかったところ。前にタッチセンサーを付けるので光センサーをつけるのが苦労した。
タッチセンサーの付け方に苦労しました。最初に作った物は前のロボットにぶつかってもうまくセンサーが押されなかったので、どうしたら押されるかを工夫したのと同時に苦労しました。
追い越すときのモーターの回転時間をどのぐらいにすればいいのかがいまいちわからなかったので、何回も実際に動かしてちょうどいい時間を探すのに苦労しました。
*工夫した所 [#e64a3fb4]
タッチセンサーのバンパーを少し短くして反転するときや曲がるときに邪魔にならないようにした。
前のロボットを追い越すときに、少し大きく動くことによってだいたいの物はよけられるようにしました。
*感想 [#v14baf6b]
今回はメンバー同士の連携がとれて、計画的に作業ができた。
メンバーの結束も強まってきたので、次回から更に良いものができそうだ。
*コメントをどうぞ [#z51143dd]
#coment
ページ名: