Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Fork of Nucleo_PS3_Jikken_XBEE by
Revision 32:34f14f9eee7f, committed 2015-11-10
- Comitter:
- nodoame
- Date:
- Tue Nov 10 10:10:23 2015 +0000
- Parent:
- 31:d9c70bcdb54e
- Child:
- 33:8de2776497da
- Commit message:
- ????????; ?????; 20151110
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Mon Nov 09 10:33:14 2015 +0000 +++ b/main.cpp Tue Nov 10 10:10:23 2015 +0000 @@ -24,8 +24,6 @@ #define debugFlag 0 #define stopCount 33 #define shotWait 0.5 -#define isXBOX true -#define XBOXrate 19200 Serial pc(SERIAL_TX, SERIAL_RX); //Serial Dev(D8,D2);//コントローラー @@ -34,7 +32,7 @@ I2C i2c(D14,D15);//sda,scl //const int airAddr=0x20; const int airAddr=0xd0; -const int airAddr2=0xf0; +const int airAddr2=0xc0; const int airReg=10; const int valveAddr=0xC0; BusOut dI2c(PC_0,PC_1,PC_2,PC_3);//i2cデバッグ @@ -94,7 +92,7 @@ dev=360; //printf("X:%lfY:%lfDev:%lf\r\n",tempX,tempY,dev); else - dev=atan2(tempX,(isXBOX)?(tempY):(-tempY))/M_PI*180;//軸を逆にして代入、Y軸反転 + dev=atan2(tempX,-tempY)/M_PI*180;//軸を逆にして代入、Y軸反転 return ((dev<0)?(dev+360):(dev))/devide;//分割 } @@ -228,16 +226,14 @@ int main() { pc.baud(230400); - //Dev.baud(921600);//PS3 - //Dev.baud(57600);//XBOX - Dev.baud((isXBOX)?(XBOXrate):(921600)); + Dev.baud(921600);//PS3 + //Dev.baud(115200);//XBOX Mechanum.baud(230400); DigitalIn bt(USER_BUTTON); Dev.attach(num,Serial::RxIrq);//受信割り込み設定 Green=0;Blue=0;Red=0; double gValue=0,bValue=0,rValue=0; DigitalOut l(PB_2); - DigitalOut l2(PB_1); int sqf=0; double deg=32; int val; @@ -247,35 +243,25 @@ while(true) { - /* //ポール検出モード - if(getBt(btTri)&&getBt(btSph)){ - if(deg>devideNum-1); - else if(deg<17){ - //pc.printf("R\r\n"); - detFinF=detectPole(TNR); - } - else{ - //pc.printf("L\r\n"); - detFinF=detectPole(TNL); - } - }*/ - do{ bool l=getBt(btL),r=getBt(btR),t=getBt(btTri); if(!l&&!r&&!t) pushF=false; - if(pushF||!obonFlag) + if(pushF||!obonFlag){ + kRed=shotToDenziben(airReg,1,1,airAddr2); + wait(0.01); break; + } //射出 if(l){ //pc.printf("L\r\n"); pushF=true; + kRed=shotToDenziben(airReg,2,1,airAddr2); + wait(0.2); kRed=shotToDenziben(airReg,1,1,airAddr); wait(shotWait); kRed=shotToDenziben(airReg,0,1,airAddr); - /*wait(0.1); - kRed=shotToDenziben(airReg,2,1,airAddr2);*/ kRed=0; } @@ -290,17 +276,6 @@ //i2c.write(airAddr,cmd,2); kRed=0; } - - /*//射出 - else if(t){ - //pc.printf("T\r\n"); - pushF=true; - kRed=shotToDenziben(airReg,4,1,airAddr); - wait(shotWait); - kRed=shotToDenziben(airReg,0,1,airAddr); - kRed=0; - }*/ - }while(false); //レーザーポインタ @@ -315,12 +290,10 @@ //タッチセンサ if(((int)DATA[1]&12)==12&&!touchSF){ touchSF=true; - l2=1; gValue=0.5; } else if(!(((int)DATA[1]&12)==12)){ touchSF=false; - l2=0; gValue=0; } //お盆回し @@ -340,7 +313,7 @@ wait(0.2); } - deg=devidePoint((double)DATA[3],(double)DATA[2],30,360/devideNum); + deg=devidePoint((double)DATA[3],(double)DATA[2],15,360/devideNum); if(getPress(btSel)||(detFinF&°!=devideNum)){ detFinF=false; @@ -349,6 +322,7 @@ } else { val=valueForMechanum(deg,devideNum,getBt(trigL),getBt(trigR),getBt(btSph)); + //pc.printf("%lf\r\n",deg); } @@ -367,7 +341,8 @@ //pc.printf("%d\r\n",DATA[6]); //if(getPress(btSel)) // pc.printf("up\r\n"); - //pc.printf("deg:%d\r\n",deg); + pc.printf("val:%d\r\n",val); + pc.printf("a"); //printf("%lf:%d:%d\r\n",deg,(int)DATA[3],(int)DATA[2]); //printf("%d\r\n",(int)DATA[0]); //pc.printf("DATA[1]%d\r\n",(int)(DATA[1]&0x02));