Putty-Ausgabe

Dependencies:   mbed

Revision:
0:fb3f7c677c18
Child:
1:fc836343f42b
diff -r 000000000000 -r fb3f7c677c18 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Apr 13 08:30:35 2017 +0000
@@ -0,0 +1,53 @@
+#include "mbed.h"
+#include "IRSensor.h"
+
+//E. Hess
+//Sensortest
+
+DigitalOut led(LED1);           //Zustands-LED: Grüne LED für Benutzer
+
+AnalogIn distance(PB_1);        //Input der Sensoren
+DigitalOut enableSensor(PC_1);  //Aktivierung der IRSensoren
+DigitalOut bit0(PH_1);          //Ansteuerung der Sensoren 0-5 mit 3 Bits
+DigitalOut bit1(PC_2);      
+DigitalOut bit2(PC_3);
+IRSensor sensors[6];            //Erstellt 6 IRSensor-Objekte als Array
+
+DigitalOut leds[] = { PC_8, PC_6, PB_12, PA_7, PC_0, PC_9 };    //LED-Outputs der Sensoren
+
+//Timer-Objekt für Distanzsensor
+Ticker t1;
+
+
+//Titel printf()
+void title() {
+    printf("\n  < ^  \t\t   ^   \t\t  ^ >  \t\t\t");
+    printf("  < _  \t\t   _   \t\t  _ >  \n\r");
+}
+
+
+int main() {
+    float sensorValue[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};    //Array der 6 Sensorenwerte
+
+    t1.attach(&title, 5);   //Betitelung der Sensorwerte alle 5 Sekunden
+
+    //Initialisiert Distanzsensoren
+    for( int i = 0; i < 6; i++) {
+        sensors[i].init(&distance, &bit0, &bit1, &bit2, i);
+    }
+    enableSensor = 1;   //Aktiviert die IRSensoren
+
+    while(1) {
+        for(int i = 0; i < 6; i++){     //Setzt alle Sensorwerte auf NULL
+            sensorValue[i] = 0.0f;
+        }
+        for(int i = 0; i < 10; i++){    //Addiert pro Sensor 10 Werte zusammen (zur Auskorrigierung von Fehlerwerten)
+            for(int i = 0; i < 6; i++){
+                sensorValue[i] += sensors[i].read();
+            }
+            wait( 0.01f );
+        }
+        printf("%f\t%f\t%f\t\t", sensorValue[5], sensorValue[0], sensorValue[1]);   //Plottet die oberen Sensoren
+        printf("%f\t%f\t%f\n\r", sensorValue[4], sensorValue[3], sensorValue[2]);   //Plottet die unteren Sensoren
+    }
+}