TeamSurface / Mbed 2 deprecated kueenste_rome2_p1

Dependencies:   mbed

Fork of ROME2_P1_Fertig by St Knz

Revision:
1:b87369992345
Parent:
0:17b906055a44
Child:
2:ff4efefe7a1f
--- a/main.cpp	Fri Feb 23 13:05:23 2018 +0000
+++ b/main.cpp	Fri Feb 23 14:07:21 2018 +0000
@@ -1,12 +1,123 @@
 #include "mbed.h"
+#include "IRSensor.h"
 
+// LEDs
 DigitalOut myled(LED1);
+DigitalOut led0(PC_8);
+DigitalOut led1(PC_6);
+DigitalOut led2(PB_12);
+DigitalOut led3(PA_7);
+DigitalOut led4(PC_0);
+DigitalOut led5(PC_9);
 
-int main() {
+// Distanzmesser
+AnalogIn distance(PB_1); // Kreieren der Ein- und Ausgangsobjekte
+DigitalOut enable(PC_1);
+DigitalOut bit0(PH_1);
+DigitalOut bit1(PC_2);
+DigitalOut bit2(PC_3);
+
+// Motoren
+DigitalOut enableMotorDriver(PB_2);
+DigitalIn motorDriverFault(PB_14);
+DigitalIn motorDriverWarning(PB_15);
+PwmOut pwmLeft(PA_8);
+PwmOut pwmRight(PA_9);
+
+float d = 0;
+
+IRSensor irSensor0(distance, bit0, bit1, bit2, 0); // Objekte kreieren
+IRSensor irSensor1(distance, bit0, bit1, bit2, 1);
+IRSensor irSensor2(distance, bit0, bit1, bit2, 2);
+IRSensor irSensor3(distance, bit0, bit1, bit2, 3);
+IRSensor irSensor4(distance, bit0, bit1, bit2, 4);
+IRSensor irSensor5(distance, bit0, bit1, bit2, 5);
+
+int main()
+{
+
+    enable = 1; // schaltet die Sensoren ein
+
+    /*
+    bit0 = 0; // Wahl des Sensors mit dem Multiplexer (Sensor vorne)
+    bit1 = 0;
+    bit2 = 0;
+    */
+
     while(1) {
+        /*
         myled = 1; // LED is ON
         wait(0.2); // 200 ms
         myled = 0; // LED is OFF
-        wait(1.0); // 1 sec
+        wait(0.2); // 1 sec
+
+        led1 = 1; // LED is ON
+        wait(0.2); // 200 ms
+        led1 = 0; // LED is OFF
+        wait(0.2); // 1 sec
+
+        led2 = 1; // LED is ON
+        wait(0.2); // 200 ms
+        led2 = 0; // LED is OFF
+        wait(0.2); // 1 sec
+
+        led3 = 1; // LED is ON
+        wait(0.2); // 200 ms
+        led3 = 0; // LED is OFF
+        wait(0.2); // 1 sec
+
+        led4 = 1; // LED is ON
+        wait(0.2); // 200 ms
+        led4 = 0; // LED is OFF
+        wait(0.2); // 1 sec
+
+        led5 = 1; // LED is ON
+        wait(0.2); // 200 ms
+        led5 = 0; // LED is OFF
+        wait(0.2); // 1 sec
+        */
+
+        /*wait(0.5);
+        d = -0.58f*sqrt(distance)+0.58f; // Lesen der Distanz in [m]
+        printf("Mein Wert: %f\n",d);
+        */
+
+
+        float distance0 = irSensor0.read(); // gibt die Distanz in [m] zurueck
+        float distance1 = irSensor1.read();
+        float distance2 = irSensor2.read();
+        float distance3 = irSensor3.read();
+        float distance4 = irSensor4.read();
+        float distance5 = irSensor5.read();
+        
+        led0 = 0;
+        led1 = 0;
+        led2 = 0;
+        led3 = 0;
+        led4 = 0;
+        led5 = 0;
+        
+        
+
+        if(distance0 < 0.2f) {
+            led0 = 1;
+        } 
+        if(distance1 < 0.2f) {
+            led1 = 1;
+        }
+        if(distance2 < 0.2f) {
+            led2 = 1;
+        }
+        if(distance3 < 0.2f) {
+            led3 = 1;
+        }
+        if(distance4 < 0.2f) {
+            led4 = 1;
+        }
+        if(distance5 < 0.2f) {
+            led5 = 1;
+        }
+        
+
     }
 }