kikjk

Dependencies:   Motor SoftPWM mbed

Committer:
WAT34
Date:
Tue Oct 27 07:27:39 2015 +0000
Revision:
1:3a5d4d01fb73
Parent:
0:4b4f20abc93b
yanagi adjusted.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
WAT34 0:4b4f20abc93b 1 #include "mbed.h"
WAT34 0:4b4f20abc93b 2 #include "Motor.h"
WAT34 0:4b4f20abc93b 3 Serial mas(p9,p10);
WAT34 0:4b4f20abc93b 4 Serial nara(p28,p27);
WAT34 0:4b4f20abc93b 5 Serial pc(USBTX,USBRX);
WAT34 0:4b4f20abc93b 6 Timeout yana;
WAT34 0:4b4f20abc93b 7 BusOut led(LED1,LED2,LED3,LED4);
WAT34 0:4b4f20abc93b 8 Motor aj(p21,p16,p15);
WAT34 0:4b4f20abc93b 9 Motor ya(p22,p18,p17);
WAT34 0:4b4f20abc93b 10 BusIn limits(p5,p8);
WAT34 1:3a5d4d01fb73 11 DigitalOut nn(p19);
WAT34 1:3a5d4d01fb73 12 int a;
WAT34 1:3a5d4d01fb73 13 void rev(){
WAT34 1:3a5d4d01fb73 14 ya.speed(-0.40);
WAT34 1:3a5d4d01fb73 15 a = 0;
WAT34 1:3a5d4d01fb73 16 }
WAT34 0:4b4f20abc93b 17 int main()
WAT34 0:4b4f20abc93b 18 {
WAT34 1:3a5d4d01fb73 19 nn = 0;
WAT34 0:4b4f20abc93b 20 int limit;
WAT34 0:4b4f20abc93b 21 char na=0,read=0;
WAT34 0:4b4f20abc93b 22 while(1) {
WAT34 0:4b4f20abc93b 23 limit = limits;
WAT34 0:4b4f20abc93b 24 // serial受信
WAT34 0:4b4f20abc93b 25 if(nara.readable()) {
WAT34 1:3a5d4d01fb73 26 na = ~nara.getc();
WAT34 1:3a5d4d01fb73 27 mas.putc(na>>2);
WAT34 0:4b4f20abc93b 28 }
WAT34 0:4b4f20abc93b 29 if(mas.readable()) {
WAT34 0:4b4f20abc93b 30 read = mas.getc();
WAT34 0:4b4f20abc93b 31 }
WAT34 1:3a5d4d01fb73 32
WAT34 0:4b4f20abc93b 33 //輪を回転
WAT34 1:3a5d4d01fb73 34 if(na%2) {
WAT34 1:3a5d4d01fb73 35 aj.speed(-0.8);
WAT34 1:3a5d4d01fb73 36 led = 1;
WAT34 1:3a5d4d01fb73 37 } else if((na>>1)%2) {
WAT34 0:4b4f20abc93b 38 aj.speed(0.8);
WAT34 0:4b4f20abc93b 39 led =2;
WAT34 0:4b4f20abc93b 40 }else{
WAT34 1:3a5d4d01fb73 41 aj.brake();
WAT34 0:4b4f20abc93b 42 led = 0;
WAT34 0:4b4f20abc93b 43 }
WAT34 0:4b4f20abc93b 44 //やなぎシステム
WAT34 1:3a5d4d01fb73 45 if(read==1) {
WAT34 1:3a5d4d01fb73 46 ya.speed(0.40);
WAT34 0:4b4f20abc93b 47 a = 1;
WAT34 0:4b4f20abc93b 48 }
WAT34 0:4b4f20abc93b 49 if(limits == 2&& a == 1) {
WAT34 1:3a5d4d01fb73 50 yana.attach(&rev,1.0);
WAT34 1:3a5d4d01fb73 51 a = 3;
WAT34 0:4b4f20abc93b 52 }
WAT34 0:4b4f20abc93b 53 if(limits==1 && a==0) {
WAT34 0:4b4f20abc93b 54 ya.speed(0);
WAT34 0:4b4f20abc93b 55 }
WAT34 0:4b4f20abc93b 56 pc.printf("read:%d\n\r",limit);
WAT34 0:4b4f20abc93b 57 }
WAT34 0:4b4f20abc93b 58 }