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

Dependencies:   mbed

Fork of F3RC_syudou_slave by F3RC1班

Committer:
yuto17320508
Date:
Mon Aug 21 04:57:03 2017 +0000
Revision:
0:d0441e7d5ea3
Child:
1:dfabac3b39e9
aa

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yuto17320508 0:d0441e7d5ea3 1 #include "mbed.h"
yuto17320508 0:d0441e7d5ea3 2
yuto17320508 0:d0441e7d5ea3 3 Serial pc(USBTX,USBRX);
yuto17320508 0:d0441e7d5ea3 4 SPISlave spi(PC_12,PC_11,PC_10,PA_13);
yuto17320508 0:d0441e7d5ea3 5 DigitalOut photo_1(PC_2);
yuto17320508 0:d0441e7d5ea3 6 DigitalOut photo_2(PC_3);
yuto17320508 0:d0441e7d5ea3 7 DigitalOut moter_1(PA_10);
yuto17320508 0:d0441e7d5ea3 8 DigitalOut moter_2(PA_2);
yuto17320508 0:d0441e7d5ea3 9 DigitalOut cyli_1(PB_5);
yuto17320508 0:d0441e7d5ea3 10 DigitalOut cyli_2(PB_3);
yuto17320508 0:d0441e7d5ea3 11 DigitalOut cyli_3(PA_10);
yuto17320508 0:d0441e7d5ea3 12
yuto17320508 0:d0441e7d5ea3 13 int a,b,c,d,e,f,g,h,i,j;
yuto17320508 0:d0441e7d5ea3 14
yuto17320508 0:d0441e7d5ea3 15 //モーターの出力の設定
yuto17320508 0:d0441e7d5ea3 16 double moter_power = 0.7;
yuto17320508 0:d0441e7d5ea3 17
yuto17320508 0:d0441e7d5ea3 18 int main()
yuto17320508 0:d0441e7d5ea3 19 {
yuto17320508 0:d0441e7d5ea3 20 spi.format(16,3);
yuto17320508 0:d0441e7d5ea3 21 spi.frequency(1000000);
yuto17320508 0:d0441e7d5ea3 22
yuto17320508 0:d0441e7d5ea3 23 while(1) {
yuto17320508 0:d0441e7d5ea3 24
yuto17320508 0:d0441e7d5ea3 25 if(spi.receive()) {
yuto17320508 0:d0441e7d5ea3 26
yuto17320508 0:d0441e7d5ea3 27 int a = spi.read() & 0b1;
yuto17320508 0:d0441e7d5ea3 28 int b = (spi.read() & 0b10)>>1;
yuto17320508 0:d0441e7d5ea3 29 int c = (spi.read() & 0b100)>>2;
yuto17320508 0:d0441e7d5ea3 30 int d = (spi.read() & 0b1000)>>3;
yuto17320508 0:d0441e7d5ea3 31 int e = (spi.read() & 0b10000)>>4;
yuto17320508 0:d0441e7d5ea3 32 int f = (spi.read() & 0b100000)>>5;
yuto17320508 0:d0441e7d5ea3 33 int g = (spi.read() & 0b1000000)>>6;
yuto17320508 0:d0441e7d5ea3 34 int h = (spi.read() & 0b10000000)>>7;
yuto17320508 0:d0441e7d5ea3 35 int i = (spi.read() & 0b100000000)>>8;
yuto17320508 0:d0441e7d5ea3 36 int j = (spi.read() & 0b1000000000)>>9;
yuto17320508 0:d0441e7d5ea3 37 pc.printf("a:%d\tb:%d\tc:%d\td:%d\te:%d\tf:%d\tg:%d\th:%d\ti:%d\tj:%d\r\n",a,b,c,d,spi.read());
yuto17320508 0:d0441e7d5ea3 38
yuto17320508 0:d0441e7d5ea3 39 }
yuto17320508 0:d0441e7d5ea3 40 //フォトトランジスタ1
yuto17320508 0:d0441e7d5ea3 41 if(a == 1) {
yuto17320508 0:d0441e7d5ea3 42 photo_1=1;
yuto17320508 0:d0441e7d5ea3 43 } else {
yuto17320508 0:d0441e7d5ea3 44 photo_1=0;
yuto17320508 0:d0441e7d5ea3 45 }
yuto17320508 0:d0441e7d5ea3 46
yuto17320508 0:d0441e7d5ea3 47 //フォトトランジスタ2
yuto17320508 0:d0441e7d5ea3 48 if(b == 1) {
yuto17320508 0:d0441e7d5ea3 49 photo_2=1;
yuto17320508 0:d0441e7d5ea3 50 } else {
yuto17320508 0:d0441e7d5ea3 51 photo_2=0;
yuto17320508 0:d0441e7d5ea3 52 }
yuto17320508 0:d0441e7d5ea3 53
yuto17320508 0:d0441e7d5ea3 54 //腕1 上昇下降
yuto17320508 0:d0441e7d5ea3 55 if(c == 1) {
yuto17320508 0:d0441e7d5ea3 56 moter_1=1;
yuto17320508 0:d0441e7d5ea3 57 moter_2=0;
yuto17320508 0:d0441e7d5ea3 58 } else if(d == 1) {
yuto17320508 0:d0441e7d5ea3 59 moter_1=0;
yuto17320508 0:d0441e7d5ea3 60 moter_2=1;
yuto17320508 0:d0441e7d5ea3 61 } else {
yuto17320508 0:d0441e7d5ea3 62 moter_1=0;
yuto17320508 0:d0441e7d5ea3 63 moter_2=0;
yuto17320508 0:d0441e7d5ea3 64 }
yuto17320508 0:d0441e7d5ea3 65
yuto17320508 0:d0441e7d5ea3 66 //腕1 開閉
yuto17320508 0:d0441e7d5ea3 67 if(e == 1) {
yuto17320508 0:d0441e7d5ea3 68 cyli_1=1;
yuto17320508 0:d0441e7d5ea3 69 } else if(f == 1) {
yuto17320508 0:d0441e7d5ea3 70 cyli_1=0;
yuto17320508 0:d0441e7d5ea3 71 }
yuto17320508 0:d0441e7d5ea3 72
yuto17320508 0:d0441e7d5ea3 73 //腕2 上昇下降
yuto17320508 0:d0441e7d5ea3 74 if(g == 1) {
yuto17320508 0:d0441e7d5ea3 75 cyli_2=1;
yuto17320508 0:d0441e7d5ea3 76 } else if(h == 1) {
yuto17320508 0:d0441e7d5ea3 77 cyli_2=0;
yuto17320508 0:d0441e7d5ea3 78 }
yuto17320508 0:d0441e7d5ea3 79
yuto17320508 0:d0441e7d5ea3 80 //腕2 開閉
yuto17320508 0:d0441e7d5ea3 81 if(i == 1) {
yuto17320508 0:d0441e7d5ea3 82 cyli_3=1;
yuto17320508 0:d0441e7d5ea3 83 } else if(j == 1) {
yuto17320508 0:d0441e7d5ea3 84 cyli_3=0;
yuto17320508 0:d0441e7d5ea3 85 }
yuto17320508 0:d0441e7d5ea3 86 }
yuto17320508 0:d0441e7d5ea3 87
yuto17320508 0:d0441e7d5ea3 88 }