kikjk
Dependencies: Motor SoftPWM mbed
main.cpp@1:3a5d4d01fb73, 2015-10-27 (annotated)
- 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?
User | Revision | Line number | New 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 | } |