TechMove / Mbed 2 deprecated TechMoveDXC

Dependencies:   mbed

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?

UserRevisionLine numberNew 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 }