メモ:上からメガネ1〜4

作業用。

どちらのプログラムかわかるように印とかつけとく

 
 
 

いちおう打ってみました。 鉛筆を車体の中央に持ってくることは可能でしょうか?

すごいことにちょっと気づいてしまったのですが…… 円の方がうまくいきそうです。。。

 

定義がきちんとできているのかとかがとても心配です。正直なところ。

#define TURN_T 54 //time for faceturn
#define turn_l OnRev(OUT_A);OnFwd(OUT_C);Wait(81);Off(OUT_A+OUT_C); //turn
#defrine turn_r OnFwd(OUT_A);OnRev(OUT_C);Wait(108);Off(OUT_A+OUT_C);
    
sub hair()
{
   OnFwd(OUT_A+OUT_C);
   Wait(35);
   Off(OUT_A+OUT_C);
   OnRev(OUT_A);OnFwd(OUT_C);
   Wait(108);
   Off(OUT_A+OUT_C);
   OnFwd(OUT_A+OUT_C);
   Wait(35);
   Off(OUT_A+OUT_C);
}
sub turn() //sub for turn
{
   OnRev(OUT_A); OnFwd(OUT_C);
   Wait(TURN_T);
   Off(OUT_A+OUT_C);
}
sub go() //sub for face
{
    OnFwd(OUT_A+OUT_C);
    Wait(30);
    Off(OUT_A+OUT_C);
}
task main()
{
    OnFwd(OUT_A+OUT_C); Wait(10); Off(OUT_A+OUT_C); //eye
    turn_l;
    //for face start
    go();
    turn();
    go();
    turn();
    go();
    turn();  // faceline end
    turn_l;
    OnFwd(OUT_A+OUT_C); Wait(10); Off(OUT_A+OUT_C); //eye go
    OnRev(OUT_A+OUT_C); Wait(10); Off(OUT_A+OUT_C); //eye back
    OnFwd(OUT_A); OnRev(OUT_C); Wait(54); Off(OUT_A+OUT_C); //turn
    OnFwd(OUT_A+OUT_C);Wait(5);Off(OUT_A+OUT_C); //forehead
    hair();
    turn_r;
    hair();
    turn_r:
    hair();
    OnFwd(OUT_A); OnRev(OUT_C); Wait(54); Off(OUT_A+OUT_C); //turn
    OnFwd(OUT_A+OUT_C);Wait(5);Off(OUT_A+OUT_C); //forehead
    
}

*タッチセンサのやつ 試作品。

task main()
{
   SetPower(OUT_A+OUT_C+OUT_B,1);
   SetSensor(SENSOR_1,SENSOR_TOUCH); 
   SetSensor(SENSOR_3,SENSOR_TOUCH); 
  while(true)
   
	    OnFwd(OUT_A+OUT_C);
	    if (SENSOR_1 == 1); 
			{
			Off(OUT_A+OUT_C);
			Wait(10);
			OnRev(OUT_A+OUT_C);
			Wait(5);
			Off(OUT_A+OUT_C);
			Wait(5)
			OnFwd(OUT_A);OnRev(OUT_C);
			Wait(10);
			Off(OUT_A+OUT_C);
			
			OnFwd(OUT_A+OUT_C);
			}
	    if (SENSOR_3 == 1);
			{
			Off(OUT_A+OUT_C);
			Wait(10);
			OnRev(OUT_A+OUT_C);
			Wait(5);
			Off(OUT_A+OUT_C);
			Wait(5);
			OnFwd(OUT_C);OnRev(OUT_A);
			Wait(10);
			Off(OUT_A+OUT_C);
			
			OnFwd(OUT_A+OUT_C);
			}
			
             if(SENSOR_1+SENSOR_3 == 1);
             		{
             		Off(OUT_A+OUT_C);
			Wait(10);
			OnRev(OUT_A+OUT_C);
			Wait(10);
			Off(OUT_A+OUT_C);
			Wait(5);
			OnFwd(OUT_A);OnRev(OUT_C);
			Wait(20);
			Off(OUT_A+OUT_C);
			
             		OnFwd(OUT_A+OUT_C);
             		}
}

sub turn_left() {OnFwd(OUT_C);OnRev(OUT_A); Wait(1); OnFwd(OUT_A); }

sub turn_right() {OnFwd(OUT_A);OnRev(OUT_C); Wait(1); OnFwd(OUT_C); }

#define THRESHOLD 50 // Ëáíl

task main() { SetPower(OUT_A,1); SetPower(OUT_C,1); SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_2,SENSOR_TOUCH); SetSensor(SENSOR_3,SENSOR_LIGHT);

{if(SENSOR_2==1) {Off(OUT_A+OUT_C); Wait(50); OnRev(OUT_A+OUT_C); Wait(50); Off(OUT_A+OUT_C);} } while (true){ if*1 {OnFwd(OUT_A+OUT_C); } }

while(true){ if*2 {turn_left(); } }

while(true){ if*3 {turn_right(); } }

while(true){ if*4 {Off(OUT_A+OUT_C);Wait(1000); } } }

2008b/A4/left?


*1 SENSOR_1<=THRESHOLD) && (SENSOR_3<=THRESHOLD
*2 SENSOR_3<=THRESHOLD) && (SENSOR_1>THRESHOLD
*3 SENSOR_1<=THRESHOLD) && (SENSOR_3>THRESHOLD
*4 SENSOR_1>THRESHOLD)&&(SENSOR_3>THRESHOLD

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-02-05 (木) 14:56:04