Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@0:8c2066de0d07, 2019-03-15 (annotated)
- Committer:
- whutsup
- Date:
- Fri Mar 15 05:14:11 2019 +0000
- Revision:
- 0:8c2066de0d07
tubee;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
whutsup | 0:8c2066de0d07 | 1 | #include "mbed.h" |
whutsup | 0:8c2066de0d07 | 2 | #define Debug |
whutsup | 0:8c2066de0d07 | 3 | |
whutsup | 0:8c2066de0d07 | 4 | Serial pc(USBTX, USBRX); |
whutsup | 0:8c2066de0d07 | 5 | |
whutsup | 0:8c2066de0d07 | 6 | AnalogIn LeftRight(PA_1); |
whutsup | 0:8c2066de0d07 | 7 | AnalogIn FrontBack(PA_0); |
whutsup | 0:8c2066de0d07 | 8 | |
whutsup | 0:8c2066de0d07 | 9 | |
whutsup | 0:8c2066de0d07 | 10 | PwmOut Wheel_L(PA_3); |
whutsup | 0:8c2066de0d07 | 11 | PwmOut Wheel_R(PA_4); |
whutsup | 0:8c2066de0d07 | 12 | DigitalOut Reverse_L(PB_5); |
whutsup | 0:8c2066de0d07 | 13 | DigitalOut Reverse_R(PB_4); |
whutsup | 0:8c2066de0d07 | 14 | DigitalOut re_L(PA_5); |
whutsup | 0:8c2066de0d07 | 15 | DigitalOut re_R(PA_6); |
whutsup | 0:8c2066de0d07 | 16 | |
whutsup | 0:8c2066de0d07 | 17 | void turn() |
whutsup | 0:8c2066de0d07 | 18 | { |
whutsup | 0:8c2066de0d07 | 19 | re_R = 0; |
whutsup | 0:8c2066de0d07 | 20 | re_L = 0; |
whutsup | 0:8c2066de0d07 | 21 | |
whutsup | 0:8c2066de0d07 | 22 | wait(0.1); |
whutsup | 0:8c2066de0d07 | 23 | |
whutsup | 0:8c2066de0d07 | 24 | re_R = 1; |
whutsup | 0:8c2066de0d07 | 25 | re_L = 1; |
whutsup | 0:8c2066de0d07 | 26 | |
whutsup | 0:8c2066de0d07 | 27 | } |
whutsup | 0:8c2066de0d07 | 28 | |
whutsup | 0:8c2066de0d07 | 29 | int main() |
whutsup | 0:8c2066de0d07 | 30 | { |
whutsup | 0:8c2066de0d07 | 31 | pc.baud(115200); |
whutsup | 0:8c2066de0d07 | 32 | |
whutsup | 0:8c2066de0d07 | 33 | Wheel_L.period(0.0001); |
whutsup | 0:8c2066de0d07 | 34 | Wheel_R.period(0.0001); |
whutsup | 0:8c2066de0d07 | 35 | |
whutsup | 0:8c2066de0d07 | 36 | |
whutsup | 0:8c2066de0d07 | 37 | while(1) |
whutsup | 0:8c2066de0d07 | 38 | { |
whutsup | 0:8c2066de0d07 | 39 | |
whutsup | 0:8c2066de0d07 | 40 | |
whutsup | 0:8c2066de0d07 | 41 | float a = 10*LeftRight.read(); |
whutsup | 0:8c2066de0d07 | 42 | float b = 10*FrontBack.read(); |
whutsup | 0:8c2066de0d07 | 43 | |
whutsup | 0:8c2066de0d07 | 44 | |
whutsup | 0:8c2066de0d07 | 45 | |
whutsup | 0:8c2066de0d07 | 46 | if(a>4 && a<8) |
whutsup | 0:8c2066de0d07 | 47 | { |
whutsup | 0:8c2066de0d07 | 48 | if(b>5) // Front |
whutsup | 0:8c2066de0d07 | 49 | { |
whutsup | 0:8c2066de0d07 | 50 | |
whutsup | 0:8c2066de0d07 | 51 | |
whutsup | 0:8c2066de0d07 | 52 | Reverse_R = 1; |
whutsup | 0:8c2066de0d07 | 53 | Reverse_L = 1; |
whutsup | 0:8c2066de0d07 | 54 | |
whutsup | 0:8c2066de0d07 | 55 | Wheel_L=0.41f; |
whutsup | 0:8c2066de0d07 | 56 | Wheel_R=0.41f; |
whutsup | 0:8c2066de0d07 | 57 | |
whutsup | 0:8c2066de0d07 | 58 | wait(0.3); |
whutsup | 0:8c2066de0d07 | 59 | |
whutsup | 0:8c2066de0d07 | 60 | turn(); |
whutsup | 0:8c2066de0d07 | 61 | turn(); |
whutsup | 0:8c2066de0d07 | 62 | |
whutsup | 0:8c2066de0d07 | 63 | |
whutsup | 0:8c2066de0d07 | 64 | } |
whutsup | 0:8c2066de0d07 | 65 | else if(b<2) // back |
whutsup | 0:8c2066de0d07 | 66 | { |
whutsup | 0:8c2066de0d07 | 67 | |
whutsup | 0:8c2066de0d07 | 68 | Reverse_R = 0; |
whutsup | 0:8c2066de0d07 | 69 | Reverse_L = 0; |
whutsup | 0:8c2066de0d07 | 70 | |
whutsup | 0:8c2066de0d07 | 71 | Wheel_L=0.41f; |
whutsup | 0:8c2066de0d07 | 72 | Wheel_R=0.41f; |
whutsup | 0:8c2066de0d07 | 73 | |
whutsup | 0:8c2066de0d07 | 74 | wait(0.3); |
whutsup | 0:8c2066de0d07 | 75 | |
whutsup | 0:8c2066de0d07 | 76 | turn(); |
whutsup | 0:8c2066de0d07 | 77 | turn(); |
whutsup | 0:8c2066de0d07 | 78 | |
whutsup | 0:8c2066de0d07 | 79 | |
whutsup | 0:8c2066de0d07 | 80 | |
whutsup | 0:8c2066de0d07 | 81 | } |
whutsup | 0:8c2066de0d07 | 82 | } |
whutsup | 0:8c2066de0d07 | 83 | |
whutsup | 0:8c2066de0d07 | 84 | else if(a>8) // left |
whutsup | 0:8c2066de0d07 | 85 | { |
whutsup | 0:8c2066de0d07 | 86 | |
whutsup | 0:8c2066de0d07 | 87 | Reverse_R = 1; |
whutsup | 0:8c2066de0d07 | 88 | Reverse_L = 0; |
whutsup | 0:8c2066de0d07 | 89 | |
whutsup | 0:8c2066de0d07 | 90 | Wheel_L=0.4f; |
whutsup | 0:8c2066de0d07 | 91 | Wheel_R=0.43f; |
whutsup | 0:8c2066de0d07 | 92 | |
whutsup | 0:8c2066de0d07 | 93 | wait(0.3); |
whutsup | 0:8c2066de0d07 | 94 | |
whutsup | 0:8c2066de0d07 | 95 | turn(); |
whutsup | 0:8c2066de0d07 | 96 | |
whutsup | 0:8c2066de0d07 | 97 | |
whutsup | 0:8c2066de0d07 | 98 | |
whutsup | 0:8c2066de0d07 | 99 | } |
whutsup | 0:8c2066de0d07 | 100 | |
whutsup | 0:8c2066de0d07 | 101 | else if(a<4) // Right |
whutsup | 0:8c2066de0d07 | 102 | { |
whutsup | 0:8c2066de0d07 | 103 | |
whutsup | 0:8c2066de0d07 | 104 | Reverse_R = 0; |
whutsup | 0:8c2066de0d07 | 105 | Reverse_L = 1; |
whutsup | 0:8c2066de0d07 | 106 | |
whutsup | 0:8c2066de0d07 | 107 | Wheel_L=0.43f; |
whutsup | 0:8c2066de0d07 | 108 | Wheel_R=0.4f; |
whutsup | 0:8c2066de0d07 | 109 | |
whutsup | 0:8c2066de0d07 | 110 | wait(0.3); |
whutsup | 0:8c2066de0d07 | 111 | |
whutsup | 0:8c2066de0d07 | 112 | turn(); |
whutsup | 0:8c2066de0d07 | 113 | } |
whutsup | 0:8c2066de0d07 | 114 | |
whutsup | 0:8c2066de0d07 | 115 | else |
whutsup | 0:8c2066de0d07 | 116 | |
whutsup | 0:8c2066de0d07 | 117 | { |
whutsup | 0:8c2066de0d07 | 118 | Wheel_L=0; |
whutsup | 0:8c2066de0d07 | 119 | Wheel_R=0; |
whutsup | 0:8c2066de0d07 | 120 | |
whutsup | 0:8c2066de0d07 | 121 | } |
whutsup | 0:8c2066de0d07 | 122 | |
whutsup | 0:8c2066de0d07 | 123 | int c= re_L; |
whutsup | 0:8c2066de0d07 | 124 | int d= re_R; |
whutsup | 0:8c2066de0d07 | 125 | pc.printf("%1.3f,%1.3f ,%d, %d \n", a, b, c, d); |
whutsup | 0:8c2066de0d07 | 126 | wait(0.1); |
whutsup | 0:8c2066de0d07 | 127 | |
whutsup | 0:8c2066de0d07 | 128 | |
whutsup | 0:8c2066de0d07 | 129 | } |
whutsup | 0:8c2066de0d07 | 130 | } |