2006a/A6/練習7

はじめてのプログラム

作成者:加藤
日時:4月27日
task main()
{
  OnFwd(OUT_A+OUT_C);     
  Wait(300);              //3秒間動く
  Off(OUT_A+OUT_C);       //止まる
}

感想

しっかり動いてくれてよかった。次からは、もっと難しいプログラムを組んでみたい。

課題1:「木」という漢字を書くロボット(試作品)

作成者:
日時:5月24日

プログラム(試作1号)

task main()
{
OnRev(OUT_B);Wait(10);Off(OUT_B);
OnFwd(OUT_A+OUT_C);Wait(70);
OnFwd(OUT_B);Wait(10);Off(OUT_B);
OnRev(OUT_A+OUT_C);Wait(85);
OnFwd(OUT_A);Wait(35);
OnRev(OUT_C);Wait(35);
OnFwd(OUT_A+OUT_C);Wait(35);
OnRev(OUT_B);Wait(10);Off(OUT_B);
OnFwd(OUT_A+OUT_C);Wait(110);
OnFwd(OUT_B);Wait(10);Off(OUT_B);
OnRev(OUT_A+OUT_C);Wait(145);
OnFwd(OUT_A);Wait(17);
OnRev(OUT_C);Wait(17);
OnFwd(OUT_A+OUT_C);Wait(60);
OnRev(OUT_B);Wait(10);Off(OUT_B);
OnFwd(OUT_A+OUT_C);Wait(70);
OnFwd(OUT_B);Wait(10);Off(OUT_B);
OnRev(OUT_A+OUT_C);Wait(160);
OnFwd(OUT_C);Wait(35);
OnRev(OUT_A);Wait(35);
OnFwd(OUT_A+OUT_C);Wait(40);
OnRev(OUT_B);Wait(10);Off(OUT_B);
OnFwd(OUT_A+OUT_C);Wait(80);
OnFwd(OUT_B);Wait(10);Off(OUT_B);
Float(OUT_A+OUT_C);
}

反省

ちゃんと動く気配なし。失敗作...

プログラム(試作2号)

#define  PEN_DOWN   OnRev(OUT_B);Wait(15);Off(OUT_B); 
#define  PEN_UP  OnFwd(OUT_B);Wait(5);Off(OUT_B);
#define  FLONT(t)  OnFwd(OUT_A+OUT_C);Wait(t);
#define  BACK(t)  OnRev(OUT_A+OUT_C);Wait(t);
#define  TURN_RIGHT(t)  OnFwd(OUT_A);OnRev(OUT_C);Wait(t);
#define  TURN_LEFT(t)   OnFwd(OUT_C);OnRev(OUT_A);Wait(t); 

task main()
{
PEN_DOWN;FLONT(70);PEN_UP;BACK(85);TURN_RIGHT(32);FLONT (35);
PEN_DOWN;FLONT(110);PEN_UP;BACK(145);TURN_RIGHT(17);FLONT (60); 
PEN_DOWN;FLONT(70);PEN_UP;BACK(160);TURN_LEFT(37);FLONT(38);
PEN_DOWN;FLONT(80);PEN_UP;
Float(OUT_A+OUT_C);
}

反省

これまた失敗作。簡単にしたつもりがプログラムが書きかわっていて、まったく違う動きをした。

感想

前輪

#define straight OnFwd(OUT_A+OUT_C);

#define turn_right OnFwd(OUT_A);OnRev(OUT_C);

#define turn_left OnFwd(OUT_C);OnRev(OUT_A);

#define back OnRev(OUT_A+OUT_C);

#define off Off(OUT_A+OUT_C);

task main() {

 SetSensor(SENSOR_1, SENSOR_LIGHT);
 SetSensor(SENSOR_2, SENSOR_LIGHT);
 SetSensor(SENSOR_3, SENSOR_TOUCH);
 SetPower(OUT_A, 10);
 SetPower(OUT_B, 10);
 SetPower(OUT_C, 10);
   while(true)
   {
     if (SENSOR_1< 40)
       {
       off;
       turn_left;
       Wait(15);
       }
       
     if(SENSOR_2< 40)
       {
       off;
       turn_right;
       Wait(15);
       }
       
     if((SENSOR_1> 40)&&(SENSOR_2> 40))
       {
       straight;
       }
       
     if(SENSOR_3== 1)
       {
       back;
       Wait(50);
       turn_right;
       Wait(130);
       }
       
   }

}


添付ファイル: file木を書くロボット(前輪).JPG 148件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-08-01 (火) 19:40:47