手動機 ヌクレオ用のプログラムです

Dependencies:   mbed

main.cpp

Committer:
yuto17320508
Date:
2017-08-23
Revision:
1:dfabac3b39e9
Parent:
0:d0441e7d5ea3

File content as of revision 1:dfabac3b39e9:

#include "mbed.h"

Serial pc(USBTX,USBRX);
SPISlave spi(PC_12,PC_11,PC_10,PA_13);
PwmOut moter_1(PA_10);
PwmOut moter_2(PA_2);
DigitalOut cyli_1(PB_5);
DigitalOut cyli_2(PB_3);
DigitalOut cyli_3(PA_10);
//フォトトランジスタ上
DigitalIn photo_1(PC_2);
//フォトトランジスタ下
DigitalIn photo_2(PC_3);

int a,b,c,d,e,f,g,h;

//モーターの出力の設定
double moter_power = 0.7;

int main()
{
    spi.format(8,3);
    spi.frequency(1000000);

    while(1) {

        if(spi.receive()) {

            int a = spi.read() & 0b1;
            int b = (spi.read() & 0b10)>>1;
            int c = (spi.read() & 0b100)>>2;
            int d = (spi.read() & 0b1000)>>3;
            int e = (spi.read() & 0b10000)>>4;
            int f = (spi.read() & 0b100000)>>5;
            int g = (spi.read() & 0b1000000)>>6;
            int h = (spi.read() & 0b10000000)>>7;
            
            pc.printf("a:%d\tb:%d\tc:%d\td:%d\te:%d\tf:%d\tg:%d\th:%d\r\n",a,b,c,d,e,f,g,h,spi.read());

        }
/*フォトトランジスタ1
        if() {//上で折り返し
            moter_1=0;
            moter_2=moter_power;
        } 

//フォトトランジスタ2
        if() {//下で折り返し
            moter_1=moter_power;
            moter_2=0;
        } */

//腕1 上昇下降
        if(a == 1) {//上昇
            moter_1=moter_power;
            moter_2=0;
        } else if(b == 1) {//下降
            moter_1=0;
            moter_2=moter_power;
        } else {
            moter_1=0;
            moter_2=0;
        }

//腕1 開閉
        if(c == 1) {
            cyli_1=1;
        } else if(d == 1) {
            cyli_1=0;
        }

//腕2 上昇下降
        if(e == 1) {
            cyli_2=1;
        } else if(h == 1) {
            cyli_2=0;
        }

//腕2 開閉
        if(f == 1) {
            cyli_3=1;
        } else if(g == 1) {
            cyli_3=0;
        }
    }

}