主導機 mbed用のプログラムです 改良しました

Dependencies:   mbed

Fork of F3RC_syudou_master_3 by 日記

Revision:
24:3610bcb8e275
Parent:
23:33a40d8c0535
Child:
25:d5588a50f069
--- a/User.cpp	Thu Aug 24 03:52:13 2017 +0000
+++ b/User.cpp	Fri Aug 25 12:03:32 2017 +0000
@@ -11,9 +11,10 @@
 #define Pi 3.14159
 int RSX,RSY,LSX,LSY,BSU,BSL;
 //これより下に関数外に書く要素を記入する
-//spi通信用
-SPI spi(p5,p6,p7);
-DigitalOut cs(p8);
+//BUS通信用
+BusOut out(p5,p6,p7,p8);
+int num;
+
 //オムニホイール
 
 /*   正転の向き
@@ -84,8 +85,7 @@
 
 void UserLoopSetting()
 {
-    spi.format(8,3);
-    spi.frequency(1000000);
+   
     motor_f_1.period_us(100);
     motor_f_2.period_us(100);
     motor_l_1.period_us(100);
@@ -126,61 +126,26 @@
 
 
     if((ButtonState >> BUTTONUP)&1 == 1) {//対応するボタンを書く(今回上ボタン
-        L_up = 1;
-    } else {
-        L_up = 0;
-    }
-
-    if((ButtonState >> BUTTONDOWN)&1 == 1) {//対応するボタンを書く(今回下ボタン
-        L_down = 2;
-    } else {
-        L_down = 0;
-    }
-
-    if((ButtonState >> BUTTONL1)&1 == 1) {//対応するボタンを書く(今回L1ボタン
-        L_open = 4;
-    } else {
-        L_open = 0;
-    }
-
-    if((ButtonState >> BUTTONL2)&1 == 1) {//対応するボタンを書く(今回L2ボタン
-        L_close = 8;
-    } else {
-        L_close = 0;
-    }
+        num = 1;
+    } else if((ButtonState >> BUTTONDOWN)&1 == 1) { //対応するボタンを書く(今回下ボタン
+        num = 2;
+    } else if((ButtonState >> BUTTONL1)&1 == 1) { //対応するボタンを書く(今回L1ボタン
+        num = 3;
+    } else if((ButtonState >> BUTTONL2)&1 == 1) { //対応するボタンを書く(今回L2ボタン
+        num = 4;
+    } else if((ButtonState >> BUTTONTRIANGEL)&1 == 1) { //対応するボタンを書く(今回△ボタン
+        num = 5;
+    } else if((ButtonState >> BUTTONCROSS)&1 == 1) { //対応するボタンを書く(今回×ボタン
+        num = 6;
+    } else if((ButtonState >> BUTTONR1)&1 == 1) { //対応するボタンを書く(今回R1ボタン
+        num = 7;
+    } else if((ButtonState >> BUTTONR2)&1 == 1) { //対応するボタンを書く(今回R2ボタン
+        num = 8;
+    } else
+        num=0;
 
-    if((ButtonState >> BUTTONTRIANGEL)&1 == 1) {//対応するボタンを書く(今回△ボタン
-        R_up = 16;
-    } else {
-        R_up = 0;
-    }
-
-    if((ButtonState >> BUTTONCROSS)&1 == 1) {//対応するボタンを書く(今回×ボタン
-        R_down = 32;
-    } else {
-        R_down = 0;
-    }
-
-    if((ButtonState >> BUTTONR1)&1 == 1) {//対応するボタンを書く(今回R1ボタン
-        R_open = 64;
-    } else {
-        R_open = 0;
-    }
-
-    if((ButtonState >> BUTTONR2)&1 == 1) {//対応するボタンを書く(今回R2ボタン
-        R_close = 128;
-    } else {
-        R_close = 0;
-    }
-
-
-
-    send = L_up+L_down+L_open+L_close+R_up+R_down+R_open+R_close;
-
-    cs = 0;
-    spi. write(send);
-    cs = 1;
-    // printf("%d\r\n",send
+    out=num;
+    printf("%d\r\n",num);
     //オムニホイールのプログラム
     if(LSX>=bound_m && LSX<=bound_p && LSY>=bound_m && LSY<=bound_p) {
         M1=0;
@@ -200,49 +165,49 @@
 
         sita=0;
     } else {
-            sita = -1.0*(atan2((double)LSY-center,(double)LSX-center))*180/Pi;
-            sita_2=90-sita;
-            M1=sin((sita_2-(fai+0))*Pi/180)*power_f;
-            M2=sin((sita_2-(fai+240))*Pi/180)*power_l;
-            M3=sin((sita_2-(fai+120))*Pi/180)*power_r;
-            motor_act();
-        } 
+        sita = -1.0*(atan2((double)LSY-center,(double)LSX-center))*180/Pi;
+        sita_2=90-sita;
+        M1=sin((sita_2-(fai+0))*Pi/180)*power_f;
+        M2=sin((sita_2-(fai+240))*Pi/180)*power_l;
+        M3=sin((sita_2-(fai+120))*Pi/180)*power_r;
+        motor_act();
+    }
 //真っすぐだけのプログラム(いらない)
 
-        /*else if(LSX==255) {
-                 sita = 0;
-                 sita_2=90-sita;
-                 M1=sin((sita_2-fai)*Pi/180)*power_f;
-                 M2=sin((sita_2-fai+240)*Pi/180)*power_l;
-                 M3=sin((sita_2-fai+120)*Pi/180)*power_r;
-                 motor_act();
+    /*else if(LSX==255) {
+             sita = 0;
+             sita_2=90-sita;
+             M1=sin((sita_2-fai)*Pi/180)*power_f;
+             M2=sin((sita_2-fai+240)*Pi/180)*power_l;
+             M3=sin((sita_2-fai+120)*Pi/180)*power_r;
+             motor_act();
 
-             } else if(LSY==255) {
-                 sita = -90;
-                 sita_2=90-sita;
-                 M1=sin((sita_2-fai)*Pi/180)*power_f;
-                 M2=sin((sita_2-fai+240)*Pi/180)*power_l;
-                 M3=sin((sita_2-fai+120)*Pi/180)*power_r;
-                 motor_act();
+         } else if(LSY==255) {
+             sita = -90;
+             sita_2=90-sita;
+             M1=sin((sita_2-fai)*Pi/180)*power_f;
+             M2=sin((sita_2-fai+240)*Pi/180)*power_l;
+             M3=sin((sita_2-fai+120)*Pi/180)*power_r;
+             motor_act();
 
-             } else if(LSX==0) {
-                 sita = 180;
-                 sita_2=90-sita;
-                 M1=sin((sita_2-fai)*Pi/180)*power_f;
-                 M2=sin((sita_2-fai+240)*Pi/180)*power_l;
-                 M3=sin((sita_2-fai+120)*Pi/180)*power_r;
-                 motor_act();
+         } else if(LSX==0) {
+             sita = 180;
+             sita_2=90-sita;
+             M1=sin((sita_2-fai)*Pi/180)*power_f;
+             M2=sin((sita_2-fai+240)*Pi/180)*power_l;
+             M3=sin((sita_2-fai+120)*Pi/180)*power_r;
+             motor_act();
 
-             } else if(LSY==0) {
-                 sita = 90;
-                 sita_2=90-sita;
-                 M1=sin((sita_2-fai)*Pi/180)*power_f;
-                 M2=sin((sita_2-fai+240)*Pi/180)*power_l;
-                 M3=sin((sita_2-fai+120)*Pi/180)*power_r;
-                 motor_act();
-             } */
+         } else if(LSY==0) {
+             sita = 90;
+             sita_2=90-sita;
+             M1=sin((sita_2-fai)*Pi/180)*power_f;
+             M2=sin((sita_2-fai+240)*Pi/180)*power_l;
+             M3=sin((sita_2-fai+120)*Pi/180)*power_r;
+             motor_act();
+         } */
 
-    
+