yoka konishi
/
a1_SPI_slave_arm_shudouki
手動機アーム、ヌクレオ基盤のプログラムです(9/4)
Fork of a_SPI_slave_arm_shudouki by
Diff: main.cpp
- Revision:
- 4:ea846eabda0e
- Parent:
- 3:f200ae8fea88
diff -r f200ae8fea88 -r ea846eabda0e main.cpp --- a/main.cpp Fri Aug 25 07:55:59 2017 +0000 +++ b/main.cpp Mon Sep 04 12:39:59 2017 +0000 @@ -3,33 +3,27 @@ #include "motor_1.h" #include "motor_2.h" - int a,b,c,d,e,f,g,h; - -Serial pc(USBTX,USBRX); +//Serial pc(USBTX,USBRX); SPISlave spi(PA_7,PA_6,PA_5,PA_4); RcServo sA(PB_0,500,2400,180); //PwmOutのpin,minpulsewidth,maxpulsewidth,motionrange -RcServo sB(PA_9,500,2100,180); +RcServo sB(PA_9,500,2400,180); RcServo sC(PA_10,500,2100,180); RcServo sD(PA_11,500,3000,180); RcServo sE(PA_2,500,2400,180); RcServo sF(PA_3,500,3000,180); RcServo sG(PA_8,500,2400,180); -M1 mH(PB_7,PB_6); //pwm*2 - - - - +M2 mH(PB_6,PA_0,PA_1); //pwm*1,digital*2 int main() { - - spi.format(16,3); + spi.format(8,3); spi.frequency(1000000); + while(1) { - if (spi.receive()) { + if(spi.receive()) { a=spi.read() & 0b1; b=(spi.read() & 0b10)>>1; @@ -39,88 +33,93 @@ f=(spi.read() & 0b100000)>>5; g=(spi.read() & 0b1000000)>>6; h=(spi.read() & 0b10000000)>>7; + //pc.printf("a:%d\t b:%d\t c:%d\t d:%d\t e:%d\t f:%d\t g:%d\t h:%d\t send:%d\r\n",a,b,c,d,e,f,g,h,spi.read()); + } + if(a==1) { + //if((ButtonState >> BUTTONUP)&1 == 1) { // ▲で燃料用アーム展開 + sD.set_deg(80); + wait(0.7); + sA.set_deg(118); + wait(1.2); + sB.set_deg(0); + sC.set_deg(180); + + } + - if(a==1) { - // if((ButtonState >> BUTTONUP)&1 == 1) { // ▲で燃料用アーム展開 - sD.set_deg(90); - wait(0.7); - sA.set_deg(62); - wait(0.7); - sB.set_deg(180); - sC.set_deg(0); - } + if(b==1) { + //if((ButtonState >> BUTTONTRIANGEL)&1 == 1) { // △で燃料回収 + sB.set_deg(180); + sC.set_deg(0); + wait(0.7); + sA.set_deg(28); + wait(0.7); + sD.set_deg(0); + sE.set_deg(120); - if(b==1) { - // if((ButtonState >> BUTTONTRIANGEL)&1 == 1) { // △で燃料回収 - sB.set_deg(0); - sC.set_deg(180); - wait(0.7); - sA.set_deg(152); - wait(0.7); - sD.set_deg(180); - sE.set_deg(120); + } - } + if(c==1) { + //if((ButtonState >> BUTTONLEFT)&1 == 1) { // ◀で燃料掃き出し + mH.move(1); + wait(1.2); + mH.move(0); + + } - if(c==1) { - // if((ButtonState >> BUTTONLEFT)&1 == 1) { // ◀で燃料掃き出し - mH.move(0.5); - wait(1); - mH.move(0); - - } + if(d==1) { + //if((ButtonState >> BUTTONCIRCLE)&1 == 1) { // 〇でタンク回収 + sA.set_deg(118); + sE.set_deg(30); + wait(0.7); + sD.set_deg(180); + wait(0.7); + sE.set_deg(120); + wait(0.7); + sD.set_deg(80); + wait(0.7); + sE.set_deg(90); + sA.set_deg(27); - if(d==1) { - // if((ButtonState >> BUTTONCIRCLE)&1 == 1) { // 〇でタンク回収 - sA.set_deg(90); - sE.set_deg(90); - wait(0.7); - sD.set_deg(0); - wait(0.7); - sE.set_deg(120); - wait(0.7); - sD.set_deg(90); - wait(0.7); - sE.set_deg(90); - sA.set_deg(158); + + + } - } - - if(e==1) { - // if((ButtonState >> BUTTONRIGHT)&1 == 1) { // ‣でタンク掃き出し - mH.move(-0.5); - wait(1); - mH.move(0); - } + if(e==1) { + //if((ButtonState >> BUTTONRIGHT)&1 == 1) { // ‣でタンク掃き出し + mH.move(-1); + wait(1.2); + mH.move(0); + } - if(f==1) { - // if((ButtonState >> BUTTONDOWN)&1 == 1) { // ▼で待機 - sF.set_deg(180); - sG.set_deg(120); - wait(0.7); - sA.set_deg(180); - wait(0.7); - sD.set_deg(0); + if(f==1) { + //if((ButtonState >> BUTTONDOWN)&1 == 1) { // ▼で待機 + + sF.set_deg(0); + sG.set_deg(100); + sE.set_deg(5); + sD.set_deg(180); + } - } - if(g==1) { - // if((ButtonState >> BUTTONCROSS)&1 == 1) { // ×でサンプル受け取り - sG.set_deg(90); - wait(0.7); - sF.set_deg(90); + if(g==1) { + //if((ButtonState >> BUTTONCROSS)&1 == 1) { // ×でサンプル受け取り + sG.set_deg(30); + wait(0.7); + sF.set_deg(87); + + } - } - if(h==1) { - // if((ButtonState >> BUTTONSQUARE)&1 == 1) { // □でサンプル設置 - sG.set_deg(120); - } + if(h==1) { + //if((ButtonState >> BUTTONSQUARE)&1 == 1) { // □でサンプル設置 + sG.set_deg(120); } - - pc.printf("a:%d\t b:%d\t c:%d\t d:%d\t e:%d\t f:%d\t g:%d\t h:%d\t send:%d\n",a,b,c,d,e,f,g,h,spi.read()); + } + } +