TechMove / Mbed 2 deprecated TechMoveDXC

Dependencies:   mbed

Committer:
IKn0Ww
Date:
Sat Apr 18 13:15:50 2015 +0000
Revision:
4:bd3bfbaa33bd
Parent:
3:381aaa338447
Child:
5:8e6570af1138
Complete versie 1.2 (alpha)

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 1:685f9717028d 4 DigitalIn K2 (dp16); //Keuzeschakelaar stand 2: Straight line.
IKn0Ww 1:685f9717028d 5 DigitalIn K3 (dp26); //Keuzeschakelaar stand 3: Service.
IKn0Ww 1:685f9717028d 6
IKn0Ww 1:685f9717028d 7 AnalogIn SLV (dp9); //Sensor links voor.
IKn0Ww 1:685f9717028d 8 AnalogIn SRV (dp10); //Sensor rechts voor.
IKn0Ww 1:685f9717028d 9 AnalogIn SLA (dp11); //Sensor links achter.
IKn0Ww 1:685f9717028d 10 AnalogIn SRA (dp13); //Sensor rechts achter.
IKn0Ww 1:685f9717028d 11
IKn0Ww 1:685f9717028d 12 DigitalOut MLL (dp5); //Draairichting linker motor linksom.
IKn0Ww 1:685f9717028d 13 DigitalOut MLR (dp6); //Draairichting linker motor rechtsom.
IKn0Ww 1:685f9717028d 14 DigitalOut MRL (dp1); //Draairichting rechter motor linksom.
IKn0Ww 1:685f9717028d 15 DigitalOut MRR (dp24); //Draairichting rechter motor rechtsom.
IKn0Ww 1:685f9717028d 16 DigitalOut LED (dp28); //Indicatie LED.
IKn0Ww 1:685f9717028d 17
IKn0Ww 1:685f9717028d 18 PwmOut ML (dp18); //PWM-signaal voor de linker motor.
IKn0Ww 1:685f9717028d 19 PwmOut MR (dp2); //PWM-signaal voor de rechter motor.
IKn0Ww 1:685f9717028d 20
IKn0Ww 3:381aaa338447 21 Serial pc(USBTX, USBRX); //Gebruik consol.
IKn0Ww 3:381aaa338447 22
IKn0Ww 1:685f9717028d 23 int main()
IKn0Ww 1:685f9717028d 24 {
IKn0Ww 3:381aaa338447 25 float f1 = SLV.read();
IKn0Ww 3:381aaa338447 26 float f2 = SRV.read();
IKn0Ww 3:381aaa338447 27 float f3 = SLA.read();
IKn0Ww 3:381aaa338447 28 float f4 = SRA.read();
IKn0Ww 2:a12d19da681a 29 int n = 0; //Variabel voor de straight line stand.
IKn0Ww 2:a12d19da681a 30 MLL = false;
IKn0Ww 2:a12d19da681a 31 MLR = false;
IKn0Ww 2:a12d19da681a 32 MRL = false;
IKn0Ww 2:a12d19da681a 33 MRR = false;
IKn0Ww 2:a12d19da681a 34 LED = false;
IKn0Ww 2:a12d19da681a 35 MR = 0;
IKn0Ww 2:a12d19da681a 36 ML = 0;
IKn0Ww 2:a12d19da681a 37 while (K1) //Sumo stand.
IKn0Ww 3:381aaa338447 38 {
IKn0Ww 3:381aaa338447 39 n = 0;
IKn0Ww 3:381aaa338447 40 LED = true;
IKn0Ww 3:381aaa338447 41 MLL = true;
IKn0Ww 3:381aaa338447 42 MLR = false;
IKn0Ww 3:381aaa338447 43 MRL = false;
IKn0Ww 3:381aaa338447 44 MRR = true;
IKn0Ww 3:381aaa338447 45 MR = 0.8;
IKn0Ww 3:381aaa338447 46 ML = 0.8;
IKn0Ww 3:381aaa338447 47 if (f1 > 0); //Waarde sensor links voor. (AANPASSEN)
IKn0Ww 2:a12d19da681a 48 {
IKn0Ww 3:381aaa338447 49 MLL = true;
IKn0Ww 3:381aaa338447 50 MLR = false;
IKn0Ww 3:381aaa338447 51 MRL = true;
IKn0Ww 3:381aaa338447 52 MRR = false;
IKn0Ww 3:381aaa338447 53 MR = 0.8;
IKn0Ww 3:381aaa338447 54 ML = 0.5;
IKn0Ww 3:381aaa338447 55 wait (1); //Duur van de bocht. (AANPASSEN)
IKn0Ww 2:a12d19da681a 56 }
IKn0Ww 3:381aaa338447 57 if (f2 > 0); //Waarde sensor rechts voor. (AANPASSEN)
IKn0Ww 3:381aaa338447 58 {
IKn0Ww 3:381aaa338447 59 MLL = false;
IKn0Ww 3:381aaa338447 60 MLR = true;
IKn0Ww 3:381aaa338447 61 MRL = false;
IKn0Ww 3:381aaa338447 62 MRR = true;
IKn0Ww 3:381aaa338447 63 MR = 0.5;
IKn0Ww 3:381aaa338447 64 ML = 0.8;
IKn0Ww 3:381aaa338447 65 wait (1); //Duur van de bocht. (AANPASSEN)
IKn0Ww 3:381aaa338447 66 }
IKn0Ww 3:381aaa338447 67 if (f3 > 0); //Waarde sensor links achter. (AANPASSEN)
IKn0Ww 3:381aaa338447 68 {
IKn0Ww 3:381aaa338447 69 MLL = false;
IKn0Ww 3:381aaa338447 70 MLR = false;
IKn0Ww 3:381aaa338447 71 MRL = false;
IKn0Ww 3:381aaa338447 72 MRR = false;
IKn0Ww 3:381aaa338447 73 MR = 0.9;
IKn0Ww 3:381aaa338447 74 ML = 1;
IKn0Ww 3:381aaa338447 75 wait (0.5); //Duur van de bocht. (AANPASSEN)
IKn0Ww 3:381aaa338447 76 }
IKn0Ww 3:381aaa338447 77 if (f4 > 0); //Waarde sensor rechts achter. (AANPASSEN)
IKn0Ww 2:a12d19da681a 78 {
IKn0Ww 3:381aaa338447 79 MLL = true;
IKn0Ww 3:381aaa338447 80 MLR = false;
IKn0Ww 3:381aaa338447 81 MRL = false;
IKn0Ww 3:381aaa338447 82 MRR = true;
IKn0Ww 3:381aaa338447 83 MR = 1;
IKn0Ww 3:381aaa338447 84 ML = 0.9;
IKn0Ww 3:381aaa338447 85 wait (0.5); //Duur van de bocht. (AANPASSEN)
IKn0Ww 3:381aaa338447 86 }
IKn0Ww 3:381aaa338447 87 }
IKn0Ww 3:381aaa338447 88 while (K2) //Straight line stand.
IKn0Ww 3:381aaa338447 89 {
IKn0Ww 3:381aaa338447 90 LED = !LED;
IKn0Ww 3:381aaa338447 91 n += 1;
IKn0Ww 3:381aaa338447 92 if (n == 6)
IKn0Ww 3:381aaa338447 93 {
IKn0Ww 4:bd3bfbaa33bd 94 MLL = true;
IKn0Ww 4:bd3bfbaa33bd 95 MLR = false;
IKn0Ww 4:bd3bfbaa33bd 96 MRL = false;
IKn0Ww 3:381aaa338447 97 MRR = true;
IKn0Ww 3:381aaa338447 98 MR = 1.0;
IKn0Ww 3:381aaa338447 99 ML = 1.0;
IKn0Ww 3:381aaa338447 100 wait (0); //Tijd van het rijden. (AANPASSEN)
IKn0Ww 4:bd3bfbaa33bd 101 MLL = false;
IKn0Ww 3:381aaa338447 102 MLR = false;
IKn0Ww 4:bd3bfbaa33bd 103 MRL = false;
IKn0Ww 3:381aaa338447 104 MRR = false;
IKn0Ww 3:381aaa338447 105 MR = 0;
IKn0Ww 3:381aaa338447 106 ML = 0;
IKn0Ww 3:381aaa338447 107 }
IKn0Ww 3:381aaa338447 108 wait (0.5);
IKn0Ww 3:381aaa338447 109 }
IKn0Ww 3:381aaa338447 110 while (K3) //Service stand.
IKn0Ww 3:381aaa338447 111 {
IKn0Ww 3:381aaa338447 112 n = 0;
IKn0Ww 3:381aaa338447 113 LED = !LED;
IKn0Ww 3:381aaa338447 114 wait (2);
IKn0Ww 3:381aaa338447 115 LED = !LED;
IKn0Ww 3:381aaa338447 116 pc.printf("Waarde sensor links voor: %i $$$$$\n", f1); //verstuur de waarde van sensor links voor naar het consol
IKn0Ww 3:381aaa338447 117 pc.printf("Waarde sensor rechts voor: %i $$$$$\n", f2); //verstuur de waarde van sensor rechts voor naar het consol
IKn0Ww 3:381aaa338447 118 pc.printf("Waarde sensor links achter: %i $$$$$\n", f3); //verstuur de waarde van sensor links achter naar het consol
IKn0Ww 3:381aaa338447 119 pc.printf("Waarde sensor rechts achter: %i $$$$$\n", f4); //verstuur de waarde van sensor rechts achter naar het consol
IKn0Ww 2:a12d19da681a 120 wait (0.5);
IKn0Ww 3:381aaa338447 121
IKn0Ww 3:381aaa338447 122 }
IKn0Ww 1:685f9717028d 123 }