統合プログラム
Dependencies: mbed Servo BMP180
Movement.h@2:d2cb6b50a8c4, 2021-10-27 (annotated)
- Committer:
- tsubasa_nakajima
- Date:
- Wed Oct 27 20:59:02 2021 +0000
- Revision:
- 2:d2cb6b50a8c4
- Parent:
- 1:bb89b58cfa0e
still has bug
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
minanao | 0:e7b7def631c2 | 1 | #include "mbed.h" |
minanao | 0:e7b7def631c2 | 2 | #include "Servo.h" |
minanao | 0:e7b7def631c2 | 3 | |
tsubasa_nakajima | 2:d2cb6b50a8c4 | 4 | Servo servo1(D7); |
tsubasa_nakajima | 2:d2cb6b50a8c4 | 5 | Servo servo2(A3); |
tsubasa_nakajima | 2:d2cb6b50a8c4 | 6 | Servo servo3(A1); |
tsubasa_nakajima | 1:bb89b58cfa0e | 7 | Servo servo4(D12); |
tsubasa_nakajima | 1:bb89b58cfa0e | 8 | Servo servo5(D10); |
tsubasa_nakajima | 1:bb89b58cfa0e | 9 | Servo servo6(A5); |
minanao | 0:e7b7def631c2 | 10 | |
tsubasa_nakajima | 1:bb89b58cfa0e | 11 | class Movement{ |
tsubasa_nakajima | 1:bb89b58cfa0e | 12 | |
tsubasa_nakajima | 1:bb89b58cfa0e | 13 | public: |
minanao | 0:e7b7def631c2 | 14 | |
minanao | 0:e7b7def631c2 | 15 | //停止 |
tsubasa_nakajima | 1:bb89b58cfa0e | 16 | void stop(){ |
tsubasa_nakajima | 1:bb89b58cfa0e | 17 | servo1 = 0.5; |
tsubasa_nakajima | 1:bb89b58cfa0e | 18 | servo2 = 0.5; |
tsubasa_nakajima | 1:bb89b58cfa0e | 19 | servo3 = 0.5; |
tsubasa_nakajima | 1:bb89b58cfa0e | 20 | servo4 = 0.5; |
tsubasa_nakajima | 1:bb89b58cfa0e | 21 | servo5 = 0.5; |
tsubasa_nakajima | 1:bb89b58cfa0e | 22 | servo6 = 0.5; |
tsubasa_nakajima | 1:bb89b58cfa0e | 23 | wait(1); |
minanao | 0:e7b7def631c2 | 24 | } |
minanao | 0:e7b7def631c2 | 25 | |
minanao | 0:e7b7def631c2 | 26 | //前進 |
tsubasa_nakajima | 1:bb89b58cfa0e | 27 | void move_forward(int time = 20) |
minanao | 0:e7b7def631c2 | 28 | { |
tsubasa_nakajima | 1:bb89b58cfa0e | 29 | servo1 = 0; |
tsubasa_nakajima | 1:bb89b58cfa0e | 30 | servo2 = 0; |
tsubasa_nakajima | 1:bb89b58cfa0e | 31 | servo3 = 0; |
tsubasa_nakajima | 1:bb89b58cfa0e | 32 | servo4 = 0; |
tsubasa_nakajima | 1:bb89b58cfa0e | 33 | servo5 = 0; |
tsubasa_nakajima | 1:bb89b58cfa0e | 34 | servo6 = 0; |
tsubasa_nakajima | 1:bb89b58cfa0e | 35 | wait(time); |
minanao | 0:e7b7def631c2 | 36 | } |
minanao | 0:e7b7def631c2 | 37 | |
minanao | 0:e7b7def631c2 | 38 | //後退 |
minanao | 0:e7b7def631c2 | 39 | void move_backward() |
minanao | 0:e7b7def631c2 | 40 | { |
tsubasa_nakajima | 1:bb89b58cfa0e | 41 | servo1 = 1; |
tsubasa_nakajima | 1:bb89b58cfa0e | 42 | servo2 = 1; |
tsubasa_nakajima | 1:bb89b58cfa0e | 43 | servo3 = 1; |
tsubasa_nakajima | 1:bb89b58cfa0e | 44 | servo4 = 1; |
tsubasa_nakajima | 1:bb89b58cfa0e | 45 | servo5 = 1; |
tsubasa_nakajima | 1:bb89b58cfa0e | 46 | servo6 = 1; |
tsubasa_nakajima | 1:bb89b58cfa0e | 47 | wait(5); |
minanao | 0:e7b7def631c2 | 48 | } |
minanao | 0:e7b7def631c2 | 49 | |
minanao | 0:e7b7def631c2 | 50 | //右に曲がる |
tsubasa_nakajima | 1:bb89b58cfa0e | 51 | void turn_right(int theta = 15) |
minanao | 0:e7b7def631c2 | 52 | { |
tsubasa_nakajima | 1:bb89b58cfa0e | 53 | servo1 = 1; |
tsubasa_nakajima | 1:bb89b58cfa0e | 54 | servo2 = 1; |
tsubasa_nakajima | 1:bb89b58cfa0e | 55 | servo3 = 1; |
tsubasa_nakajima | 1:bb89b58cfa0e | 56 | servo4 = 0; |
tsubasa_nakajima | 1:bb89b58cfa0e | 57 | servo5 = 0; |
tsubasa_nakajima | 1:bb89b58cfa0e | 58 | servo6 = 0; |
tsubasa_nakajima | 1:bb89b58cfa0e | 59 | wait(theta/15); |
minanao | 0:e7b7def631c2 | 60 | } |
minanao | 0:e7b7def631c2 | 61 | |
minanao | 0:e7b7def631c2 | 62 | //左に曲がる |
tsubasa_nakajima | 1:bb89b58cfa0e | 63 | void turn_left(int theta = 15) |
minanao | 0:e7b7def631c2 | 64 | { |
tsubasa_nakajima | 1:bb89b58cfa0e | 65 | servo1 = 0; |
tsubasa_nakajima | 1:bb89b58cfa0e | 66 | servo2 = 0; |
tsubasa_nakajima | 1:bb89b58cfa0e | 67 | servo3 = 0; |
tsubasa_nakajima | 1:bb89b58cfa0e | 68 | servo4 = 1; |
tsubasa_nakajima | 1:bb89b58cfa0e | 69 | servo5 = 1; |
tsubasa_nakajima | 1:bb89b58cfa0e | 70 | servo6 = 1; |
tsubasa_nakajima | 1:bb89b58cfa0e | 71 | wait(theta/15); |
minanao | 0:e7b7def631c2 | 72 | } |
minanao | 0:e7b7def631c2 | 73 | |
tsubasa_nakajima | 1:bb89b58cfa0e | 74 | //倒れているときの処理 |
tsubasa_nakajima | 1:bb89b58cfa0e | 75 | void wakeup(int time) |
tsubasa_nakajima | 1:bb89b58cfa0e | 76 | { |
tsubasa_nakajima | 1:bb89b58cfa0e | 77 | int i; |
tsubasa_nakajima | 1:bb89b58cfa0e | 78 | for(i=1;i<=time;i++) |
tsubasa_nakajima | 1:bb89b58cfa0e | 79 | { |
tsubasa_nakajima | 1:bb89b58cfa0e | 80 | move_forward(5); |
tsubasa_nakajima | 1:bb89b58cfa0e | 81 | move_backward(); |
tsubasa_nakajima | 1:bb89b58cfa0e | 82 | turn_right(); |
tsubasa_nakajima | 1:bb89b58cfa0e | 83 | turn_left(); |
tsubasa_nakajima | 1:bb89b58cfa0e | 84 | } |
minanao | 0:e7b7def631c2 | 85 | }; |