最初にどちらのnxcがマスターかスレイブかを設定する。

マスター側のプログラム(Aとする)
 #define CONN 1 // スレーブの接続番号
 task main()
 {
 until (BluetoothStatus(CONN) == NO_ERR);
 //プログラム
 RemoteStartProgram(CONN, "B.rxe");
 }

スレーブ側のプログラム(Bとする)
 #define CONN 0 // スレーブの接続番号
 task main()
 {
 until (BluetoothStatus(CONN) == NO_ERR);
 //プログラム
 RemoteStartProgram(CONN, "C.rxe");
 }

これでマスター側のCというプログラムが実行される



旋回からの直進
  float GetAngle(float d)
 {
  const float diameter = 5.45;
  const float pi=3.1415;
  float ang =d/(diameter*pi)*360.0;
  return ang;
 }
 #define SPEED 50

 task main()
 {
  int angle = GetAngle(20);
  RotateMotor(OUT_BC,-SPEED,angle);
  OnFwd(OUT_B,-SPEED);
  OnFwd(OUT_C,SPEED);
  Wait(1500);
  angle += GetAngle(30);
  RotateMotor(OUT_BC,SPEED,angle);
 }



超音波



 #define SPEED 50
 #define SPEED_SLOW 30
 #define count 3
 #define sound PlaySound(SOUND_CLICK);

 task main()
 {
 int nOnline=0;
  //最初のプログラム
 if(nOnline=0){//アームの作業終わり
 if(SensorUS(S3)<count){
     sound;
     Wait(10000);
           nOnline++;
          //この行にbackを入力
   }
   }

 else if(nOnline=1){//アームの作業終わり、ボール4つ乗ってる
 if(SensorUS(S3)<count){
     sound;
     nOnline++;
   }
   }

 else if(nOnline=2){
   //この行にbackを入力、ボール2つになる
   if(SensorUS(S3)<count){
      sound;
      Wait(10000);
      nOnline++;
   }
   }

 else if(nOnline=3)
     //この行にbackを入力
 }


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