[[2008a/MemberOnly/進行状況A]]
*目次 [#t05cd1c9]
#contents
*課題 [#i53ee740]
**似顔絵ロボット [#o84a368d]
・A3用紙に似顔絵を書くロボットの製作
*ロボットについて [#z625e0ae]
**課題を行うために [#g69c57f1]
・前進、後退、方向転換、回転を行える

・ペンを装着し、ペンを上下できる

以上の点を満たすロボットを制作した

*プログラム [#rca9ce37]
**プログラム1 [#d089407d]
  #define B_POWER SetPower(OUT_B,0);//Bの回転速度を調整 &br; 
 #define OFF_B Off(OUT_B);//Bの回転を停止 &br; 
 #define GO_STRAIGHT OnFwd(OUT_A+OUT_C);//前進する &br; 
 #define GO_BACK OnRev(OUT_A+OUT_C);//後退する &br; 
 #define OFF Off(OUT_A+OUT_C);//AとCの回転を停止する &br;

  sub P_DOWN()//ペンをおろす
  {
  B_POWER;   OnFwd(OUT_B);   Wait(50);   OFF_B;
  }

  sub P_RAISE()//ペンをあげる
  {
  B_POWER;   OnRev(OUT_B);   Wait(50);   OFF_B;
  } 

  task main()
  {
   P_DOWN();
   OnRev(OUT_C);  OnFwd(OUT_A);  Wait(745);  OFF;//輪郭を書く
   P_RAISE();
  
   OnRev(OUT_C);  Wait(100);  OFF;
   GO_STRAIGHT;  Wait(60);  OFF;
   P_DOWN();//前髪を書く1
   GO_STRAIGHT;  Wait(30);  OFF;
   P_RAISE();
  
   GO_BACK;  Wait(30);  OFF;//前髪を書く2
   OnRev(OUT_A);  Wait(186);  OFF;
   GO_STRAIGHT;  Wait(98);  OFF;
   P_DOWN();
   GO_STRAIGHT;  Wait(40);  OFF;
   P_RAISE();
  
   GO_BACK;  Wait(30);  OFF;//前髪を書く3
   OnRev(OUT_C);  Wait(186);  OFF;
   GO_STRAIGHT;  Wait(120);  OFF;
   P_DOWN();
   GO_STRAIGHT;  Wait(40);  OFF;
   P_RAISE();

   GO_BACK;  Wait(30);  OFF;//前髪を書く4
   OnRev(OUT_A);  Wait(186);  OFF;
   GO_STRAIGHT;  Wait(98);  OFF;
   P_DOWN();
   GO_STRAIGHT;  Wait(40);  OFF;
   P_RAISE();
  
   GO_BACK; Wait(150); OFF;
   OnRev(OUT_A); OnFwd(OUT_C); Wait(267); OFF;
   GO_BACK; Wait(50); OFF;
   GO_STRAIGHT; Wait(60); OFF;
   P_DOWN();//目を描く 左
   GO_STRAIGHT; Wait(40); OFF;
   P_RAISE();
   GO_STRAIGHT; Wait(30); OFF;
   P_DOWN();//目を描く 右
   GO_STRAIGHT; Wait(40); OFF;
   P_RAISE();
  
  }
 
**プログラム2 [#o05c8a35]
  #define B_POWER SetPower(OUT_B,0);
  #define OFF_B Off(OUT_B);
  #define GO_STRAIGHT OnFwd(OUT_A+OUT_C);
  #define GO_BACK OnRev(OUT_A+OUT_C);
  #define OFF Off(OUT_A+OUT_C);

  sub P_DOWN()
  {
  B_POWER;   OnFwd(OUT_B);   Wait(50);   OFF_B;
  }

  sub P_RAISE()
  {
  B_POWER;   OnRev(OUT_B);   Wait(50);   OFF_B;
  } 





  task main()
  {
  P_DOWN();
  OnRev(OUT_C);  OnFwd(OUT_A);  Wait(750);  OFF;
  P_RAISE();
  
  OnRev(OUT_C);  Wait(100);  OFF;
  GO_STRAIGHT;  Wait(45);  OFF;
  P_DOWN();
  GO_STRAIGHT;  Wait(45);  OFF;
  P_RAISE();
  
  GO_BACK;  Wait(30);  OFF;
  OnRev(OUT_A);  Wait(186);  OFF;
  GO_STRAIGHT;  Wait(98);  OFF;
  P_DOWN();
  GO_STRAIGHT;  Wait(40);  OFF;
  P_RAISE();
  
  GO_BACK;  Wait(30);  OFF;
  OnRev(OUT_C);  Wait(186);  OFF;
  GO_STRAIGHT;  Wait(120);  OFF;
  P_DOWN();
  GO_STRAIGHT;  Wait(40);  OFF;
  P_RAISE();

  GO_BACK;  Wait(30);  OFF;
  OnRev(OUT_A);  Wait(186);  OFF;
  GO_STRAIGHT;  Wait(98);  OFF;
  P_DOWN();
  GO_STRAIGHT;  Wait(40);  OFF;
  P_RAISE();
  
  GO_BACK; Wait(120); OFF;
  OnRev(OUT_A); OnFwd(OUT_C); Wait(267); OFF;
  GO_BACK; Wait(50); OFF;
  GO_STRAIGHT; Wait(100); OFF;
  P_DOWN();
  GO_STRAIGHT; Wait(40); OFF;
  P_RAISE();
  GO_STRAIGHT; Wait(30); OFF;
  P_DOWN();
  GO_STRAIGHT; Wait(40); OFF;
  P_RAISE();
   
  GO_BACK; Wait(250); OFF;
  OnFwd(OUT_A);  OnRev(OUT_C); Wait(200); OFF;
  GO_STRAIGHT; Wait(80); OFF;
  OnFwd(OUT_A);  OnRev(OUT_C); Wait(200); OFF;
  GO_BACK; Wait(65); OFF;
  P_DOWN();
  GO_STRAIGHT; Wait(40); OFF;
  P_RAISE();
  
  
  
  } 


*苦労した点 [#p1f77384]
**問題点 [#decec091]
1:ペンをあげるとき、下げるときの速度が速すぎてペンが外れてしまう

2:両方を完成できなかった

3:片方も中途半端になってしまった
**解決策 [#sb085f9f]
1:モーターの回転速度を落とした




*コメントをどうぞ [#y90f4f96]
#comment


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