修正済みby皆川
Dependencies: mbed Servo cansat_integrated_2 BMP180
Dependents: cansat_integrated_2
Movement.cpp@12:79946f960100, 2021-11-05 (annotated)
- Committer:
- tsubasa_nakajima
- Date:
- Fri Nov 05 15:41:24 2021 +0000
- Revision:
- 12:79946f960100
- Parent:
- 11:8d21db3e64f5
- Child:
- 13:c482c4d7a585
a
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tsubasa_nakajima | 8:7209c810309d | 1 | #include "mbed.h" |
tsubasa_nakajima | 8:7209c810309d | 2 | #include "Servo.h" |
tsubasa_nakajima | 8:7209c810309d | 3 | #include "Movement.h" |
tsubasa_nakajima | 8:7209c810309d | 4 | |
tsubasa_nakajima | 8:7209c810309d | 5 | Servo servo1(D7); |
tsubasa_nakajima | 8:7209c810309d | 6 | Servo servo2(A3); |
tsubasa_nakajima | 8:7209c810309d | 7 | Servo servo3(A1); |
tsubasa_nakajima | 8:7209c810309d | 8 | Servo servo4(D12); |
tsubasa_nakajima | 8:7209c810309d | 9 | Servo servo5(D10); |
tsubasa_nakajima | 8:7209c810309d | 10 | Servo servo6(A5); |
tsubasa_nakajima | 8:7209c810309d | 11 | |
tsubasa_nakajima | 8:7209c810309d | 12 | void Movement::stop(){ |
tsubasa_nakajima | 8:7209c810309d | 13 | servo1 = 0.5; |
tsubasa_nakajima | 8:7209c810309d | 14 | servo2 = 0.5; |
tsubasa_nakajima | 8:7209c810309d | 15 | servo3 = 0.5; |
tsubasa_nakajima | 8:7209c810309d | 16 | servo4 = 0.5; |
tsubasa_nakajima | 8:7209c810309d | 17 | servo5 = 0.5; |
tsubasa_nakajima | 8:7209c810309d | 18 | servo6 = 0.5; |
tsubasa_nakajima | 8:7209c810309d | 19 | wait(1); |
tsubasa_nakajima | 8:7209c810309d | 20 | } |
tsubasa_nakajima | 8:7209c810309d | 21 | |
tsubasa_nakajima | 8:7209c810309d | 22 | //前進 |
tsubasa_nakajima | 8:7209c810309d | 23 | void Movement::move_forward(int time = 20) |
tsubasa_nakajima | 8:7209c810309d | 24 | { |
tsubasa_nakajima | 8:7209c810309d | 25 | servo1 = 0; |
tsubasa_nakajima | 8:7209c810309d | 26 | servo2 = 0; |
tsubasa_nakajima | 8:7209c810309d | 27 | servo3 = 0; |
tsubasa_nakajima | 8:7209c810309d | 28 | servo4 = 0; |
tsubasa_nakajima | 8:7209c810309d | 29 | servo5 = 0; |
tsubasa_nakajima | 8:7209c810309d | 30 | servo6 = 0; |
tsubasa_nakajima | 8:7209c810309d | 31 | wait(time); |
tsubasa_nakajima | 8:7209c810309d | 32 | } |
tsubasa_nakajima | 8:7209c810309d | 33 | |
tsubasa_nakajima | 8:7209c810309d | 34 | //後退 |
tsubasa_nakajima | 8:7209c810309d | 35 | void Movement::move_backward() |
tsubasa_nakajima | 8:7209c810309d | 36 | { |
tsubasa_nakajima | 8:7209c810309d | 37 | servo1 = 1; |
tsubasa_nakajima | 8:7209c810309d | 38 | servo2 = 1; |
tsubasa_nakajima | 8:7209c810309d | 39 | servo3 = 1; |
tsubasa_nakajima | 8:7209c810309d | 40 | servo4 = 1; |
tsubasa_nakajima | 8:7209c810309d | 41 | servo5 = 1; |
tsubasa_nakajima | 8:7209c810309d | 42 | servo6 = 1; |
tsubasa_nakajima | 8:7209c810309d | 43 | wait(5); |
tsubasa_nakajima | 8:7209c810309d | 44 | } |
tsubasa_nakajima | 8:7209c810309d | 45 | |
tsubasa_nakajima | 8:7209c810309d | 46 | //右に曲がる |
tsubasa_nakajima | 8:7209c810309d | 47 | void Movement::turn_right(int theta = 15) |
tsubasa_nakajima | 8:7209c810309d | 48 | { |
tsubasa_nakajima | 8:7209c810309d | 49 | servo1 = 1; |
tsubasa_nakajima | 8:7209c810309d | 50 | servo2 = 1; |
tsubasa_nakajima | 8:7209c810309d | 51 | servo3 = 1; |
tsubasa_nakajima | 8:7209c810309d | 52 | servo4 = 0; |
tsubasa_nakajima | 8:7209c810309d | 53 | servo5 = 0; |
tsubasa_nakajima | 8:7209c810309d | 54 | servo6 = 0; |
tsubasa_nakajima | 12:79946f960100 | 55 | wait(abs(theta)/15); |
tsubasa_nakajima | 8:7209c810309d | 56 | } |
tsubasa_nakajima | 8:7209c810309d | 57 | |
tsubasa_nakajima | 8:7209c810309d | 58 | //左に曲がる |
tsubasa_nakajima | 8:7209c810309d | 59 | void Movement::turn_left(int theta = 15) |
tsubasa_nakajima | 8:7209c810309d | 60 | { |
tsubasa_nakajima | 8:7209c810309d | 61 | servo1 = 0; |
tsubasa_nakajima | 8:7209c810309d | 62 | servo2 = 0; |
tsubasa_nakajima | 8:7209c810309d | 63 | servo3 = 0; |
tsubasa_nakajima | 8:7209c810309d | 64 | servo4 = 1; |
tsubasa_nakajima | 8:7209c810309d | 65 | servo5 = 1; |
tsubasa_nakajima | 8:7209c810309d | 66 | servo6 = 1; |
tsubasa_nakajima | 11:8d21db3e64f5 | 67 | wait(abs(theta)/15); |
tsubasa_nakajima | 8:7209c810309d | 68 | } |
tsubasa_nakajima | 8:7209c810309d | 69 | |
tsubasa_nakajima | 8:7209c810309d | 70 | //倒れているときの処理 |
tsubasa_nakajima | 8:7209c810309d | 71 | void Movement::wakeup(int time){ |
tsubasa_nakajima | 8:7209c810309d | 72 | for(int i=1;i<=time;i++) |
tsubasa_nakajima | 8:7209c810309d | 73 | { |
tsubasa_nakajima | 8:7209c810309d | 74 | move_forward(5); |
tsubasa_nakajima | 8:7209c810309d | 75 | move_backward(); |
tsubasa_nakajima | 8:7209c810309d | 76 | turn_right(); |
tsubasa_nakajima | 8:7209c810309d | 77 | turn_left(); |
tsubasa_nakajima | 8:7209c810309d | 78 | } |
tsubasa_nakajima | 8:7209c810309d | 79 | } |