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
TechMoveDXC.cpp@5:8e6570af1138, 2015-04-21 (annotated)
- Committer:
- IKn0Ww
- Date:
- Tue Apr 21 12:54:42 2015 +0000
- Revision:
- 5:8e6570af1138
- Parent:
- 4:bd3bfbaa33bd
nieuwe versie (beta)
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| IKn0Ww | 0:6082686b6a61 | 1 | #include "mbed.h" |
| IKn0Ww | 0:6082686b6a61 | 2 | |
| IKn0Ww | 1:685f9717028d | 3 | DigitalIn K1 (dp25); //Keuzeschakelaar stand 1: Sumo. |
| IKn0Ww | 5:8e6570af1138 | 4 | DigitalIn K2 (dp17); //Keuzeschakelaar stand 2: Straight line. |
| IKn0Ww | 1:685f9717028d | 5 | DigitalIn K3 (dp26); //Keuzeschakelaar stand 3: Service. |
| IKn0Ww | 1:685f9717028d | 6 | |
| IKn0Ww | 5:8e6570af1138 | 7 | AnalogIn SLV (dp9); //Sensor links voor. |
| IKn0Ww | 1:685f9717028d | 8 | AnalogIn SRV (dp10); //Sensor rechts voor. |
| IKn0Ww | 5:8e6570af1138 | 9 | AnalogIn SA (dp11); //Sensor achter. |
| IKn0Ww | 5:8e6570af1138 | 10 | AnalogIn SML (dp4); //Sensor motor links. |
| IKn0Ww | 5:8e6570af1138 | 11 | AnalogIn SMR (dp13); //Sensor motor rechts. |
| IKn0Ww | 1:685f9717028d | 12 | |
| IKn0Ww | 1:685f9717028d | 13 | DigitalOut MLL (dp5); //Draairichting linker motor linksom. |
| IKn0Ww | 1:685f9717028d | 14 | DigitalOut MLR (dp6); //Draairichting linker motor rechtsom. |
| IKn0Ww | 1:685f9717028d | 15 | DigitalOut MRL (dp1); //Draairichting rechter motor linksom. |
| IKn0Ww | 1:685f9717028d | 16 | DigitalOut MRR (dp24); //Draairichting rechter motor rechtsom. |
| IKn0Ww | 1:685f9717028d | 17 | DigitalOut LED (dp28); //Indicatie LED. |
| IKn0Ww | 1:685f9717028d | 18 | |
| IKn0Ww | 1:685f9717028d | 19 | PwmOut ML (dp18); //PWM-signaal voor de linker motor. |
| IKn0Ww | 1:685f9717028d | 20 | PwmOut MR (dp2); //PWM-signaal voor de rechter motor. |
| IKn0Ww | 1:685f9717028d | 21 | |
| IKn0Ww | 3:381aaa338447 | 22 | Serial pc(USBTX, USBRX); //Gebruik consol. |
| IKn0Ww | 3:381aaa338447 | 23 | |
| IKn0Ww | 1:685f9717028d | 24 | int main() |
| IKn0Ww | 1:685f9717028d | 25 | { |
| IKn0Ww | 2:a12d19da681a | 26 | int n = 0; //Variabel voor de straight line stand. |
| IKn0Ww | 5:8e6570af1138 | 27 | float f1; |
| IKn0Ww | 5:8e6570af1138 | 28 | float f2; |
| IKn0Ww | 5:8e6570af1138 | 29 | float f3; |
| IKn0Ww | 5:8e6570af1138 | 30 | float f4; |
| IKn0Ww | 5:8e6570af1138 | 31 | float f5; |
| IKn0Ww | 2:a12d19da681a | 32 | MLL = false; |
| IKn0Ww | 2:a12d19da681a | 33 | MLR = false; |
| IKn0Ww | 2:a12d19da681a | 34 | MRL = false; |
| IKn0Ww | 2:a12d19da681a | 35 | MRR = false; |
| IKn0Ww | 2:a12d19da681a | 36 | LED = false; |
| IKn0Ww | 2:a12d19da681a | 37 | MR = 0; |
| IKn0Ww | 2:a12d19da681a | 38 | ML = 0; |
| IKn0Ww | 5:8e6570af1138 | 39 | while (1) |
| IKn0Ww | 3:381aaa338447 | 40 | { |
| IKn0Ww | 5:8e6570af1138 | 41 | while (K1) //Sumo stand. |
| IKn0Ww | 2:a12d19da681a | 42 | { |
| IKn0Ww | 5:8e6570af1138 | 43 | n = 0; |
| IKn0Ww | 5:8e6570af1138 | 44 | f1 = SLV.read(); |
| IKn0Ww | 5:8e6570af1138 | 45 | f2 = SRV.read(); |
| IKn0Ww | 5:8e6570af1138 | 46 | f3 = SA.read(); |
| IKn0Ww | 5:8e6570af1138 | 47 | f4 = SML.read(); |
| IKn0Ww | 5:8e6570af1138 | 48 | f5 = SMR.read(); |
| IKn0Ww | 5:8e6570af1138 | 49 | LED = true; |
| IKn0Ww | 3:381aaa338447 | 50 | MLL = true; |
| IKn0Ww | 3:381aaa338447 | 51 | MLR = false; |
| IKn0Ww | 3:381aaa338447 | 52 | MRL = false; |
| IKn0Ww | 3:381aaa338447 | 53 | MRR = true; |
| IKn0Ww | 5:8e6570af1138 | 54 | MR = 0.8; |
| IKn0Ww | 5:8e6570af1138 | 55 | ML = 0.8; |
| IKn0Ww | 5:8e6570af1138 | 56 | if (f1 > 0); //Waarde sensor links voor. (AANPASSEN) |
| IKn0Ww | 5:8e6570af1138 | 57 | { |
| IKn0Ww | 5:8e6570af1138 | 58 | MLL = true; |
| IKn0Ww | 5:8e6570af1138 | 59 | MLR = false; |
| IKn0Ww | 5:8e6570af1138 | 60 | MRL = true; |
| IKn0Ww | 5:8e6570af1138 | 61 | MRR = false; |
| IKn0Ww | 5:8e6570af1138 | 62 | MR = 0.8; |
| IKn0Ww | 5:8e6570af1138 | 63 | ML = 0.5; |
| IKn0Ww | 5:8e6570af1138 | 64 | wait (1); //Duur van de bocht. (AANPASSEN) |
| IKn0Ww | 5:8e6570af1138 | 65 | } |
| IKn0Ww | 5:8e6570af1138 | 66 | if (f2 > 0); //Waarde sensor rechts voor. (AANPASSEN) |
| IKn0Ww | 5:8e6570af1138 | 67 | { |
| IKn0Ww | 5:8e6570af1138 | 68 | MLL = false; |
| IKn0Ww | 5:8e6570af1138 | 69 | MLR = true; |
| IKn0Ww | 5:8e6570af1138 | 70 | MRL = false; |
| IKn0Ww | 5:8e6570af1138 | 71 | MRR = true; |
| IKn0Ww | 5:8e6570af1138 | 72 | MR = 0.5; |
| IKn0Ww | 5:8e6570af1138 | 73 | ML = 0.8; |
| IKn0Ww | 5:8e6570af1138 | 74 | wait (1); //Duur van de bocht. (AANPASSEN) |
| IKn0Ww | 5:8e6570af1138 | 75 | } |
| IKn0Ww | 5:8e6570af1138 | 76 | if (f3 > 0); //Waarde sensor achter. (AANPASSEN) |
| IKn0Ww | 5:8e6570af1138 | 77 | { |
| IKn0Ww | 5:8e6570af1138 | 78 | MLL = true; |
| IKn0Ww | 5:8e6570af1138 | 79 | MLR = false; |
| IKn0Ww | 5:8e6570af1138 | 80 | MRL = false; |
| IKn0Ww | 5:8e6570af1138 | 81 | MRR = true; |
| IKn0Ww | 5:8e6570af1138 | 82 | MR = 1; |
| IKn0Ww | 5:8e6570af1138 | 83 | ML = 1; |
| IKn0Ww | 5:8e6570af1138 | 84 | wait (0.5); //Duur van de bocht. (AANPASSEN) |
| IKn0Ww | 5:8e6570af1138 | 85 | } |
| IKn0Ww | 5:8e6570af1138 | 86 | if (f4 > 0); //Waarde sensor motor links. (AANPASSEN) |
| IKn0Ww | 5:8e6570af1138 | 87 | { |
| IKn0Ww | 5:8e6570af1138 | 88 | MLL = true; |
| IKn0Ww | 5:8e6570af1138 | 89 | MLR = false; |
| IKn0Ww | 5:8e6570af1138 | 90 | MRL = false; |
| IKn0Ww | 5:8e6570af1138 | 91 | MRR = true; |
| IKn0Ww | 5:8e6570af1138 | 92 | MR = 0.5; |
| IKn0Ww | 5:8e6570af1138 | 93 | ML = 0.5; |
| IKn0Ww | 5:8e6570af1138 | 94 | wait (0.5); //Duur van de bocht. (AANPASSEN) |
| IKn0Ww | 5:8e6570af1138 | 95 | } |
| IKn0Ww | 5:8e6570af1138 | 96 | if (f5 > 0); //Waarde sensor motor rechts. (AANPASSEN) |
| IKn0Ww | 5:8e6570af1138 | 97 | { |
| IKn0Ww | 5:8e6570af1138 | 98 | MLL = true; |
| IKn0Ww | 5:8e6570af1138 | 99 | MLR = false; |
| IKn0Ww | 5:8e6570af1138 | 100 | MRL = false; |
| IKn0Ww | 5:8e6570af1138 | 101 | MRR = true; |
| IKn0Ww | 5:8e6570af1138 | 102 | MR = 0.5; |
| IKn0Ww | 5:8e6570af1138 | 103 | ML = 0.5; |
| IKn0Ww | 5:8e6570af1138 | 104 | wait (0.5); //Duur van de bocht. (AANPASSEN) |
| IKn0Ww | 5:8e6570af1138 | 105 | } |
| IKn0Ww | 5:8e6570af1138 | 106 | } |
| IKn0Ww | 5:8e6570af1138 | 107 | while (K2) //Straight line stand. |
| IKn0Ww | 5:8e6570af1138 | 108 | { |
| IKn0Ww | 5:8e6570af1138 | 109 | LED = !LED; |
| IKn0Ww | 5:8e6570af1138 | 110 | n += 1; |
| IKn0Ww | 5:8e6570af1138 | 111 | if (n == 6) |
| IKn0Ww | 5:8e6570af1138 | 112 | { |
| IKn0Ww | 5:8e6570af1138 | 113 | MLL = true; |
| IKn0Ww | 5:8e6570af1138 | 114 | MLR = false; |
| IKn0Ww | 5:8e6570af1138 | 115 | MRL = false; |
| IKn0Ww | 5:8e6570af1138 | 116 | MRR = true; |
| IKn0Ww | 5:8e6570af1138 | 117 | MR = 1.0; |
| IKn0Ww | 5:8e6570af1138 | 118 | ML = 1.0; |
| IKn0Ww | 5:8e6570af1138 | 119 | wait (0); //Tijd van het rijden. (AANPASSEN) |
| IKn0Ww | 5:8e6570af1138 | 120 | MLL = false; |
| IKn0Ww | 5:8e6570af1138 | 121 | MLR = false; |
| IKn0Ww | 5:8e6570af1138 | 122 | MRL = false; |
| IKn0Ww | 5:8e6570af1138 | 123 | MRR = false; |
| IKn0Ww | 5:8e6570af1138 | 124 | MR = 0; |
| IKn0Ww | 5:8e6570af1138 | 125 | ML = 0; |
| IKn0Ww | 5:8e6570af1138 | 126 | } |
| IKn0Ww | 5:8e6570af1138 | 127 | wait (0.5); |
| IKn0Ww | 5:8e6570af1138 | 128 | } |
| IKn0Ww | 5:8e6570af1138 | 129 | while (K3) //Service stand. |
| IKn0Ww | 5:8e6570af1138 | 130 | { |
| IKn0Ww | 5:8e6570af1138 | 131 | n = 0; |
| IKn0Ww | 5:8e6570af1138 | 132 | LED = false; |
| IKn0Ww | 5:8e6570af1138 | 133 | wait (10); |
| IKn0Ww | 5:8e6570af1138 | 134 | LED = true; |
| IKn0Ww | 5:8e6570af1138 | 135 | float f1 = SLV.read(); |
| IKn0Ww | 5:8e6570af1138 | 136 | float f2 = SRV.read(); |
| IKn0Ww | 5:8e6570af1138 | 137 | float f3 = SA.read(); |
| IKn0Ww | 5:8e6570af1138 | 138 | pc.printf("Waarde sensor links voor: %.6f\n", f1); //verstuur de waarde van sensor links voor naar het consol |
| IKn0Ww | 5:8e6570af1138 | 139 | pc.printf("Waarde sensor rechts voor: %.6f\n", f2); //verstuur de waarde van sensor rechts voor naar het consol |
| IKn0Ww | 5:8e6570af1138 | 140 | pc.printf("Waarde sensor links achter: %.6f\n", f3); //verstuur de waarde van sensor achter naar het consol |
| IKn0Ww | 5:8e6570af1138 | 141 | wait (0.5); |
| IKn0Ww | 3:381aaa338447 | 142 | } |
| IKn0Ww | 3:381aaa338447 | 143 | } |
| IKn0Ww | 1:685f9717028d | 144 | } |